Здравствуйте. Не знаю, насколько верно я сформулировал тему, но вопрос вот в чем. Имеется таблица примерно с 20-ю полями и несколькими внешними ключами. В клиентском приложении поля, соответсвующие внешним ключам должны быть заменены (визуально) на "расшифровки" (соответствующие записи из справочных таблиц). Чтобы не иметь дело с МЕГА запросом, скажем на выборку, и сделать организацию немного лучше, я создаю представление, в котором содержаться И значения внешних ключей (коды) И их "расшифровка" из таблиц-справок. Делаю я это, с мыслью о том, как потом буду добавлять новую запись - меня ведь не интересут "расшифровки", меня интересуют только "коды". Вопрос 1:
Разумен ли такой подход? Есть ли лучшая альтернатива?
Затем, на форме клиентского приложения, я, в общем случае, ставлю DBEdit, если поле не является внешним ключем, и DBComboBox, если является (чтобы можно было выбрать строго определенные значения).
Естественно (для меня), что для каждого DBComboBox-а нужен свой DataSource и DataSet. К примеру, я считал некоторую запись из таблицы (представления). В соответстующих полях должна высветиться информация. Но ComboBox-ы связаны с другим DataSource. Вопрос 2:
Как выбрать из него в текущую ту, которую нужно? Простым сравнением?
К примеру я решил отредактировать запись и изменил текущую ComboBox-а. Вопрос 3:
Как мне теперь получить код его текущего значения из таблицы справки для создания SQL-запроса на вставку в представление (фактически - в таблицу)? Генерировать в программе SQL запрос?
Не подумайте чего. Я просто не хочу наступать на грабли на которые многие из вас по своему опыту уже наступили. Меня интересует принцип. Конкретная реализация не обязательна. Просто, кто как делает.(?)
Связь DataSet и передача значений.
Модератор: kdv
1. Если хочешь использовать сведения из справочных таблиц для связей Master-Detail используй TDBLookUpComboBox а не TDBComboBox
2. Почитай про TIBUpdateSQL, если захочешь использовать в TIBQuery. Или просто используй TIBTable - но не советую, в некоторых ситуациях можно получить хороший "тормоз", особенно при большом количестве справочников и применении фильтрации.
3. Можно обрабатывать как вручную (TEdit + TIBQuery
), так и на автомате (TDBEdit + TTable). Все зависит от ЗАДАЧИ.
2. Почитай про TIBUpdateSQL, если захочешь использовать в TIBQuery. Или просто используй TIBTable - но не советую, в некоторых ситуациях можно получить хороший "тормоз", особенно при большом количестве справочников и применении фильтрации.
3. Можно обрабатывать как вручную (TEdit + TIBQuery
