Q&A

  • <<<급>>>Table 필드에서 조건을...이럴땐 어떻게 하는지??
안냐세요



이럴땐 어떻게 하는지 몰라서 이렇게 글을 올리는 초보입니다.

부디 쉬운 설명과 함께 많은 고수님들의 답변이 있으시길....



procedure TForm27.ComboBox1Change(Sender: TObject);

var

i,t:integer;

begin

Table1.Filtered:=False;

t:=Table1.RecordCount;

edit2.text:=IntTostr(Table1.RecordCount);

if t>0 then begin

case Combobox1.ItemIndex of

0:begin

Table1.Filtered:=False;

Edit2.Text:=InttoStr(Table1.RecordCount);

Edit3.Text:='';

end;



1: begin

Table1.Filtered:=False;

Table1.Filter:='age=''???????'''; ---------이부분입니다.

Table1.Filtered:=true;

i:=Table1.RecordCount;

Edit2.Text:=InttoStr(Table1.RecordCount);

Edit3.Text:=FloatToStr(trunc((i/t*100)*100+0.5)/100)+'%';

end;



...

...

...



7: begin

Table1.Filtered:=False;

Table1.Filter:='age=''???????'''; ---------이부분입니다.

Table1.Filtered:=true;

i:=Table1.RecordCount;

Edit2.Text:=InttoStr(Table1.RecordCount);

Edit3.Text:=FloatToStr(trunc((i/t*100)*100+0.5)/100)+'%';

end;





나이를 분류하고자 하는데...20~29세, 30~39.......60세이상

이렇게 분류하여 Combobox에서 선택시 나타내는 방법을....

Table형식으로 된 DB입니다.

DB를 이용하여 age필드의 내용을 위와같이 분류하고자 할때에 맞는 조건식을....

위의 소스를 좀 고쳐 보고 싶은데....



많은 분들의 도움이... 그럼 즐델 하시구요...

2  COMMENTS
  • Profile
    박성훈 2000.02.18 01:33
    Table의 필터에서 숫자값도 비교가 되는지는 정확하게 모르겠습니다.

    제 경험으로는 숫자는 필터를 걸기가 좀 힘들더군요.

    Table1.Filter:= 'age='''+Edit1.Text+'''';

    또는

    Table1.Filter:= 'age=''30''';

    이런 식으로 해보시면 될 것 같은데요. 참고로 간단히 테스트해보니까 잘 되더군요.

    Filter에 비교식을 넣으셔도 돼구요. 참고가 되시길...



    델 초보올림 wrote:

    > 안냐세요

    >

    > 이럴땐 어떻게 하는지 몰라서 이렇게 글을 올리는 초보입니다.

    > 부디 쉬운 설명과 함께 많은 고수님들의 답변이 있으시길....

    >

    > procedure TForm27.ComboBox1Change(Sender: TObject);

    > var

    > i,t:integer;

    > begin

    > Table1.Filtered:=False;

    > t:=Table1.RecordCount;

    > edit2.text:=IntTostr(Table1.RecordCount);

    > if t>0 then begin

    > case Combobox1.ItemIndex of

    > 0:begin

    > Table1.Filtered:=False;

    > Edit2.Text:=InttoStr(Table1.RecordCount);

    > Edit3.Text:='';

    > end;

    >

    > 1: begin

    > Table1.Filtered:=False;

    > Table1.Filter:='age=''???????'''; ---------이부분입니다.

    > Table1.Filtered:=true;

    > i:=Table1.RecordCount;

    > Edit2.Text:=InttoStr(Table1.RecordCount);

    > Edit3.Text:=FloatToStr(trunc((i/t*100)*100+0.5)/100)+'%';

    > end;

    >

    > ...

    > ...

    > ...

    >

    > 7: begin

    > Table1.Filtered:=False;

    > Table1.Filter:='age=''???????'''; ---------이부분입니다.

    > Table1.Filtered:=true;

    > i:=Table1.RecordCount;

    > Edit2.Text:=InttoStr(Table1.RecordCount);

    > Edit3.Text:=FloatToStr(trunc((i/t*100)*100+0.5)/100)+'%';

    > end;

    >

    >

    > 나이를 분류하고자 하는데...20~29세, 30~39.......60세이상

    > 이렇게 분류하여 Combobox에서 선택시 나타내는 방법을....

    > Table형식으로 된 DB입니다.

    > DB를 이용하여 age필드의 내용을 위와같이 분류하고자 할때에 맞는 조건식을....

    > 위의 소스를 좀 고쳐 보고 싶은데....

    >

    > 많은 분들의 도움이... 그럼 즐델 하시구요...

  • Profile
    cjseok 2000.02.17 23:25
    테이블의 필터사용은 잘 모릅니다.

    쿼리 문을 써보심이 어떨지요

    Query.Sql.Add('Select age from 테이블명 where (age > 20) and (age < 30) ');

    이런식으로 말이죠...



    델 초보올림 wrote:

    > 안냐세요

    >

    > 이럴땐 어떻게 하는지 몰라서 이렇게 글을 올리는 초보입니다.

    > 부디 쉬운 설명과 함께 많은 고수님들의 답변이 있으시길....

    >

    > procedure TForm27.ComboBox1Change(Sender: TObject);

    > var

    > i,t:integer;

    > begin

    > Table1.Filtered:=False;

    > t:=Table1.RecordCount;

    > edit2.text:=IntTostr(Table1.RecordCount);

    > if t>0 then begin

    > case Combobox1.ItemIndex of

    > 0:begin

    > Table1.Filtered:=False;

    > Edit2.Text:=InttoStr(Table1.RecordCount);

    > Edit3.Text:='';

    > end;

    >

    > 1: begin

    > Table1.Filtered:=False;

    > Table1.Filter:='age=''???????'''; ---------이부분입니다.

    > Table1.Filtered:=true;

    > i:=Table1.RecordCount;

    > Edit2.Text:=InttoStr(Table1.RecordCount);

    > Edit3.Text:=FloatToStr(trunc((i/t*100)*100+0.5)/100)+'%';

    > end;

    >

    > ...

    > ...

    > ...

    >

    > 7: begin

    > Table1.Filtered:=False;

    > Table1.Filter:='age=''???????'''; ---------이부분입니다.

    > Table1.Filtered:=true;

    > i:=Table1.RecordCount;

    > Edit2.Text:=InttoStr(Table1.RecordCount);

    > Edit3.Text:=FloatToStr(trunc((i/t*100)*100+0.5)/100)+'%';

    > end;

    >

    >

    > 나이를 분류하고자 하는데...20~29세, 30~39.......60세이상

    > 이렇게 분류하여 Combobox에서 선택시 나타내는 방법을....

    > Table형식으로 된 DB입니다.

    > DB를 이용하여 age필드의 내용을 위와같이 분류하고자 할때에 맞는 조건식을....

    > 위의 소스를 좀 고쳐 보고 싶은데....

    >

    > 많은 분들의 도움이... 그럼 즐델 하시구요...