Visual studio 2010 水晶报表子报表
我有以下疑问:Visual studio 2010 水晶报表子报表,visual-studio-2010,report,subreport,Visual Studio 2010,Report,Subreport,我有以下疑问: select idCustumer, Name, Address from Customer 这给了我报告的标题,还有这个: select idCustomer, Description, Sum(Total) as Total from Product group by Description 第一个查询运行: idCustomer Name Address 1 Phil Fake Av. 1234 2
select idCustumer, Name, Address from Customer
这给了我报告的标题,还有这个:
select idCustomer, Description, Sum(Total) as Total from Product group by Description
第一个查询运行:
idCustomer Name Address
1 Phil Fake Av. 1234
2 John Fake Av. 4321
第二点:
idCustomer Description Sum(Total)
1 PROD01 10
1 PROD02 20
2 PROD01 30
当我使用“使用一个客户生成报告”时,一切正常。问题在于同一报告中有两个或多个客户
我做什么
我创建了一个数据集,其中包含两个表(每个查询一个),通过idCustomer链接它们。我使用这个数据集创建了一个报告,第一个表(标题)运行良好,它打印了我的四个测试客户
然后我添加一个子报告
rpt.Subreports(0).SetDataSource(subReportes.Tables(1)) 'Tables(1) is 2nd Query
但这会一次又一次地打印相同的信息
我的报告:
Customer: Phil Address: Fake Av. 1234
Order:
PROD01 10
PROD02 20
PROD01 30
Total 60
Customer: John Address: Fake Av. 4321
Order:
PROD01 10
PROD02 20
PROD01 30
Total 60
是否有一个指南或链接,我可以学习如何包含此子报告,以便获得(或者是否有其他方法可以实现此目的?)
我使用的是VS2010(VB),SQLServer2008R2,CrystalReport2010
谢谢 你的设计完全错了。首先,您需要像这样在TSQL中编写一个过程
SELECT C.idCustomer CustomerId, C.Name Name, C.Address Address, P.Description Description, P.Total Total
FROM CUSTOMER C
INNER JOIN PRODUCT P
ON C.idCustumer = P.idCustomer
并将此过程设置为报表的数据源。
然后,您必须对报告中的字段CustomerId进行分组。之后,您需要将客户详细信息放在“组标题”部分,将订单详细信息放在“详细信息”部分。此外,要获得的总价值,您必须使用crystal reports中的summary字段
SELECT C.idCustomer CustomerId, C.Name Name, C.Address Address, P.Description Description, P.Total Total
FROM CUSTOMER C
INNER JOIN PRODUCT P
ON C.idCustumer = P.idCustomer