我必须构建一个自定义报告,该报告采用报告上客户的姓名、地址和用户名的每个订单的订单线。
当我进行如下简单查询时:
SELECT FilteredSalesOrder.*, FilteredAccount.*
FROM FilteredSalesOrder INNER JOIN FilteredAccount
ON FilteredSalesOrder.customerid = FilteredAccount.accountid
我检索数据,但只检索一行。当有更多时,预览不显示任何内容。这不是什么大问题,因为我一次只需要 1 个订单。
因此,对于我的 OrderReport,我需要每个订单的所有 OrderLines。该报告是按订单打印的,而不是同时为多个订单打印的。它看起来像这样:
我刚刚在订单报告中加入了 5 个需要数据的表。
SELECT FilteredSalesOrder.*, FilteredAccount.*, FilteredSalesOrderDetail.*, FilteredSystemUser.*, FilteredProduct.*
FROM ((((FilteredSalesOrder INNER JOIN FilteredAccount
ON FilteredSalesOrder.customerid = FilteredAccount.accountid) INNER JOIN FilteredSalesOrderDetail
ON FilteredSalesOrderDetail.salesorderid = FilteredSalesOrder.salesorderid) INNER JOIN FilteredProduct
ON FilteredProduct.productid = FilteredSalesOrderDetail.productid) INNER JOIN FilteredSystemUser
ON FilteredSystemUser.systemuserid = FilteredSalesOrder.ownerid)
所以总结一下:
- 我的 SQL 查询是否正确?
- 当我上传一个简单的报告时,它给了我错误 rsInvalidDataSourceReference。我知道这个问题意味着什么,但我需要做些什么来解决它。
- 我如何确保在报告中,订单行表根据需要不断增长以包含所有订单行?