Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > мастер подстановок (access) + Ehlib


Автор: delphi_ 21.11.2009, 20:14
имеется такой вопрос-как сделать чтобы при редактировании таблицы из DbGridEh выползала бы подстановка значения как в Access(из др таблицы)?

 на рисунке показано как надо бы (сверху)

Автор: chip_and_dayl 21.11.2009, 20:41
AdoTable используешь?

Автор: chip_and_dayl 21.11.2009, 20:59
Если да, то выбираешь AdoTable главной таблицы, где ты хочешь добавить это постановочное поле, два раза по нем кликаеш, потом вызываешь контекстное меню и  выбираешь New field, в окне вводишь имя столбика постановочного, тип этого же столбика и  размер. Переключатель ставишь в положение Lookup. Ниже станут доступные поля. В первом поле выбираешь столбец по котором главная таблица связывается с другой таблицой, во втором поле выбираешь AdoTable второй таблицы с которой будут браться данные, третье поле выбираешь поле второй таблицы с помощью которого связывается с первой, и последнее поле выбираешь поле, которое должно выводится, то есть то, что должно выводится вместо кодов:)

Автор: Akella 23.11.2009, 10:05
1. Посмотри примеры.
2. В наборе данных используй lookup поля и DbGridEh сам для таких полей сделает выпадающий список

Автор: delphi_ 25.11.2009, 20:34
Цитата(chip_and_dayl @ 21.11.2009,  20:59)
Если да, то выбираешь AdoTable главной таблицы, где ты хочешь добавить это постановочное поле, два раза по нем кликаеш, потом вызываешь контекстное меню и  выбираешь New field, в окне вводишь имя столбика постановочного, тип этого же столбика и  размер. Переключатель ставишь в положение Lookup. Ниже станут доступные поля. В первом поле выбираешь столбец по котором главная таблица связывается с другой таблицой, во втором поле выбираешь AdoTable второй таблицы с которой будут браться данные, третье поле выбираешь поле второй таблицы с помощью которого связывается с первой, и последнее поле выбираешь поле, которое должно выводится, то есть то, что должно выводится вместо кодовsmile

ух жесть...не совсем понял
у меня 2 таблицы

|--------------------------------------|
|ID_машины | Клиент | Дата   |
|--------------------------------------|


|---------------------------------------|
|ID_машины | Модель машины |
|---------------------------------------|

Итак,мне нужно чтобы при просмотре первой таблицы и соотв клике на поле я бы выбирал и видил записи из второй таблицы полностью (ID и модель) ,но при выборе в первую таблицу вставлялся бы только ID,разумеется


Выбираю ADOTable,выбираю Add New Field...  вводишь имя столбика постановочного ..всмысле подстановочный ?чет до меня не доходит.Имеется ввиду ID_машины ?

Автор: chip_and_dayl 25.11.2009, 21:37
delphi_
...и  выбираешь New field, в появившемся окне вводишь 

1. имя столбика подстановочного (любое, разницы нету), тип этого же столбика (в твоем  случае выбираешь стринг) и  размер (сколько занимает самое большое название модели? символов 20? Вот и ставь размер 20). 

2. Переключатель ставишь в положение Lookup. Ниже станут доступные поля. 

3. В первом поле выбираешь ID_машины главной таблицы, во втором поле выбираешь AdoTable второй таблицы с которой будут браться данные (то есть таблица наименований моделей), третье поле выбираешь ID_машины второй таблицы , и последнее поле выбираешь поле, которое должно выводится -  Модель машины

Автор: chip_and_dayl 27.11.2009, 23:06
delphi_

Автор: chip_and_dayl 27.11.2009, 23:29
Такое должно быть?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)