从报表中的两个表中查询

时间:2023-04-28
本文介绍了从报表中的两个表中查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

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

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

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

推荐答案

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

In Crystal report wizard, locate your odbc created with username and password.

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

Then you will see a Command text, You can put your Query in there.

此代码用于 VB.NET

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

此代码适用于 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 be the same with in your Code Behind.

这篇关于从报表中的两个表中查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一篇:重写mysql select以减少时间并将tmp写入磁盘 下一篇:MySQL时区更改?

相关文章