Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.046 c
1-1167220481
Megabyte
2006-12-27 14:54
2007.02.18
Web-модули, странное поведение шаблона


1-1167034804
Opilki_Inside
2006-12-25 11:20
2007.02.18
Отключить окно с CPU


2-1170424258
Garacio
2007-02-02 16:50
2007.02.18
Текущая дата в формате dd.mm.yy


15-1169735064
Chort
2007-01-25 17:24
2007.02.18
Стоимость кабеля для Интернет


4-1160388543
novice_man
2006-10-09 14:09
2007.02.18
Использование SHBrowseForFolder.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский