Q&A

  • CalcField로 구한값은 조건에 따라 검색을 어케해야하나염?
--; 모르는거 투성이군염..... 한심하기두하여라....ㅜㅜ

머리가 뽀개질꺼같군염....

우선 '나이' 라는 필드는 테이블에는 없구염...

아래루해서리..만들어줬어염...

생년월일이 들어가있는 birth 필드를 이용해서 계산해서리... 나이를 넣었는데염...

디비그리드에서 보니깐... 나이가 들어가더라구염....

근데 그 나이를 조건에 따라 검색할려구하거든여.

근데 자꾸 에러가 나는군염....

모 조건은 다음과 같이 해봤습니당...

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

query1.sql.add( ' and 나이 > '''+edit1.text+''' ');

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

이런식으루 했는뎅...검색을 하면 타당하지않은 필드가 있다는둥...

컬럼값이 이상하다는둥.... 그런 에러가 나는군염....

참고로 나이필드추가할때 char(3)로 했구염..

birth필드는 데이트형이고 형식은 79-02-08로 입력되있습니당....

많은 분들의 답변을 기다립니당.....(^^)(__)(^^)>



아래는 나이를 구한 소스구염... 아래꺼는 에러가 안나구 잘 되는군염.....



procedure TForm1.Query1CalcFields(DataSet: TDataSet);



var

y,m,d : word;

dd : tdate;

a : string;

begin

a:=formatdatetime('YYYY-MM-DD',query1.fieldbyname('birth').value);



dd := date - strtodate(a);

decodedate(dd,y,m,d);



if y >= 2000 then

begin

query1['나이']:= y-2000+1;

end

else if y < 2000 then

begin

query1['나이'] :=y-1900+1;

end;



// 1이 1900년

end;

1  COMMENTS
  • Profile
    노력중인 초보 2001.08.12 14:01
    아무두 답변안해주셔서리.....^^

    그냥 자체적으루 계산해서리....

    직접 넣어서 나이계산해서 검색하는걸루했답니당....(^^)(__)(^^)>