* 사용환경 : 델파이5 / Windows NT
* 에러 메시지 :
안냐세요, 제가 검색을 위해 콤보박스로 db의 코드(필드)를 읽어오는 프로그램을 짜는데요,
문제는 이모든 조건을 만족하는 전체조건 즉 검색조건없음이라는 코드를 삽입하면
콤보박스의 다른 아이템의 코드값이 읽혀진다는 것입니다.
물론 db의 코드에 추가를 하면 않되고 프로그램시에 검색조건없음과 그 코드값 = All을 입력해야 합니다. 그리고 실행시 콤보박스에서 검색조건없음을 선택하면 itemindex가 '0'이 되어야 하구요.
제말 이해가 되세요?
with DM_UPCOM.Q_Ftc do begin
strSQL := 'select ATTR, FNAME, SUB from COM.CMT_CODE_C where TYPE = '''+ 'UP_''';
SQL.Clear;
SQL.Add(strSQL);
open;
cbFtc.ItemIndex := -1;
cbFtc.Items.Clear;if EOF then begin
showmessage('데이타가 없습니다.');
exit;
end;//if
for i := 1 to recordCount do begin
cbFtc.Items.Add(FieldByName('FNAME').AsString);
next;
end;//for
end;//with
여기 어딘가에 코드값이 All이면서 실행시 콤보박스의 itemindex가 0이 되면서 db에서 읽어온 아이템들은 그 다음값인 1부터 적용이 되어야겠죠?
부디 고수분들의 도움 부탁드립니다.
> * 사용환경 : 델파이5 / Windows NT
> * 에러 메시지 :
> 안냐세요, 제가 검색을 위해 콤보박스로 db의 코드(필드)를 읽어오는 프로그램을 짜는데요,
> 문제는 이모든 조건을 만족하는 전체조건 즉 검색조건없음이라는 코드를 삽입하면
> 콤보박스의 다른 아이템의 코드값이 읽혀진다는 것입니다.
> 물론 db의 코드에 추가를 하면 않되고 프로그램시에 검색조건없음과 그 코드값 = All을 입력해야 합니다. 그리고 실행시 콤보박스에서 검색조건없음을 선택하면 itemindex가 '0'이 되어야 하구요.
> 제말 이해가 되세요?
> with DM_UPCOM.Q_Ftc do begin
> strSQL := 'select ATTR, FNAME, SUB from COM.CMT_CODE_C where TYPE = '''+ 'UP_''';
> SQL.Clear;
> SQL.Add(strSQL);
> open;
> cbFtc.ItemIndex := -1;
> cbFtc.Items.Clear;if EOF then begin
> showmessage('데이타가 없습니다.');
> exit;
> end;//if
>
> for i := 1 to recordCount do begin
> cbFtc.Items.Add(FieldByName('FNAME').AsString);
> next;
> end;//for
>
> end;//with
>
> 여기 어딘가에 코드값이 All이면서 실행시 콤보박스의 itemindex가 0이 되면서 db에서 읽어온 아이템들은 그 다음값인 1부터 적용이 되어야겠죠?
> 부디 고수분들의 도움 부탁드립니다.
>
쉬운것 같은데... 어렵게 생각하신 것 같군요.
제가 이해한 것이 맞나 모르겠네요....
with DM_UPCOM.Q_Ftc do begin
strSQL := 'select ATTR, FNAME, SUB from COM.CMT_CODE_C where TYPE = '''+ 'UP_''';
SQL.Clear;
SQL.Add(strSQL);
open;
cbFtc.ItemIndex := -1;
cbFtc.Items.Clear;
if EOF then begin
cbFtc.Enable := False; // <--- 이부분 추가함
showmessage('데이타가 없습니다.');
exit;
end;//if
cbFtc.Enable := True; // <--- 이부분 추가함
cbFtc.Items.Add('ALL'); // <--- 이부분 추가함
for i := 1 to recordCount do begin
cbFtc.Items.Add(FieldByName('FNAME').AsString);
next;
end;//for
end;//with