我必须使用以下表格:tbl_products
和tbl_services
。
用户将从给定的列表中选择产品和服务。
选择“产品和服务”后,该列表将保存到tbl_products
和`tbl_services中,并将在水晶报表中列出。
这是我用来填充水晶报表中子报表的代码。
Dim ds As New DataSet
Dim sql As String
con.Open()
sql = "Select A.ProductName,A.Description,A.Model,A.Quantity,A.UnitPrice,A.TotalPrice,B.Services,B.Price from tbl_products as A, tbl_services as B where A.ID = '" & lblid.text & "' and B.ID = '" & lblid.text & "'"
Dim dscmd As New OdbcDataAdapter(sql, con)
dscmd.Fill(ds, "tbl_transac")
dscmd.Fill(ds, "tbl_servicestransac")
Dim objRpt As New CrystalReport1
objRpt.SetDataSource(ds.Tables("tbl_products"))
objRpt.SetDataSource(ds.Tables("tbl_services"))
CrystalReportViewer1.ReportSource = objRpt
CrystalReportViewer1.Refresh()
con.Close()
具有产品的subreport1满足条件,并且只能显示2个我选择的产品,但是具有服务表的第二个子报告显示了我的tbl_services
中的所有行。
下图是我的报告的外观。感谢您的帮助。