Q&A

  • 쿼리로 디비그리드 내용바꿔주기
윽 답변부탁드립니다....아직 초보라서링..@@..
DBMS는 ACCESS 쓰구염...
쿼리로 디비값 읽어와서 특정 필드값을 다른 내용으로 바꿔주고 싶은데요..
(보여줄때만 (DBGrid,Print......) 어케 해야될까요..^^;;;

답변 부탁드립니당....

   num     result                                 num        result
-----------------------                  ---------------------
     1          4                      =>             1              성공
     2          4                                       2              성공
     3          2                                       3               실패
4  COMMENTS
  • Profile
    KYH 2002.10.16 03:59
    쿼리컴포넌트에서 해당필드의 ongettext 이벤트에서

    아래와 갗이 코딩해두 됩니다.

    if Sender.fieldbyname('result').asstring = '1' then
       text := '성공'
    else
    .......


    case 문은 null때문에 좀 위험하겠죠 ^^;;;;;



  • Profile
    머슴 2002.10.16 03:26
      1. 코딩으로 해결하는 방법
        
      CalcField를 이용하는  TTable이나 TQuery에서 더블클릭하면
       FieldEdit가 나옵니다.. 이때 오른쪽 버튼을 클릭하여..
       New Field를 추가 합니다. 이때 필드이름과 형과 사이즈를 결정하시면
       하시면 됩니다..
      
       일종의 가상필드를 만들어서 보여줄때만 사용을 하는 것입니다..
       따라서 계산하여 보여준다고해서 CalcField인가 봅니다..
       procedure TForm1.Query1CalcFields(DataSet: TDataSet);
       begin
          Case FieldByName('num').AsInteger of
              1: FieldByName('dis_num').AsString:= '성공';
              2:
             <중략>
          
            end;

      2. 쿼리로 해결하는 방법

           오라클에는 decode,case(버전에 따라서), Ms-SQL은 case함수가
           있습니다.

            이런 함수를 이용해 쿼리에서 바꾸어서 가져오는 방법이 있습니다..
            죄송하게 예를 오라클 예밖에 못하네요..

            select decode(num,1,'성공',2,'실패',3,'성공') result
              from 테이블;

          

        
  • Profile
    KDDG_hyun 2002.10.16 03:15
    ACCESS 는 잘 모르고.. sql 에서 쓰는 방법 설명 드리께요 참고 하세요..

    sql 콤포 에서 컬럼 하나 만들어 주시고요 타임은 calc어쩌구로 ``;

    sql 콤포에 보면 calc 어쩌고 이벤트가 있을겁니다

    거기다가 if FieldByName('result').AsString = 4 then
                   새로만든컬럼 := 성공

    이런식으로 해주시면 될겁니다..

    답변이 허접해서 죄송합니다.. 에구구..





  • Profile
    느믈이 2002.10.16 08:13
    우왕~~
    답변 감사드립니당... ^^
    님들덥분에 많이 배웠네염....^^..
    답변주신  KYH님, 머슴님, KDDG_hyun님....
    정말 감사합니당....글엄 담에도....헤~   ^^;;;