Query from two tables in the report

My VB application prints the report through ODBC. I added tables using a database expert and designed Crystal Report. Where can I put my request? here is my request

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

+4
source share
1 answer

In the Crystal Report wizard, find your odbc created with a username and password.

Then you will see the text of the command, you can place your request there.

This code is for 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

This code is for 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();

Your Crystal report parameter name must match your code.

+2
source

Source: https://habr.com/ru/post/1667562/


All Articles