Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2010, 12:27   #1
Life_Master
Пользователь
 
Регистрация: 18.01.2010
Сообщений: 20
По умолчанию Подключение к таблице из Combobox

есть база с таблицами Tab1, Tab2, Tab3; есть PageControl c TabSheet1,TabSheet2,TabSheet3; есть форма добавления записи с Combobox(пункты в боксе соответствуют названию табшитов) и парой DBEdit'ов. Вопрос: как сделать чтобы при выборе в комбобоксе пункта, например TabSheet2, все данные введенные в Edit'ы, заносились только в таблицу Tab2 ???
Life_Master вне форума Ответить с цитированием
Старый 19.01.2010, 13:00   #2
quit
Я есть!
Форумчанин
 
Аватар для quit
 
Регистрация: 17.02.2008
Сообщений: 318
По умолчанию

зарисовочка

Код:
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 вне форума Ответить с цитированием
Старый 19.01.2010, 13:13   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
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 - выбранный набор данных
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.01.2010, 13:54   #4
Life_Master
Пользователь
 
Регистрация: 18.01.2010
Сообщений: 20
По умолчанию

а почему нельзя связать комбик с датасетами например тут:

Код:
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;
сразу прописать на событии ?
Life_Master вне форума Ответить с цитированием
Старый 19.01.2010, 14:40   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а почему нельзя связать комбик с датасетами например тут:
А потому что при таком коде у тебя будут в комбик добавляться каждый раз новые строки
Да и глупо это. Связка делается один раз, а потом уж многочисленно используется.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.01.2010, 15:16   #6
Life_Master
Пользователь
 
Регистрация: 18.01.2010
Сообщений: 20
По умолчанию

а тогда где мне сделать привязку к комбику ??? при вызове формы с гридом:
Код:
  procedure TForm1.Button1Click (Sender: TObject); 
     begin
       Form2.showmodal;
          with Form2.ComboBox1.Items do begin
                 AddObject('первая',Table1);
                 AddObject('Вторая',Table2);
                 AddObject('Третья',Table3);
          end;
     end;
Life_Master вне форума Ответить с цитированием
Старый 19.01.2010, 15:27   #7
quit
Я есть!
Форумчанин
 
Аватар для quit
 
Регистрация: 17.02.2008
Сообщений: 318
По умолчанию

на событии Form2.OnShow если уж вам так неймется но предварительно делайте Items.Clear
©Учиться, учиться и еще раз учиться!
quit вне форума Ответить с цитированием
Старый 19.01.2010, 15:28   #8
Life_Master
Пользователь
 
Регистрация: 18.01.2010
Сообщений: 20
По умолчанию

буду пробывать, спасибо за ответы
Life_Master вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычисляемое поле в таблице ACCESS, создать вычисляемое поля в таблице аксес artlayers Microsoft Office Access 2 04.11.2009 19:29
подключение ж.д. к п.к. viks1 Компьютерное железо 3 23.06.2009 15:06
Слияние шаблона с данными из таблице, и как подсичтать значение количества полей в таблице n4ela Microsoft Office Access 3 07.03.2009 12:04
после выбора в comboBOX какой либо пункт он должен выводить данные в таблице KingSize БД в Delphi 2 09.12.2008 19:05
Не могу внести строку из combobox в combobox!? tacer Помощь студентам 1 30.11.2007 19:45