Вниз
Скачать: CL | DM;

Двойной lookup   Найти похожие ветки 

← →
Genry   (2002-05-17 12:30) [0]

Господа, подскажите как организовать двойной lookup. Имеется три таблицы. По ключу (напр. ID заказа)из первой смотрим во вторую (в ней хранятся ID израсходованных материалов по всем заказам), т.е. выбираем ID всех материалов, израсходованных на данный заказ. В третьей таблице хранятся данные о материалах в т.ч. их названия. Заглядываем туда, дабы показать пользователю названия всех израсходованных материалов. Т.о. имеем двойной lookup.
Подскажите как его организовать?


← →
Val ©   (2002-05-17 13:20) [1]

select z.ZAKAZNUMBER, r.HOWMANY, m.MATERIALNAME
from MATERIAL m, ZAKAZ z, RASHOD r
where z.ID=r.IDZAKAZ and
m.ID=r.IDMATERIAL


← →
Genry   (2002-05-17 14:18) [2]

Val, cпасибо.
Но не совсем то. Надо: есть грид с данными по заказу Z. Есть ListBox. При перемещении по гриду в ListBox"e показываются все материалы, использованные для изготовления заказа с текущим номером.


← →
esVer   (2002-05-17 14:56) [3]

Query1.SQL.Text:="select ZAKAZNUMBER from ZAKAZ;
Query2.SQL.Text:="select ZAKAZNUMBER, HOWMANY, MATERIALNAME from MATERIAL;

DataSource1.DataSet:=Query1;
DataSource2.DataSet:=Query2;
Query2.MasterSource:=DataSource1;

На Query2.AfterOpen заполняем данными ListBox (если обычный),
если это db-control, то обновится сам




← →
Val ©   (2002-05-17 14:59) [4]

стройте запрос, выбирая материалы по данной связке с дополнительным условием-проверкой на конкретный, текущий ID заказа и его результаты записываете в свой листбокс.


← →
Val ©   (2002-05-17 15:02) [5]

>esVer (17.05.02 14:56)
у автора, судя по всему таблица материалов - обыкновенный справочник, откуда там номер заказа и какое-то ни было количество?


← →
Genry   (2002-05-17 15:14) [6]

Господа, всем спасибо, все свободны :-).
На самом деле я просто туплю. Это я только что понял. Все уже сделал.
Эще раз всем спасибо.


← →
esVer   (2002-05-17 15:41) [7]

Для Val:

В заказе может использовать 5 материалов, а может и 10.
Отсюда логично иметь отдельную таблицу :

ID_ZAKAZ, ID_MATERIAL, COUNT_MATERIAL

ID_ZAKAZ - ссылка на таблицу заказов
ID_MATERIAL будет ссылкой на справочник материалов


← →
Val ©   (2002-05-17 15:58) [8]

ну да, классическая таблица-связка,а я вам о чем? А ваши выборки откуда происходят?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
1-30831
str
2002-05-28 22:03
2002.06.10
Расчет инеграла


1-30752
Great DAN
2002-05-30 11:21
2002.06.10
Работа с файлами


1-30873
Moroz S.
2002-05-29 17:59
2002.06.10
Как создать свою форму-функцию наподобие MessageDlg?


1-30759
hooky-mars
2002-05-26 21:01
2002.06.10
Икона для экзелника в ран-тайме


1-30887
rank
2002-05-26 04:01
2002.06.10
Сортировка в AdvStringgrid




   Наверх