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

Поле со списком в DBGrid   Найти похожие ветки 

← →
VS2002   (2002-12-29 06:32) [0]

Имеется таблица №1 (Oracle) со след. структурой:
Поле1
Поле2
...
Код сотрудника(Числовое)

В таблице №2 хранится список сотрудников со след. структурой:
Код (Числовой)
Фамилия (Текстовый)
Имя (Текстовый)
Отчество (Текстовый)
...

Необходимо в DBGrid для таблицы №1, поле "Код сотрудника", сделать выбор фамилий из списка из таблицы №2 таким образом, чтобы в списке отображались фамилии, а реально заносился в таблицу код сотрудника.


← →
BorisUK ©   (2002-12-29 07:35) [1]

Select *.T1, *.T2 from Table1 T1, Table2 T2 where t1.Cod=t2.Cod
А в гриде поставь Visible = flse для колонок, оторые ты не хочешь показывать юзеру...
Или тебе надо отображать таблу 1 , но только вместо кода ФИО...
Просто непонятно.... Перерисовывай с подстановкой чего надо...
Ну лучше Query (как выше написал) и лишние поля сразу в Query исключи или потом видимость настрой..

Или тебе надо чтоб в Гриде по этому полю LookUp на ФИО работал...
Вроде тоже не проблема... возьми EhGrid к примеру

Что надо то?


← →
Lord Warlock ©   (2002-12-29 09:09) [2]

Это стандартная ситуация для создания LookUp поля, где вместо номера подставляется поле из другой таблицы. В этом случае лучше использовать компонент TTable, функциональность, которую ты хочешь будет реализована автоматически. В случае с использованием TQuery я не уверен, не пробовал. Может быть сработает, а может и нет...


← →
Sergey13 ©   (2002-12-29 09:25) [3]

2Lord Warlock © (29.12.02 09:09)
TTable для Оракла, ИМХО, не есть гут.

2VS2002 (29.12.02 06:32)
Можно конечно и лукапом, но я бы не стал такого делать. Особенно если число людей в списке больше 10-20 - заморишься выбирать из такого списка. Лучше это(смену человека) реализовать через отдельную форму. А в имеющейся форме добавить поле с фамилией в текст запроса. Кроме всего прочего по лукапу нельзя сортировать, а в случае с фамилиями это наверняка потребуется.


← →
stranger71   (2002-12-29 09:38) [4]

ИМХО
TQuery в этом смысле (lookup-поля) ничем не отличается от TTable.

Сортировать по лукапу можно, если использовать подобный запрос:
Select T1.*
from Table1 T1, Table2 T2
where t1.Cod=t2.Cod
order by T2.FIO

З.Ы. Метод, предложенный Sergey13 ничуть не хуже, хотя есть свои нюансы реализации



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

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



Память: 0.46 MB
Время: 0.013 c
1-72372
SeF
2003-01-13 03:06
2003.01.23
биты...


9-72015
Джастер
2002-07-22 17:08
2003.01.23
GLScene


1-72216
MyNameIsVova
2003-01-14 13:14
2003.01.23
аналог функции Format


1-72225
Opryshok
2003-01-14 14:51
2003.01.23
TRadioGroup


3-72165
Black Cat
2003-01-02 11:45
2003.01.23
ORA-04021 (таймаут операции блокировки)




   Наверх