Q&A

  • Quick Report의 QRGroup 의 Expression 에서..
퀵레포트를 사용하는데요..

QRGroup 의 Expression 부분을 그냥 프로퍼티에 적어넣는것이 아니라

조건에 따라서 달리 들어가기때문에 코딩상에서 적어넣어야 하는데

그게 안되네요...

특별한 에러는 안나는데 원하는 결과가 안나와서 showmessage로 보니까

아무값도 안찍혀 나오더라구요..



If RadioButton2.Checked then begin

Form2.QRGroup1.Expression := Form2.Query1DNAME.Value;

showmessage(Form2.Query1DNAME.Value);

............



코드는 대충 위와 같구요... Form2 상에 퀵레포트가 있고 쿼리도 있어요.

select 한 쿼리상에서 DNAME 이라는 것의 값을 Expression 에 넣어야 합니다.

아.. 그리고 이것을 코딩상에서 하지 않고 그냥 expression 상에서 입력을 하면은

값이 나오긴 나오는데 카테고리별로 한페이지씩 띄엄띄엄 나오네요. 흑흑...

이렇게 나오믄 안되는뎅..



아시는 분덜은 도움의 손길을~~~ *^^*



2  COMMENTS
  • Profile
    안재현 1999.11.16 21:36
    혀니 wrote:

    > 퀵레포트를 사용하는데요..

    > QRGroup 의 Expression 부분을 그냥 프로퍼티에 적어넣는것이 아니라

    > 조건에 따라서 달리 들어가기때문에 코딩상에서 적어넣어야 하는데

    > 그게 안되네요...

    > 특별한 에러는 안나는데 원하는 결과가 안나와서 showmessage로 보니까

    > 아무값도 안찍혀 나오더라구요..

    >

    > If RadioButton2.Checked then begin

    > Form2.QRGroup1.Expression := Form2.Query1DNAME.Value;

    > showmessage(Form2.Query1DNAME.Value);

    > ............

    >

    > 코드는 대충 위와 같구요... Form2 상에 퀵레포트가 있고 쿼리도 있어요.

    > select 한 쿼리상에서 DNAME 이라는 것의 값을 Expression 에 넣어야 합니다.

    > 아.. 그리고 이것을 코딩상에서 하지 않고 그냥 expression 상에서 입력을 하면은

    > 값이 나오긴 나오는데 카테고리별로 한페이지씩 띄엄띄엄 나오네요. 흑흑...

    > 이렇게 나오믄 안되는뎅..

    >

    > 아시는 분덜은 도움의 손길을~~~ *^^*

    >

    안녕하세요.

    흠.. 정확한지는 잘모르겠지만요..

    QRGroup의 Expression은 좀 문제가 있습니다.

    DataSet의 정렬과 관련이 있는 것 같더라구요.

    예를 들면



    A B C

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

    A1 B1 C1

    A1 B2 C2

    A2 B1 C1

    A2 B2 C2



    이렇게 데이타가 정렬이 되어있으면

    A field를 이용해서 group을 하게 되면 제대로 나올겁니다.

    근데 B field를 이용해서 group을 하게 되면 B1이 2개 B2가

    2개로 나오는 것 같더군요.

    B로 group을 하기위해서는 B에 의한 정렬을 하시고 난 다음에

    해야하는 걸로 알고있습니다.

    실행중에 정렬을 바꾸시려면 간단하게 DataSet의 IndexFieldNames라는

    프로퍼티를 설정하면 될겁니다.

  • Profile
    이재식 1999.11.16 21:18
    혀니 wrote:

    > 퀵레포트를 사용하는데요..

    > QRGroup 의 Expression 부분을 그냥 프로퍼티에 적어넣는것이 아니라

    > 조건에 따라서 달리 들어가기때문에 코딩상에서 적어넣어야 하는데

    > 그게 안되네요...

    > 특별한 에러는 안나는데 원하는 결과가 안나와서 showmessage로 보니까

    > 아무값도 안찍혀 나오더라구요..

    >

    > If RadioButton2.Checked then begin

    > Form2.QRGroup1.Expression := Form2.Query1DNAME.Value;

    > showmessage(Form2.Query1DNAME.Value);

    > ............

    >

    > 코드는 대충 위와 같구요... Form2 상에 퀵레포트가 있고 쿼리도 있어요.

    > select 한 쿼리상에서 DNAME 이라는 것의 값을 Expression 에 넣어야 합니다.

    > 아.. 그리고 이것을 코딩상에서 하지 않고 그냥 expression 상에서 입력을 하면은

    > 값이 나오긴 나오는데 카테고리별로 한페이지씩 띄엄띄엄 나오네요. 흑흑...

    > 이렇게 나오믄 안되는뎅..

    >

    > 아시는 분덜은 도움의 손길을~~~ *^^*

    >



    이재식 Wrote :

    안녕하십니까?



    잘 보았습니다.



    우선 Group의 expression속성에 왜 데이터 필드가 아닌

    필드의 값을 넣으려는 것인지 이해가 안됩니다.

    그렇기위해서는 그냥 Group에 QRDBText를 올려놓으시면 되잖아요.



    그리고, Group 의 expression은 대개 그룹별 분리를 위해서

    필드를 지정해주는 것인데...



    만약 조건에따른 어떤 필드의 값을 찍고 싶다면,

    Group에 QRLabel를 올려놓으시고,

    QRLabel1.Caption := Query1.fieldbyname('필드명').asString ;

    이렇게 하시면 좋을 듯 합니다.



    위의 경우는 보니까, 필드가 아닌 필드가 가진 값을 주고 있습니다.

    의도를 잘 모르겠습니다.



    상수의 값은 보여지질 않을 것입니다.