안냐세요. 처음 질문을 던져봅니다.
db를 combobox로 읽어오는데 1번째 Combobox로 db를 불러 선택하면
거기에 세부내용이 있으면 2번째 combobox가 생기고 없으면 생기지 않는 식의 방법이
너무 궁금하군요
예를 들어 사원의 가족을 조건검색하는데 1번째 cbbx의 아이템이 부모, 자식등이 있는데
부모를 선택할때 계시면 두번째 cbbx가 생기면서 거기의 내용을 선택할 수 있는 아이템의 내용을 db로부터 읽어오는 겁니다.
저의 질문이 너무 어렵지 않았나요. 물론 모든 아이템은 db로부터 읽어와야지요.
꼭 부탁드립니다.
그리고 dbgrid와 stringgrid 둘 중 무엇을 써야 좋을까요.
듣자하니 dbgrid는 excel로 보낼때 제한이 있다고 하는데...
> 안냐세요. 처음 질문을 던져봅니다.
>
> db를 combobox로 읽어오는데 1번째 Combobox로 db를 불러 선택하면
> 거기에 세부내용이 있으면 2번째 combobox가 생기고 없으면 생기지 않는 식의 방법이
> 너무 궁금하군요
> 예를 들어 사원의 가족을 조건검색하는데 1번째 cbbx의 아이템이 부모, 자식등이 있는데
> 부모를 선택할때 계시면 두번째 cbbx가 생기면서 거기의 내용을 선택할 수 있는 아이템의 내용을 db로부터 읽어오는 겁니다.
> 저의 질문이 너무 어렵지 않았나요. 물론 모든 아이템은 db로부터 읽어와야지요.
> 꼭 부탁드립니다.
> 그리고 dbgrid와 stringgrid 둘 중 무엇을 써야 좋을까요.
> 듣자하니 dbgrid는 excel로 보낼때 제한이 있다고 하는데...
>
안녕하세요.
먼저 첫번째 콤보박스에서 목록을 선택했을 때 세부내용이 있는지 체크해야 하겠죠.
그리고 두번째 콤보박스는 폼에 미리 올려놓고 Visible속성만 바꿔서 사용하는게 편할 것 같은데요.
end;procedure TForm1.Combobox1Click(Sender:TObject);
begin
Combobox2.Clear;
with Query1 do
begin
Close;
sql.Clear;
sql.Add('SELECT * FROM 가족관계');
sql.Add('WHERE 사원코드=:VAR1');
sql.Add('AND 관계=:VAR2');
ParamByName('VAR1').AsString:= 사원코드;
ParamByName('VAR2').AsString:= Combobox1.Text;
Open;
while not EOF do
begin
Combobox2.Items.Add(FieldByName('가족이름').AsString);
Next;
end;
end;
Combobox2.Visible:= Combobox2.Items.Count>0;
end;