数据库
首页 > 数据库> > mysql – 从报表中的两个表中查询

mysql – 从报表中的两个表中查询

作者:互联网

我的VB应用程序通过ODBC打印报告.我使用数据库专家添加了表格并设计了Crystal Report.我在哪里查询?
这是我的查询

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 & "'

enter image description here

解决方法:

在Crystal报表向导中,找到使用用户名和密码创建的odbc.

然后你会看到一个Command文本,你可以把你的查询放在那里.

这个代码适用于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报表参数名称必须与Code Behind中的相同.

标签:mysql,vb-net,crystal-reports
来源: https://codeday.me/bug/20190701/1351358.html