Menyiasat Berbilang Jadual untuk Laporan Kristal
Artikel ini menangani soalan biasa yang dihadapi semasa menjana laporan menggunakan ODBC dan Crystal Reports dalam Visual Basic. Soalan ini meminta bantuan dalam memasukkan pertanyaan SQL yang menggabungkan beberapa jadual ke dalam laporan.
Meletakkan Pertanyaan
Untuk memasukkan pertanyaan yang disediakan ke dalam Crystal Report anda, navigasi ke Wizard Laporan dan cari sambungan ODBC yang anda wujudkan dengan nama pengguna dan kata laluan. Dalam wizard, anda akan menemui medan berlabel "Teks Perintah." Di sinilah anda boleh memasukkan pertanyaan SQL anda.
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 & "'
Kod Contoh untuk Rujukan
Di bawah ialah contoh kod untuk membimbing anda memasukkan pertanyaan anda ke dalam laporan:
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();
Pertimbangan
Pastikan bahawa nama parameter dalam Crystal Report anda sepadan dengan yang dinyatakan dalam pangkalan kod anda. Dengan melaksanakan arahan ini, anda boleh dengan mudah mendapatkan data daripada berbilang jadual dan menjana laporan komprehensif menggunakan Crystal Reports dalam aplikasi VB anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyoal Berbilang Jadual untuk Laporan Kristal Saya Menggunakan VB dan ODBC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!