我有这样的疑问:
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
当我使用一个客户生成报告时,没关系。问题在于同一报告中有2个或更多客户。
我做什么?
我创建了1个数据集,其中包含2个表(每个查询1个),通过idCustomer链接它们。我使用这个数据集创建一个报告,第一个表(标题)工作正常,它打印我的四个测试客户。
然后我添加一个SubReport。
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
是否有指南或链接,我可以学习如何包含此子报告以便(或者如果有另一种方法可以实现此目的?)
Customer: Phil Address: Fake Av. 1234
Order:
PROD01 10
PROD02 20
Total 30
Customer: John Address: Fake Av. 4321
Order:
PROD01 10
Total 10
我正在使用VS 2010(VB),SQL Server 2008 R2,Crystal Report 2010
谢谢!
答案 0 :(得分:0)
你的设计完全错了。首先,你需要在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
并添加set this proc作为报告的数据源。 然后,您必须在报告中对字段CustomerId进行分组。之后,您需要将客户详细信息放在组标题部分中,并在详细信息部分中放置订单详细信息。并且还要获得您必须使用水晶报告中的摘要字段的总值