Q&A

  • QReport에서 논리형 필드 처리하는 방법?


거래처.db라는 table이 있습니다.
그 안에는 있는 필드중 다음과 같은 필드가 있습니다.
매출처  Logical(논리형)
매입처      //
세금계산서  //
등등의 논리형 필드들이 있습니다...
그런데 이 사항을 출력할 때 True / False말고 문자로 대처하고 싶습니다...
예를 들어 매출처가 True이면 '매출처'로 False이면 공백으로...
책에는 간단하게 QRexpr과 QRDBLabel의 OnPrint이벤트에 대해 기술해서 해봤는데 안되더군여...
QRExpr은 Expression속성에 if(Table1.매출처 = True, '매출처','')라고 해봤는데 안되구여..
QRDBLabel의 OnPrint이벤트에는
if Value = True then Value := '매출처'
else Value := '';
라고 했다가 안되서 다시 아래처럼 일반 QRLabel1을 두고
if Value = True then QRLabel1.Caption := '매출처'
QRLabel1.Caption := '';
이라고 했는데도 안되더군여...
문슨 방법이 없나여???

고수님들에 답변을 꼭 기다리겠습니다...
많은 도움을 주십시요...

1  COMMENTS
  • Profile
    김경록 2002.05.25 19:30
    QRDBLabel의 OnPrint이벤트에는
    if Value = True then Value := '매출처'
    else Value := '';

    Var Value는 String형이 아닌가여?
    글구. True/False는 DB에 따라다르겠지만..
    True(1) / False(0)이 아닌가여?

    그러니..  Value는 0 또는 1일 가능성이 있을겁니다..
    그렇게 하느니..

    확실히 한다면..
    Detail의 OnPrint이벤트에서..
    해당 Query1.FieldByName('필드명').AsBoolean를 검사하시는게
    좋을 듯 하네여..

    If  (Not Query1.FieldByName('필드명').IsNull)     AND
        Query1.FieldByName('필드명').AsBoolean     Then
    Begin
           ShowMessage('True같네여~~~~');
    End
    Else Begin
           ShowMessage('False같네여~~~');
    End;