Страница 1 из 2

Лукап

Добавлено: 03 апр 2006, 09:05
Лелик_1044
Столкнуля с такой проблемой
Допустим есть таблица содержащее следующее
(Таблица 1)
... 1 ... ... ... ...
... 3 ... ... ... ...

Где 1-5 это фамиили берущиеся из другой таблицы....
(Таблица 2)
1 Иванов
2 Петров
3 Сидоров
и.т.д.

Мне надо было сделать чтоб лукап отборажал только те фамилии, номера которых есть в таблце 1, Но он отоброжает все фамилии.

Добавлено: 04 апр 2006, 19:21
Duncon
Ну незнаю что за лукап, а вот просто перебрать все записи со сверкой на соответствие заданному списку вполне реально..

Добавлено: 04 апр 2006, 20:25
YurikGL
Если lookup делать с помощью EhGrid-а то в качестве отображаемого поля можно зацепить любой датасет.
Значит можно сделать и любой запрос.

Добавлено: 04 апр 2006, 22:12
Лелик_1044
его использую...
можно поподробнее

Добавлено: 04 апр 2006, 22:57
YurikGL
>можно поподробнее
делфи под рукой нету, так что на память...
У EHGrid у столбца есть параметр что-то типа lookuplistsource вот там можно указать любой датасорс. Формируешь запрос (в котором делаешь нужную выборку) в любом датасете, цепляешь к нему датасорс и указываешь его в lookuplistsource.
это если я с dblookup никаким не путаю :) ))
Если не получится - завтра с работы отвечу.

Добавлено: 04 апр 2006, 23:09
Лелик_1044
И еще может кто поможет с запросом
Из первого сообщения
талицбы 1 и 2
мне надо чтоб получилос таблица 3

Таблица 1
1 Минск
3 Могилев

Таблица 2
1 Иванов
2 Петров
3 Сидоров

ТАБЛИЦА 3
Иванов Минск
Петров ...
Сидоров Могилев

Добавлено: 04 апр 2006, 23:10
Лелик_1044
Мне просто толко что позвонили все задание поменяли

Добавлено: 05 апр 2006, 10:27
Игорь Акопян
если тебе надо сформировать запрос из двух таблиц и вывести в грид - то надо использовать outer join

Код: Выделить всё

select * 
from 
  tab2 t2
  left outer join tab1 t1 on t1.RefT2 = t1.ID
и уже этот датасет цеплять к гриду

Добавлено: 05 апр 2006, 15:33
Лелик_1044
Игорь Акопян,
Спасибо все работает...
Но есть вопрос
а почему поля в dbgrid не редактируются???

Добавлено: 05 апр 2006, 18:30
Игорь Акопян
потому что запрос не обновляемый, грид не может определить что из какой таблицы...
очень надо обновлять? ;)