보고서의 복잡한 데이터 검색을 위한 쿼리 만들기
VB 응용 프로그램은 ODBC를 사용하여 보고서를 인쇄합니다. 데이터베이스 전문가를 통해 테이블을 추가하고 Crystal Report를 디자인합니다. 보고서의 특정 데이터를 검색하기 위해 사용자 정의 쿼리를 어디에 배치해야 하는지에 대한 의문이 생깁니다.
Crystal Report에서 쿼리 필드 찾기
Crystal Report 마법사로 이동하여 사용자 이름과 비밀번호로 생성한 ODBC 연결을 찾으세요. 사용자 정의 쿼리를 입력할 수 있는 "명령 텍스트" 필드가 표시됩니다.
샘플 쿼리
제공된 쿼리는 여러 테이블에서 데이터를 검색합니다.
SELECT ts.`SCHEDIDNO`, ts.`DAYNAME`, DATE_FORMAT(ts.`TIMESTART`, '%h:%i %p') as TIMESTART, DATE_FORMAT(ts.`TIMEEND`, '%h:%i %p') as TIMEEND, ts.`GRADELEVEL`, ts.`SECTIONNAME`, ts.`SUBJECTNAME`, ts.`FACFULLNAME`, ts.`ROOMNAME`, tf.`FACFULLNAME` as PERSONNEL, tf.`DEPARTMENT`, tse.`Adviser` FROM `tblschedule` ts, `tblfaculty` tf, `tblsection` tse WHERE ts.`GRADELEVEL` = " & lblgrade.Text & " AND ts.`SECTIONNAME` = '" & lblsect.Text & "' AND ts.`DEPARTMENTNAME` = tf.`DEPARTMENT` AND tf.`ADMINISTRATOR` = 1 AND tse.`SECTIONNAME` = '" & lblsect.Text & "'
VB.NET 코드
Private CRPT As New ReportDocument Private APPPATH As String Private PARAM As New ParameterFields Public PARAM_DESC As New ParameterDiscreteValue Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load APPPATH = Application.StartupPath & "\REPORT\sample.rpt" CRPT.Load(APPPATH) Me.CrystalReportViewer1.ReportSource = CRPT PARAM = CRPT.ParameterFields PARAM_DESC.Value = Format(DatePicker1.Value, "yyyyMMdd") PARAM("DATEP").CurrentValues.Clear() PARAM("DATEP").CurrentValues.Add(PARAM_DESC) Me.CrystalReportViewer1.Refresh() End Sub
C# 코드
CRPT = new ReportDocument(); APPPATH = Environment.CurrentDirectory + "Sample.rpt"; CRPT.Load(APPPATH); Report_Viewer.Refresh(); CRPT.SetParameterValue("syear", Servercls.year); CRPT.SetParameterValue("smonth", Servercls.month); CRPT.SetParameterValue("sday", Servercls.day); CRPT.SetParameterValue("datevalue", Servercls.Datevalue); Report_Viewer.ReportSource = CRPT; sc.configureCrystalReport(); Report_Viewer.Refresh();
Crystal Report 디자인에서와 동일한 매개 변수 이름을 코드에 지정해야 합니다.
위 내용은 VB.NET 및 C#을 사용하여 Crystal Reports에서 복잡한 데이터 검색을 위한 사용자 정의 쿼리를 만들고 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!