如果只有一个记录集,那么调用是用下面的方法:
Dim cryapp As New CRAXDDRT.Application
Dim Report As CRAXDDRT.Report
Set Report = cryapp.OpenReport(App.Path & "\DH_Report.rpt")
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
SQL = "select * from T_Detail where Detail_dh = '" & text1.text & "'"
Set rs = ExecuteSQL(SQL, MsgText)
Report.Database.SetDataSource rs
Screen.MousePointer = vbHourglass
CRViewer91.ReportSource = Report
CRViewer91.ViewReport
Screen.MousePointer = vbDefault但现在我的报表文件DH_Report.rpt里有两个记录集,这需要怎么样给这两个记录集传送数据呢?
如果象上面一样只传送一个记录集过去一运行程序就关闭掉了.DH_Report.rpt里面的内容如下:
一.单号的资料:包括单号,日期,供应商,总数量.(对就表为T_Order)
二.单号包含的产品详细资料:包括产品编号,描述,数量.(对应的表为T_Detail,表中有一项单号的字段不显示,这个单号字段与上面的单号资料中的单号形成一对多关系.)报表头上显示的内容是单号的资料,细节中显示的是该单号包含的产品详细资料(有好几项),这里有两个记录集,我该如何去给这两个记录集传送数据?报表头上显示内容的SQL应该是:"select * from T_Order where 单号 = '" & text1.text & "'"
细节部分显示资料的SQL应该是:"select * from T_Detail where 单号 = '" & text1.text & "'"