2012-07-28 7 views
0

나는이 질문이크리스탈 보고서 하위 보고서

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로 연결하는 2 개의 테이블 (쿼리 당 1 개)을 사용하여 1 개의 데이터 세트를 만듭니다. 이 데이터 세트를 사용하여 보고서를 만들면 첫 번째 테이블 (헤더)이 제대로 작동하고 네 명의 테스트 고객이 인쇄됩니다.

그러면 하위 보고서를 추가합니다.

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

디자인이 완전히 잘못되었습니다. 먼저 다음과 같이 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 필드에 대해 그룹화를 수행해야합니다. 그런 다음 고객 세부 정보를 그룹 머리글 섹션에 배치하고 세부 정보는 세부 정보 섹션에 배치해야합니다. 또한 총계를 얻으려면 크리스탈 보고서의 요약 필드를 사용해야합니다.

+0

나는 이것을 받아들이는 것을 완전히 잊었습니다. 죄송합니다. 감사합니다. – Jaxedin