Q&A

  • QReport 에서 subdetail 사용하기...
델퐈이 초본데요 QReport 를 사용하다가 subdetail 까지 쓰게 되었는데

잘 안되네요.

QRBand 와 QRGroup 인가?.. 그걸 헤더와 Footer 로 연결시키고 그 사이에 subdetail

를 넣는 형식입니다.



제 말은 즉...

-----------------------------------------------------------

서울영업부

-----------------------------------------------------------

홍길동

아무개



-----------------------------------------------------------

광주영업부

-----------------------------------------------------------

호호호

하하하

히히히

......





이런 식입니다. 영업부별로 사원명을 출력해야 하는 것입니다.

혹시 아시는 분은 저에게 도움을 주세용.. 플리즈..



1  COMMENTS
  • Profile
    이재식 1999.11.12 02:08
    혀니 wrote:

    > 델퐈이 초본데요 QReport 를 사용하다가 subdetail 까지 쓰게 되었는데

    > 잘 안되네요.

    > QRBand 와 QRGroup 인가?.. 그걸 헤더와 Footer 로 연결시키고 그 사이에 subdetail

    > 를 넣는 형식입니다.

    >

    > 제 말은 즉...

    > -----------------------------------------------------------

    > 서울영업부

    > -----------------------------------------------------------

    > 홍길동

    > 아무개

    >

    > -----------------------------------------------------------

    > 광주영업부

    > -----------------------------------------------------------

    > 호호호

    > 하하하

    > 히히히

    > ......

    >

    >

    > 이런 식입니다. 영업부별로 사원명을 출력해야 하는 것입니다.

    > 혹시 아시는 분은 저에게 도움을 주세용.. 플리즈..

    >



    이재식 Wrote :

    안녕하십니까?



    이 문제는 서브 디테일을 쓸 필요가 없습니다.



    먼저 필요한 밴드를 퀵레포트에 올려놓으세요.

    우선 제가 간단히 예를 들어 설명을 하자면 이렇습니다.

    퀵레포트의 BandType에보면 columnHeader를 true,

    DetailBand를 true로 하시고요,



    쿼리 컴포넌트가 있을 것입니다.

    쿼리를 던졌겠죠.

    여기서, group by를 하지 마세요.

    그냥 select 필드명들..

    from 테이블명

    where 조건들

    order by 필드명. // 반드시 필요

    이렇게만 하세요.



    다시 퀵레포트로 돌아가서,

    거기에보면 QRGroup밴드가 있습니다.

    이것을 퀵레포트에 올려놓습니다.

    여기서 중요한것을 이것을 퀵레포트에 올려놓을때

    어떤 특정 밴드를 선택한 상태에서 올려놓지 마세요.

    즉, 퀵레포트를 선택한 상태에서 QRGroup를 더블클릭하시면 됩니다.

    왜 이렇게 해야 되냐고요?

    사실 하나의 QRGroup만 쓴다면 상관이 없습니다만,

    나중에 여러개를 쓸 경우에는 이러저런 이유로, 전혀 엉뚱한 위치에

    자리를 잡습니다.

    우선은 지금은 QRGroup는 하나만 있으면 됩니다.

    그럼, 퀵레포트에 이렇게 생겼을 것입니다.

    columnHeader,

    Group Band

    Detail Band

    맞습니까?



    여기서, 퀵레포트의 DataSet속성에서 해당 쿼리 컴포넌트를 세팅시킵니다.

    여기서 또 중요한것을 가급적이면(사실 절대적으로)

    쿼리 컴포넌트는 퀵레포트가 그려지는 폼에 있는 것이 좋습니다.

    이것이 다른 폼에 있으면 GroupBand의 expression속성에서 필드가

    보이질 않습니다. 여간 불편한것이 아니죠.



    그리니, 해당 쿼리 컴포넌트는 가급적 퀵레포트가 있는 폼에

    올려놓으세요.

    각설하고.



    GroupBand의 속성에보면 Expression속성이 있습니다.

    안으로 들어가면 DataSet버튼이 있습니다.

    거기서 그룹으로 하고 싶은 필드를 선택하시고 ok를 누르시고

    나오시면 됩니다.

    그럼, 위와 같은 형식의 레포트 형식이 나올 것입니다.

    대충 보니까 영업부 코드를 선택하시면 될 것입니다.



    물론 위에서도 언급했듯이 쿼리에서 order by에 반드시 영업부 코드를

    명시해야 됩니다.



    그리고, 참고사항입니다만,

    퀵레포트에서 BandType에서 지원해주는 밴드를 쓰시되,

    없으면 QRBand를 이용하시는것이 좋습니다.



    BandType에서 지원해주는 밴드가 있는데 그것을 안쓰고

    나름대로 QRBand를 쓰는것은

    차후 버그를 일으킬 수 있는 소지가 있습니다.



    그리고, 델파이 4을 쓰신다면 반드시 퀵레포트 패치 프로그램을

    쓰셔야 합니다.



    델파이 4에 있는 3.x 버전 퀵레포트는 버그가 많습니다.

    4GL이론에서 이야기하는 레포트형식의 포맷을 갖추고는 있지만,

    아직 제대로 지원을 못해주고 있는 실정입니다.



    그럼...