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