|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.06.2009, 07:24 | #1 |
Пользователь
Регистрация: 03.06.2009
Сообщений: 22
|
Отображение в lookup данных из разных таблиц
Доброго времени суток форумчане.
Такой вопрос: есть основная таблица назовём её к примеру Таблица 1 в ней есть lookup поле есть таблицы справочники Таблица 2 Таблица 3 (их больше на самом деле), которые содержат не менее 10000 значений Требуется: что бы в Таблица 1 в lookup поле отображались значения из разных таблиц при заранее известном совпадающем типе данных для соответствующих полей таблиц (конечно несколько некорректно с точки зрения теории реляционных бд но этого требует модель составленная на основе реального документа) Все это должно работать под FIREBIRD и достаточно шустро. |
03.06.2009, 08:07 | #2 |
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
Может конесно я не прав, но может стоит создать простой филд и запонять его тригером, а если это нужно в приложении то что мешает использовать для заполнения процедуру а не таблицу. Да и Union вроде не отменили ещё.
ЗЫ: хотя при таком подходе ИМХО стоит подумать не над тем как использовать, а над структурой БД Последний раз редактировалось vovk; 03.06.2009 в 08:12. |
03.06.2009, 08:15 | #3 |
Пользователь
Регистрация: 03.06.2009
Сообщений: 22
|
Это нужно в приложении.
Да с union вариант неплохой - но представьте что нужно объеденить несколько таблиц (10000 записей в каждой) передать всё это на клиентскую машину и всё из за того что необходимо заполнить одно поле. При этом при внесении в один из справочников нового значения опять делать запрос с union |
03.06.2009, 08:22 | #4 |
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
в справочник новое значение всегда вносится отдельно, и желательно для этого предусмотреть отдельную процедуру. А выбор из нескольки справочников каждый из которых имеет не менее 1000 значений это как бы сказать .... ну неотимально чтоли.. может лучше присобачить формочку для внесения/изменения и там в отдельных компонентах будет гооооорааааздо легче организовать поиск нужного значения?
А если заранее известны критерии выбора, то процедура написаная в FB замечательно заменяет выбор из таблицы особенно если условия выбора сложные Последний раз редактировалось vovk; 03.06.2009 в 08:29. |
03.06.2009, 09:15 | #5 |
Пользователь
Регистрация: 03.06.2009
Сообщений: 22
|
Да я с этим полностью согласен... Но в Таблица 1 в поле хранится уникальный код, который соответствует одному из значений из одного из справочников (простите за каламбур).
И когда мы допустим открываем документ содержащий эту Таблицу 1 то хотелось бы видеть подстановочные значения, а не коды. То есть примерно так: есть ли компонент типа DBGrid, который может использовать несколько lookup DataSource, а определять из какого DataSource отображать он должен по полю, в котором содержится код таблицы. 2- Таблица 2 3- Таблица 3 |
03.06.2009, 09:24 | #6 |
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
вот по этому я и говорю, либо стоит пересмотреть структуру БД, либо по другому подойти к отображению данных.
Если несколько справочников надо отображать в 1 , то чем они отличаются?? если не отличаются то может собрать их в 1? А если отличаются то может предусмотреть в таблице их отличия? А отображать если только то это и в запросе предусмотреть можно |
03.06.2009, 09:40 | #7 |
Пользователь
Регистрация: 03.06.2009
Сообщений: 22
|
Таблица 1 - отображает содержимое таблицы реального документа.
Строки таблицы содержат информацию о различных сущностях реального мира, некоторые атрибуты которых, совпадают допустим "наименование", "обозначение", которые и отображаются в основной таблице. При всем при этом важен порядок строк в Таблица 1 т.к. они потом возможно будут меняться автоматизировано на основе других документов. В реальном документе номера строк не обозначены т.е. если и разбить основную таблицу на несколько то на каждую из вновь внесенных строк нужно будет пользователю считать какая это строка и вносить номер строки в отдельное поле. А если документ содержит до 1000 строк как быть? |
03.06.2009, 10:21 | #8 |
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
Честно говоря мало что понял, слишком расплывчато.
Да и вообще запутался.. нельзя ли пояснее желательно с примерами? Ну или в аску |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
отображение слоёв с фиксированной высотой в разных браузерах | st1512 | HTML и CSS | 2 | 19.05.2009 12:32 |
из двух разных таблиц в наименовании нужно выделить артикул повторяющийся в этих таблицах | Екатерина Спирина | Microsoft Office Excel | 16 | 28.04.2009 01:07 |
Проблема отображение таблиц в IE, Opera! | Sem999 | HTML и CSS | 4 | 22.04.2009 19:09 |
обмен данными из двух таблиц (одинаковой структуры) но в разных базах | Tanuska___:) | БД в Delphi | 1 | 26.11.2008 19:41 |
поля из разных связных таблиц в одном dbgrid | Geddar | Помощь студентам | 2 | 15.05.2008 16:57 |