Показать сообщение отдельно
  #1  
Старый 14.06.2014, 15:59
WarPig WarPig вне форума
Прохожий
 
Регистрация: 14.06.2014
Сообщения: 2
Версия Delphi: Delphi XE5
Репутация: 10
По умолчанию Фильтрация

Здравствуйте. В общем, имеется БД MS Access, в которой 4 таблицы: delivery(id, stock_num, asset_name, id_sort, amount, id_units, sum, del_date, id_pic), units(id, unit_name), sort(id, sort_name, sort_number) и pic(id, pic_name, pic_post). Таблицы units, sort и pic являются справочниками для таблицы delivery (думаю, понятно, по каким полям они связаны). В Delphi создал форму для добавления/удаления данных, в которой находится DBGrid, кнопки и компоненты для работы с БД. В ADOTable таблицы delivery для отображения в DBGrid скрыл поля id, id_sort, id_units, id_pic; но добавил LookUp поля sort, units, pic, в которых данные из одноименных таблиц нужных мне полей. Занес данные в таблицу. Далее, на другой форме имеется DBGrid, DBLookupComboBox, ADOQuery и два DataSource. DBLookupComboBox принимает данные из таблицы sort. Мне нужно сделать так, чтобы при выборе в DBLookupComboBox в DBGrid отображались записи, в которых есть выбранное название.
Написал такой код:
Код:
procedure TForm1.DBLookupComboBox1Click(Sender: TObject);
begin
ADOQuery1.SQL.text:='select * from delivery where sort='+char(39)+''+DBLookupComboBox1.text+''+char(39) +'';
ADOQuery1.Open;
end;
Думал, прокатит, но в delivery нет поля sort, я его создал только для отображения в DBGrid.
Я в БД нуб и, в основном, все делал по примерам. Сорри, если много лишнего написал.
Ответить с цитированием