![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подстановочные поля [D5, Paradox]
Михаил © (2004-05-06 12:54:00)Имеется запрос в TQuery на выборку данных из двух связанных таблиц в DBGrid. Пытаюсь реализовать добавление записей в таблицу через TUpdateSQL. Есть два lookup-поля. Как сделать, чтобы в эти поля можно было при добавлении новой записи не только выбирать данные из подстановочной таблицы, но и заносить новые.
Михаил (2004-05-06 13:39:00) [1]Это не мое стремление, а человека, для которого программа пишется. :))) Спасибо за советы.
Курдль (2004-05-06 13:32:00) [2]
> Нет, не возможно.
Тогда Ваше стремление вносить новую запись, отсутствующую во вспомогательной таблице методически неверно (разве что если в последней всего 2 поля, одно из которых ID).
Если проводить контекстную проверку - это метод. Причем он поддерживается многими inplace (нкаладными, что ли...) LookUp-компонентами. Не знаю, как в стандартном DBGrid или DBGridEh, но в TdxDBGrid есть режим, когда при вводе первого же символа в это поле начинается фильтрация списка по признаку совпадения этого симвлоа.
Михаил (2004-05-06 13:25:00) [3]Нет, не возможно. Я вот о чем подумал - а если не использовать подстановочные поля, а после ввода данных в ячейку проверять есть ли такое значение в таблице и если есть выводить в другое поле из нее значение. Вопрос в том, что я не совсем понимаю, как мне обрабатывать ввод данных в ячейку.
Курдль (2004-05-06 13:18:00) [4]
> Михаил (06.05.04 13:11) [4]
> Что такое денормализованный inplace ComboBox?
Прежде, чем пускаться в утомительные разъяснения, нужно понять, а оно вам надо?
Если есть связь между таблицами по внешнему ключу (как обычно того требует lookup-поля), может быть Вам [2] и не пригодится.
Возможен ли такой вариант, что в таблице, откуда Вы брали значение для своего псевдо-lookup-поля, нет и не будет аналога, содержащегося в основной таблице?
Михаил (2004-05-06 13:11:00) [5]
> Курдль © (06.05.04 13:04) [2]
Что такое денормализованный inplace ComboBox?
Соловьев (2004-05-06 13:09:00) [6]
> Курдль © (06.05.04 13:04) [2]
Да. Имхо, в ЕхЛибе это реализовано классно.
Курдль (2004-05-06 13:04:00) [7]Это нетривиальная задача.
Ведь чтобы занести новое поле нужно создать целую новую запись в таблице, откуда лукапится значение поля. Может Вам нужно не lookup-поле, а денормализованный inplace ComboBox?
Соловьев (2004-05-06 12:56:00) [8]
> но и заносить новые.
заносиш в подстановочную таблицу.