查詢Crystal Reports 的多個表格
本文解決了在Visual Basic 中使用ODBC 和Crystal Reports 產生報表時遇到的常見問題。此問題尋求將連接多個資料表的 SQL 查詢合併到報表中的協助。
放置查詢
要將提供的查詢合併到 Crystal Report 中,請導覽至報告精靈並找到您使用使用者名稱和密碼建立的 ODBC 連線。在精靈中,您將找到一個標有「命令文字」的欄位。您可以在此輸入 SQL 查詢。
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 應用程式中使用 Crystal Reports 產生綜合報告。以上是如何使用 VB 和 ODBC 查詢 Crystal Reports 的多個表格?的詳細內容。更多資訊請關注PHP中文網其他相關文章!