Q&A

  • 퀵레포트 출력


QuickReport 가르쳐 주세요

급합니다.



A DB

  cs_code cs_edi cs_name cs_danga1

1 0 0 A 0

2 1 AA200 B 3300

3 10 AB400100 C 7200

4 11 AB400200 D 8280

5 12 AB400 E 12800

6 13 AB400800 F 11436

7 14 AB400900 G 10754

8 15 AB400004 H 16210

9 16 AB400804 I 14164

10 17 AB400904 J 13141

11 18 AL400 K 414

12 19 AL401 L 426

13 2 AL401100 M 213

14 20 AA200010 N 4100

15 21 AL401200 O 213

16 38 J1010 P 173

17 5 21003002 Q 688





B DB

  yo_code yo_self yo_qty yo_nal

1 AA01 10 1 1

2 AA01 17 1 1

3 AA01 38 1 1

4 AA01 5 1 2

5 AA02 11 1 1

6 AA02 2 1 1

7 AA02 5013 1 1

8 AA03 10 1 2

9 AA03 18 1 1

10 AA03 40010210 1 3









A와 B를 조인한 결과 (데이터 생략) -> Query2의 결과가 됨

  yo_code yo_self cs_name cs_danga1 yo_qty yonal

1 AA01 10          

2 AA01 17          

3 AA01 38          

4 AA01 40010040          

5 AA02 11          

6 AA02 20

7 AA03 30





Query1 에서는 A와 B를 조인한 결과중 yo_code를 분류하여

AA01과 AA02로 만들면서 각각의

카운터를 얻어 다음과 같은 결과를 가짐



yo_code count(*)

1 AA01 4

2 AA02 3

3 AA03 5



Query1 과 Query2를 이용하여

Query1의 yo_code를 출력하고(AA01)

Query2에서 그 해당 카운터수만큼(4개)를 차례로 출력하고

다시 Query1의 yo_code를 출력하고(AA02)

Query2에서 그 해당 카운터수만큼(43)를 차례로 출력하는

식으로 하고 싶은데 생각처럼 되지 않습니다.

고수님들의 도움 바랍니다.





출력형태



YO_CODE <- Query1에서의 yo_code

YO_SELF CS_NAME CS_DANGA1 … <- Query2에서의 조인된 내용중

YO_SELF CS_NAME … <- Query2에서의 조인된 내용중 YO_SELF CS_NAME <- Query2에서의 조인된 내용중



YO_CODE <- Query1에서의 yo_code

YO_SELF CS_NAME CS_DANGA1 … <- Query2에서의 조인된 내용중

YO_SELF CS_NAME … <- Query2에서의 조인된 내용중

YO_SELF CS_NAME <- Query2에서의 조인된 내용중



위 형태에 대한 결과는 이렇게 나와야 합니다.

ex) aa01

10 ... ... ... ...

17 ... ... ... ...

38 ... ... ... ...

40010040 ... ... ... ...

aa02 11 ... ... ... ...

20 ... ... ... ...

30 ... ... ... ...





꼭 부탁드립니다.



3  COMMENTS
  • Profile
    유레카 2000.04.08 18:55
    TQuery보다 마스터-디테일을 사용할 수 있는 TTable을 사용해보세요..

    A DB를 마스터 테이블로 B DB를 디테일 테이블로 사용해서요..

    물론 TTabl에서 마스터 테이블과 마스터 필드를 설정해 주시고 퀵레포트의 밴드타입을 A DB는 디테일, B DB의 내용은 서브 디테일로 하시구요..

    그럼 즐거운 프로그래밍하세요..



    김명찬 wrote:

    >

    > QuickReport 가르쳐 주세요

    > 급합니다.

    >

    > A DB

    >   cs_code cs_edi cs_name cs_danga1

    > 1 0 0 A 0

    > 2 1 AA200 B 3300

    > 3 10 AB400100 C 7200

    > 4 11 AB400200 D 8280

    > 5 12 AB400 E 12800

    > 6 13 AB400800 F 11436

    > 7 14 AB400900 G 10754

    > 8 15 AB400004 H 16210

    > 9 16 AB400804 I 14164

    > 10 17 AB400904 J 13141

    > 11 18 AL400 K 414

    > 12 19 AL401 L 426

    > 13 2 AL401100 M 213

    > 14 20 AA200010 N 4100

    > 15 21 AL401200 O 213

    > 16 38 J1010 P 173

    > 17 5 21003002 Q 688

    >

    >

    > B DB

    >   yo_code yo_self yo_qty yo_nal

    > 1 AA01 10 1 1

    > 2 AA01 17 1 1

    > 3 AA01 38 1 1

    > 4 AA01 5 1 2

    > 5 AA02 11 1 1

    > 6 AA02 2 1 1

    > 7 AA02 5013 1 1

    > 8 AA03 10 1 2

    > 9 AA03 18 1 1

    > 10 AA03 40010210 1 3

    >

    >

    >

    >

    > A와 B를 조인한 결과 (데이터 생략) -> Query2의 결과가 됨

    >   yo_code yo_self cs_name cs_danga1 yo_qty yonal

    > 1 AA01 10          

    > 2 AA01 17          

    > 3 AA01 38          

    > 4 AA01 40010040          

    > 5 AA02 11          

    > 6 AA02 20

    > 7 AA03 30

    >

    >

    > Query1 에서는 A와 B를 조인한 결과중 yo_code를 분류하여

    > AA01과 AA02로 만들면서 각각의

    > 카운터를 얻어 다음과 같은 결과를 가짐

    >

    > yo_code count(*)

    > 1 AA01 4

    > 2 AA02 3

    > 3 AA03 5

    >

    > Query1 과 Query2를 이용하여

    > Query1의 yo_code를 출력하고(AA01)

    > Query2에서 그 해당 카운터수만큼(4개)를 차례로 출력하고

    > 다시 Query1의 yo_code를 출력하고(AA02)

    > Query2에서 그 해당 카운터수만큼(43)를 차례로 출력하는

    > 식으로 하고 싶은데 생각처럼 되지 않습니다.

    > 고수님들의 도움 바랍니다.

    >

    >

    > 출력형태

    >

    > YO_CODE <- Query1에서의 yo_code

    > YO_SELF CS_NAME CS_DANGA1 … <- Query2에서의 조인된 내용중

    > YO_SELF CS_NAME … <- Query2에서의 조인된 내용중 YO_SELF CS_NAME <- Query2에서의 조인된 내용중

    >

    > YO_CODE <- Query1에서의 yo_code

    > YO_SELF CS_NAME CS_DANGA1 … <- Query2에서의 조인된 내용중

    > YO_SELF CS_NAME … <- Query2에서의 조인된 내용중

    > YO_SELF CS_NAME <- Query2에서의 조인된 내용중

    >

    > 위 형태에 대한 결과는 이렇게 나와야 합니다.

    > ex) aa01

    > 10 ... ... ... ...

    > 17 ... ... ... ...

    > 38 ... ... ... ...

    > 40010040 ... ... ... ...

    > aa02 11 ... ... ... ...

    > 20 ... ... ... ...

    > 30 ... ... ... ...

    >

    >

    > 꼭 부탁드립니다.

    >

  • Profile
    김명찬 2000.04.10 21:07
    답변 감사합니다.

    그러나 쿼리로도 할 수 있는지에 더 관심이 있습니다.



    DB 두개중 실제로 하나만을 거의 다 사용합니다.

    그러니까 하나의 DB를 하나는 마스터로 다른 하나는 조인을 해서 디테일로

    사용하고 싶은 것입니다.



    고생스럽더라고 하시면 답변 부탁드립니다.

    감사합니다.







    유레카 wrote:

    > TQuery보다 마스터-디테일을 사용할 수 있는 TTable을 사용해보세요..

    > A DB를 마스터 테이블로 B DB를 디테일 테이블로 사용해서요..

    > 물론 TTabl에서 마스터 테이블과 마스터 필드를 설정해 주시고 퀵레포트의 밴드타입을 A DB는 디테일, B DB의 내용은 서브 디테일로 하시구요..

    > 그럼 즐거운 프로그래밍하세요..



  • Profile
    유레카 2000.04.11 02:55
    답변이 늦었습니다..



    물론 퀴리로도 가능합니다..



    QuickRep1.DataSet := '마스터로 사용할 쿼리'



    Bands Type := rbDetail;

    Linke Bands := 'sub Detail 명';

    sub Detail 밴드 의 마스터 ==> QuickRep1



    sub Detail밴드의 QrDBText에 DataSet과 DataField는 디테일로 사용할 퀴리로 해주심될 것 같은데요..

    도움이 되실길 바랍니다..





    김명찬 wrote:

    > 답변 감사합니다.

    > 그러나 쿼리로도 할 수 있는지에 더 관심이 있습니다.

    >

    > DB 두개중 실제로 하나만을 거의 다 사용합니다.

    > 그러니까 하나의 DB를 하나는 마스터로 다른 하나는 조인을 해서 디테일로

    > 사용하고 싶은 것입니다.

    >

    > 고생스럽더라고 하시면 답변 부탁드립니다.

    > 감사합니다.

    >

    >

    >

    > 유레카 wrote:

    > > TQuery보다 마스터-디테일을 사용할 수 있는 TTable을 사용해보세요..

    > > A DB를 마스터 테이블로 B DB를 디테일 테이블로 사용해서요..

    > > 물론 TTabl에서 마스터 테이블과 마스터 필드를 설정해 주시고 퀵레포트의 밴드타입을 A DB는 디테일, B DB의 내용은 서브 디테일로 하시구요..

    > > 그럼 즐거운 프로그래밍하세요..

    >