Подключение к таблице из Combobox

есть база с таблицами Tab1, Tab2, Tab3; есть PageControl c TabSheet1,TabSheet2,TabSheet3; есть форма добавления записи с Combobox(пункты в боксе соответствуют названию табшитов) и парой DBEdit'ов. Вопрос: как сделать чтобы при выборе в комбобоксе пункта, например TabSheet2, все данные введенные в Edit'ы, заносились только в таблицу Tab2 ???
7 ответов

зарисовочка
var query:Tquery;
begin
 if ComboBox1.ItemIndex = 0 then
 query := Qry1// датасет Tab1
 else
 if ComboBox1.ItemIndex = 1 then
 query := Qry2// датасет Tab2
 else
 if ComboBox1.ItemIndex = 2 then
 query := Qry3// датасет Tab3
 query.field[0].AsVariant := Edit1.text;
 query.field[1].AsVariant := IntToStr(Edit2.text);
 ...
end;


quit
Логично. А я бы сделал так: Где нибудь связал каждый элемент комбика с датасетами
with ComboBox1.Items do begin
 AddObject('первая',Table1);
 AddObject('Вторая',Table2);
 AddObject('Третья',Table3);
 end;
А в выборе:
procedure TForm1.ComboBox1Change(Sender: TObject);
var t:TTable;
begin
 t:=TTable(ComboBox1.Items.Objects[ComboBox1.ItemIndex]);
 if t<>nil then
end;
И уже t - выбранный набор данных


а почему нельзя связать комбик с датасетами например тут:
procedure TForm1.ComboBox1Change(Sender: TObject);
var t:TTable;
begin
 with ComboBox1.Items do begin
 AddObject('первая',Table1);
 AddObject('Вторая',Table2);
 AddObject('Третья',Table3);
 end;

 t:=TTable(ComboBox1.Items.Objects[ComboBox1.ItemIndex]);
 if t<>nil then
end;
сразу прописать на событии ?


а почему нельзя связать комбик с датасетами например тут:
А потому что при таком коде у тебя будут в комбик добавляться каждый раз новые строки Да и глупо это. Связка делается один раз, а потом уж многочисленно используется.


а тогда где мне сделать привязку к комбику ??? при вызове формы с гридом:
procedure TForm1.Button1Click (Sender: TObject); 
 begin
 Form2.showmodal;
 with Form2.ComboBox1.Items do begin
 AddObject('первая',Table1);
 AddObject('Вторая',Table2);
 AddObject('Третья',Table3);
 end;
 end;


на событии Form2.OnShow если уж вам так неймется но предварительно делайте Items.Clear


буду пробывать, спасибо за ответы