![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поле со списком в DBGrid [D6, D7]
VS2002 © (2002-12-29 06:32:00)Имеется таблица №1 (Oracle) со след. структурой:
Поле1
Поле2
...
Код сотрудника(Числовое)
В таблице №2 хранится список сотрудников со след. структурой:
Код (Числовой)
Фамилия (Текстовый)
Имя (Текстовый)
Отчество (Текстовый)
...
Необходимо в DBGrid для таблицы №1, поле "Код сотрудника", сделать выбор фамилий из списка из таблицы №2 таким образом, чтобы в списке отображались фамилии, а реально заносился в таблицу код сотрудника.
stranger71 (2002-12-29 09:38:00) [1]ИМХО
TQuery в этом смысле (lookup-поля) ничем не отличается от TTable.
Сортировать по лукапу можно, если использовать подобный запрос:
Select T1.*
from Table1 T1, Table2 T2
where t1.Cod=t2.Cod
order by T2.FIO
З.Ы. Метод, предложенный Sergey13 ничуть не хуже, хотя есть свои нюансы реализации
Sergey13 (2002-12-29 09:25:00) [2]2Lord Warlock © (29.12.02 09:09)
TTable для Оракла, ИМХО, не есть гут.
2VS2002 (29.12.02 06:32)
Можно конечно и лукапом, но я бы не стал такого делать. Особенно если число людей в списке больше 10-20 - заморишься выбирать из такого списка. Лучше это(смену человека) реализовать через отдельную форму. А в имеющейся форме добавить поле с фамилией в текст запроса. Кроме всего прочего по лукапу нельзя сортировать, а в случае с фамилиями это наверняка потребуется.
Lord Warlock (2002-12-29 09:09:00) [3]Это стандартная ситуация для создания LookUp поля, где вместо номера подставляется поле из другой таблицы. В этом случае лучше использовать компонент TTable, функциональность, которую ты хочешь будет реализована автоматически. В случае с использованием TQuery я не уверен, не пробовал. Может быть сработает, а может и нет...
BorisUK (2002-12-29 07:35:00) [4]Select *.T1, *.T2 from Table1 T1, Table2 T2 where t1.Cod=t2.Cod
А в гриде поставь Visible = flse для колонок, оторые ты не хочешь показывать юзеру...
Или тебе надо отображать таблу 1 , но только вместо кода ФИО...
Просто непонятно.... Перерисовывай с подстановкой чего надо...
Ну лучше Query (как выше написал) и лишние поля сразу в Query исключи или потом видимость настрой..
Или тебе надо чтоб в Гриде по этому полю LookUp на ФИО работал...
Вроде тоже не проблема... возьми EhGrid к примеру
Что надо то?