Форум: "Базы";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
ВнизADO & lookup Найти похожие ветки
← →
nick_van_rijn © (2006-11-24 14:31) [0]Господа подскажите ответ.
Имеется база Access, в ней по умолчанию только таблицы (в структуре только связи таблиц) и одна хранимая процедура(запрос). в делфи создаем динамически объект Хранимой процедуры. и тут возникает проблема, а поля то у нас в возвращаемом процедурой наборе данных есть и lookup? как быть. Есстествено сразу хочется так
ADOStoredProc1.FieldByName("Вид_Документа").LookupDataSet:=Main.Type_Doc;
ADOStoredProc1.FieldByName("Вид_Документа").LookupKeyFields:="Код";
ADOStoredProc1.FieldByName("Вид_Документа").LookupResultField:="Тип_Документа";
ADOStoredProc1.FieldByName("Вид_Документа").Lookup:=true;
но тут ошибка на первой же строчке, извини но не вижу такого поля "Вид_Документа" (набор данных то закрыт), но если его открыть то говорит что изменения формата поля возможно только при закрытом наборе данных. и как же быть?
← →
Sergey13 © (2006-11-24 14:52) [1]> и тут возникает проблема, а поля то у нас в возвращаемом
> процедурой наборе данных есть и lookup? как быть
В наборе, возвращаемом процедурой, не может быть лукап полей. Лукапы - это на клиенте, когда один набор данных смотрит на другой набор данных.
← →
nick_van_rijn © (2006-11-24 15:20) [2]но статично ведь я могу получить поля процедуры и назначить их лукапами?
← →
Anatoly Podgoretsky © (2006-11-24 15:27) [3]> nick_van_rijn (24.11.2006 15:20:02) [2]
Не можешь, нет полей у процедуры.
← →
nick_van_rijn © (2006-11-24 15:32) [4]ээээ могу...=) у меня статично все лукап поля в гриде видны как положено...
← →
nick_van_rijn © (2006-11-24 15:33) [5]ну объекту сторепроц жму правой кнопкой, филдсэдитор, добавить и пожалуйста все поля процедуры есть
← →
ANB © (2006-11-24 15:38) [6]
> ну объекту сторепроц жму правой кнопкой, филдсэдитор, добавить
> и пожалуйста все поля процедуры есть
Они не локаповые с точки зрения дэйтасета, т.к. он не может их отличить от реальных полей.
← →
nick_van_rijn © (2006-11-24 15:42) [7]понятно что Access не понимает что я от него хочу, у него просто цифры в ключевых полях для лукапов, но вопрос статически в делфи это делается, и как так же сделать динамически?
← →
sniknik © (2006-11-24 16:04) [8]> пожалуйста все поля процедуры есть
это поля возвращаемого рекордсета
> понятно что Access не понимает что я от него хочу
при чем тут аксесс? программу пишешь ты, и лукапы это клиентская "фенечка", серверу на них плевать безоговорочно (любому, не только движку аксесс).
поэтому не перекладывай с больной головы на здоровую, это ты не понимаешь сам чего хочеш.
← →
Sergey13 © (2006-11-24 16:06) [9]> [7] nick_van_rijn © (24.11.06 15:42)
Для начала спокойно и подробно, по русски, со знаками препинания, озвучь задачу. Желательно без терминологии. 8-)
← →
Anatoly Podgoretsky © (2006-11-24 16:07) [10]> nick_van_rijn (24.11.2006 15:33:05) [5]
А где тогда там лукап?
← →
Anatoly Podgoretsky © (2006-11-24 16:08) [11]> Sergey13 (24.11.2006 16:06:09) [9]
> Желательно без терминологии. 8-)
Желательно c терминологией, но не самопальной.
← →
nick_van_rijn © (2006-11-24 16:15) [12]да ничего я никуда не перекладываю, все эти фенечки я и сам понимаю.
как мне на КЛИЕНТЕ не создавать 20 статичных объектов хранимых процедур только для того что бы отображать лукаповые поля в гриде.
← →
nick_van_rijn © (2006-11-24 16:16) [13]объясняю без терминологии(любого типа)...
← →
Anatoly Podgoretsky © (2006-11-24 16:27) [14]> nick_van_rijn (24.11.2006 16:15:12) [12]
Никак, или статические поля в наборе или лукапы. В первом случае об "отображать лукаповые поля в гриде." говорить не приходится.
← →
nick_van_rijn © (2006-11-24 16:28) [15]Создано 3 основные таблицы, связаных друг с другом последовательно (1->2->3). К ним добавлены справочники, которые используются для хранения повторяющихся значений в основных таблицах. При работе со строками 3 основных таблиц основная работа происходит с записями все трех таблиц(запросы вида select .... union select ... union select .... union, что то вроде журнала документов).
Просчитаввозможные варианты фильтрации и их количество сделал вывод что удобно было эти фильтрации удобно реализовать в виде хранимых и вызывать когда надо, передавая им параметры. Все так и заработало. но теперь хотелось бы увидеть значения полей из справочников вместо кодов ключевых полей для связи со справочниками.
← →
nick_van_rijn © (2006-11-24 16:33) [16]>Никак, или статические поля в наборе или лукапы. Спасибо за ответ.
← →
Sergey13 © (2006-11-24 16:34) [17]> основная работа происходит с записями все трех таблиц(запросы
> вида select .... union select ... union select .... union,
> что то вроде журнала документов).
Что-то мне это не нравится. Много union-ов говорит о недопроектированности, ИМХО.
> но теперь хотелось бы увидеть значения полей из справочников
> вместо кодов ключевых полей для связи со справочниками.
Добавь в датасет на клиенте лукапные поля ссылающиеся на датасеты справочников и наслаждайся.
← →
Anatoly Podgoretsky © (2006-11-24 16:34) [18]> nick_van_rijn (24.11.2006 16:28:15) [15]
JOIN тогда
← →
Виталий Панасенко (2006-11-24 16:47) [19]select a.id, b.name from table1 a
join table2 b
on (a.id=b.id)
не подходит ?
← →
nick_van_rijn © (2006-11-24 17:33) [20]>select a.id, b.name from table1 a
>join table2 b
>on (a.id=b.id)
>не подходит ?
нда, ну вот вчера токо запросы учить начал, до главы Join не дошел еще.
только у меня к каждой из 3 главных всего 5 справочников какие же это запросы получатся....?
хотя третьего тут не дано.
← →
Anatoly Podgoretsky © (2006-11-24 18:14) [21]> nick_van_rijn (24.11.2006 17:33:20) [20]
Да хоть 20 экранов.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.081 c