我的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 & "'
在Crystal Report向导中,找到使用用户名和密码创建的odbc。
然后,您将看到一个命令文本,您可以在其中放置查询。
此代码为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参数名称必须与“隐藏代码”中的相同。来源:stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。