Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.10;
Скачать: 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 вся ветка

Текущий архив: 2002.06.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
3-30713
Split
2002-05-18 12:43
2002.06.10
максимальное значение поля Code в базе


1-30755
Толик
2002-05-30 12:25
2002.06.10
Application.Title


3-30680
Rub
2002-05-17 14:01
2002.06.10
Народ, как бы в DBCtrlGrid-e использовать картинку для


6-30952
Vas1
2002-03-27 09:32
2002.06.10
Как определить, что ко мне по сети кто-то подцепился


1-30829
MaximatorVeter
2002-05-27 23:16
2002.06.10
Закладка Diagram для D6?