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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2014, 20:30   #1
sergeykom
Пользователь
 
Регистрация: 10.04.2014
Сообщений: 16
По умолчанию Получить значение связанного поля из базы данных Access

В первой таблице имеются поля: "ID поставщика" и "Наименование поставщика". Во второй таблице поля: "Номер накладной" и "ID поставщика". Таблицы связаны между собой по полям "ID поставщика"(1-я таблица)->"ID поставщика"(2-я таблица). На форме 2 ComboBox (Delphi XE5). При выборе в первом ComboBox "Наименование поставщика" во втором ComboBox должны отображаться только накладные, принадлежащие выбранному поставщику. Для этого при выборе в 1-м ComboBox "Наименования Поставщика", если я не ошибаюсь, мне нужен ID этого поставщика, по которому я буду делать выборку для 2-го ComboBox. Вопрос в том, как получить значение поля "ID", выбирая соседнее поле "Наименование поставщика". Пожалуйста, подскажите! Спасибо!
sergeykom вне форума Ответить с цитированием
Старый 07.06.2014, 22:02   #2
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

а как вы получили имена?
eval вне форума Ответить с цитированием
Старый 07.06.2014, 22:14   #3
sergeykom
Пользователь
 
Регистрация: 10.04.2014
Сообщений: 16
По умолчанию

Через компонент ADOQuery:
procedure TfrmAddContract.FormClose(Sender: TObject; var Action: TCloseAction);
begin
with frmComponent do
begin
frmComponent.adoq1.Active:=true;
while not adoq1.Eof do
begin
frmAddSupplier.cbSelectNumberContra ctAddSupp.Items.Add(adoq1.FieldByNa me('NumberContract').AsString);
adoq1.Next;
frmAddSupplier.cbSelectNumberContra ctAddSupp.Items.EndUpdate;
end;
end;
end;
sergeykom вне форума Ответить с цитированием
Старый 07.06.2014, 22:18   #4
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

это что за взрыв клавиш?
eval вне форума Ответить с цитированием
Старый 07.06.2014, 22:44   #5
sergeykom
Пользователь
 
Регистрация: 10.04.2014
Сообщений: 16
По умолчанию

это код получения имени в ComboBox
sergeykom вне форума Ответить с цитированием
Старый 08.06.2014, 13:47   #6
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

TComboBox заменить на TBDLookupComboBox, привязать к ним через TADODataSource нужные TADOQuery с поставщиками и накладными, и на событие изменения текущей записи в датасете с поставщиками - AfterScroll (которое будет происходить при изменении текущего элемента в лукапкомбо) ставить для датасета с накладными свойство Filter
phomm на форуме Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод связанного поля ILOR БД в Delphi 3 05.07.2015 05:19
Нужно получить значение вычисляемого поля knastik Microsoft Office Access 4 08.10.2012 15:01
как получить следующее значение поля ID amator_roma Помощь студентам 5 22.06.2011 16:01
получить значение поля другого класса Roof Общие вопросы Delphi 11 10.09.2010 15:10
как получить значение поля грид на основе значения другого lookUp поля malayka БД в Delphi 0 21.04.2010 19:06