Q&A

  • 질문]한번쯤은 답변을...레포트 master/detail문제..
헤헤 제목이 좀 거창하군요..(3개월 동안 제가 한 질문에 대한 답이 하나도 없습니다.ㅠㅠ)

레포트 폼에요 Tquery1 Tquery2가 있구요 datasource가 하나있습니다.

일단 제가 하고 싶은건

쿼리1에서 나온 결과(detail band)로 쿼리2의 조건절에 걸구 거기서 결과를 서브디테일에 뿌려 주려구 하거덩요..( 쿼리2의 DataSource는 쿼리1과 연결 되어 있구요)



퀴리1의 select문 select aa, bb, cc, dd from Table_name

필드명 aa bb cc dd

query1(detail band) 가 나 다 라

쿼리2의 select 문 select ee, ff, gg from Table_name2 where ee = aa and ff= bb

필드명 ee ff gg

query2(subdetail band) 마 바 사

근데 문제는 어느 시점에 쿼리를 먹어서 결과를 가져오냐 같아서...레포트 폼을 생성시키면서 query1의 쿼리문을 입력했고 quickrep1.preview도 마지막에 넣구요

query2는 쿼리문을 컴포넌트에 박았습니다..

왜냐면 쿼리1에서 나온 160개의 레코드를 가지구 쿼리1결과 하나당 쿼리2에서 하나의 결과를 가져오는거니까 이렇게 했슴다..(조인을 써서는 안되걸랑요..)

그랬더니 데이타가 나오긴 나오는데 160건 정도가 나오는데 미리보기 폼 밑에 %로 올라가는게 100%를 채우지 못하고 중단됩니다. 프린터도 한장만 나오구 말구요...

연결은 대림출판사에서 나온 소스보구 그대로 한거라 문제가 없는거 같은데...뭐가 문제인지 모르겠습니다...Inc함수를 써서 Detailband의 beforeprint afterprint 그리구 subdetail band 의 beforeprint afterprint 에 값을 넣어서 증가 시켜 봤더니 160개의 레코드중 120정도가 되면 detailband에만 데이타가 들어가다 죽는것을 발견했거덩요...

근데 이유를 모르겠습니다...

제발 도와 주세용....3개월동안 질문 한 6개 정도 했는데 답변이 하나두 없었어용...이것만은 제발용...



1  COMMENTS
  • Profile
    TopTree 2001.05.18 20:39
    님께서 말씀하신 것을 제가 제대로 이해했는지 모르겠으나,



    Detail Band - Query1

    SubDetail Band - Query2 의 개념이고,

    Query1의 인수가 Query2의 Key가 되고있는 것 같습니다.

    그런데, 실행중에 죽는다고 하신 것이 무한Loop를 말씀하신 건지, 아님 오류를

    말씀하시는지 잘 모르겠네요. (^.^)



    일단, 제 생각에는

    1. DataSource의 연결 상태를 확인해보시구요.

    없어도 가능할 것 같습니다.

    2. Query2의 Open 시점을 확인하셔야 될 것 같습니다.

    가령 DetailBand의 AfterPrint에서 실행하시거나...

    3. SubDetail의 연결 상태도 확인하셔야 하고요.

    QuickRep의 연결상태등...

    4. Query2의 자료가 없을때 처리방법은 어떤신지도 알고 싶구요.

    무한Loop발생을 유발하는지..

    5. 마지막으로 'Join'은 사용하면 아니되는 이유는 뭔지?



    제가 이해 한것에 대한 개괄적인 방법을 적어보았습니다.

    혹시, 도움이 되셨으면 좋겠습니다.





    왕델초 wrote:

    > 헤헤 제목이 좀 거창하군요..(3개월 동안 제가 한 질문에 대한 답이 하나도 없습니다.ㅠㅠ)

    > 레포트 폼에요 Tquery1 Tquery2가 있구요 datasource가 하나있습니다.

    > 일단 제가 하고 싶은건

    > 쿼리1에서 나온 결과(detail band)로 쿼리2의 조건절에 걸구 거기서 결과를 서브디테일에 뿌려 주려구 하거덩요..( 쿼리2의 DataSource는 쿼리1과 연결 되어 있구요)

    >

    > 퀴리1의 select문 select aa, bb, cc, dd from Table_name

    > 필드명 aa bb cc dd

    > query1(detail band) 가 나 다 라

    > 쿼리2의 select 문 select ee, ff, gg from Table_name2 where ee = aa and ff= bb

    > 필드명 ee ff gg

    > query2(subdetail band) 마 바 사

    > 근데 문제는 어느 시점에 쿼리를 먹어서 결과를 가져오냐 같아서...레포트 폼을 생성시키면서 query1의 쿼리문을 입력했고 quickrep1.preview도 마지막에 넣구요

    > query2는 쿼리문을 컴포넌트에 박았습니다..

    > 왜냐면 쿼리1에서 나온 160개의 레코드를 가지구 쿼리1결과 하나당 쿼리2에서 하나의 결과를 가져오는거니까 이렇게 했슴다..(조인을 써서는 안되걸랑요..)

    > 그랬더니 데이타가 나오긴 나오는데 160건 정도가 나오는데 미리보기 폼 밑에 %로 올라가는게 100%를 채우지 못하고 중단됩니다. 프린터도 한장만 나오구 말구요...

    > 연결은 대림출판사에서 나온 소스보구 그대로 한거라 문제가 없는거 같은데...뭐가 문제인지 모르겠습니다...Inc함수를 써서 Detailband의 beforeprint afterprint 그리구 subdetail band 의 beforeprint afterprint 에 값을 넣어서 증가 시켜 봤더니 160개의 레코드중 120정도가 되면 detailband에만 데이타가 들어가다 죽는것을 발견했거덩요...

    > 근데 이유를 모르겠습니다...

    > 제발 도와 주세용....3개월동안 질문 한 6개 정도 했는데 답변이 하나두 없었어용...이것만은 제발용...

    >