프로시저로 구현을 하셔야 할것 같습니다... 그 프로시저를 필요한
이벤트에서 호출을 하시면 될것 같습니다..
<프로그램 예>
procedure 프로시저명 (Const sCode:String; sCombo:TComboBox);
begin
with Query1 do
begin
Close;
Prepare;
ParamByName('CODE').AsString := sCODE;
Open;
First;
sCombo.Clear;
while not EOF do
begin
sCombo.Items.Add(FieldByName('CODENAME').AsString);
Next;
end;
Close;
end;
sCombo.ItemIndex := -1;
end;
그런데.. 보통 DB 설계시.. 자료의 저장은 코드를 하는 경우가 보통이므로
이 부분을 어떻게 처리를 하실것인지를 결정을 하셔야 할 것 같습니다..
예를 들어서.. 001 - 인사부 일때...
콤보박스에는 인사부만 보이고 저장시 코드를 가지고 있다가 저장하는
방법도 사용하고요..(코드는 StringList를 이용하여 저장)
콤보박스에 001-인사부 식으로 보이고 저장시 Copy문으로 잘라서
쓰는 사용하는 방법도 있습니다..
이벤트에서 호출을 하시면 될것 같습니다..
<프로그램 예>
procedure 프로시저명 (Const sCode:String; sCombo:TComboBox);
begin
with Query1 do
begin
Close;
Prepare;
ParamByName('CODE').AsString := sCODE;
Open;
First;
sCombo.Clear;
while not EOF do
begin
sCombo.Items.Add(FieldByName('CODENAME').AsString);
Next;
end;
Close;
end;
sCombo.ItemIndex := -1;
end;
그런데.. 보통 DB 설계시.. 자료의 저장은 코드를 하는 경우가 보통이므로
이 부분을 어떻게 처리를 하실것인지를 결정을 하셔야 할 것 같습니다..
예를 들어서.. 001 - 인사부 일때...
콤보박스에는 인사부만 보이고 저장시 코드를 가지고 있다가 저장하는
방법도 사용하고요..(코드는 StringList를 이용하여 저장)
콤보박스에 001-인사부 식으로 보이고 저장시 Copy문으로 잘라서
쓰는 사용하는 방법도 있습니다..
이외에도 여러가지 방법이 있는 것으로 알고 있습니다..
일단 콤보박스에 넣는 방법을 허접하나마 설명드렸습니다.. 왜냐하면
제가 언급한 코드부분을 어떻게 처리할것인가에 대해서는 언급이
없어서...