Crystal Report子报告

时间:2012-07-28 14:16:57

标签: 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        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

谢谢!

1 个答案:

答案 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进行分组。之后,您需要将客户详细信息放在组标题部分中,并在详细信息部分中放置订单详细信息。并且还要获得您必须使用水晶报告中的摘要字段的总值

相关问题