Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.08.04;
Скачать: [xml.tar.bz2];

Вниз

Фильтр и индекс по Lookup полю   Найти похожие ветки 

 
OlkaGTS   (2003-07-11 14:07) [0]

Уважаемые мастера!
Есть ли какой-нибудь способ фильтровать и индексировать Lookup поля?
Пробовала сделать поле типа InternalCalc и вычислять его по другой таблицы, но в этом случае получается примерно следующее:
если я исправляю значения в таблице из которой я беру значения для вычисляемого поля, то само вычисляемое поле содержит правильные данные, но фильтр и индекс строится по старым значениям.


 
DenK_vrtz   (2003-07-11 14:20) [1]

Может быть фильтр наложить на НД, на который идет ссылка Lookup поля?
Или ты не про то?


 
Zacho   (2003-07-11 14:21) [2]

Какой еще индекс ? Нет в клиентском приложении никаких индексов. А на сервере нет lookup полей.
Напиши более конкретно, что именно тебе надо.


 
OlkaGTS   (2003-07-11 14:33) [3]

Конкретно:
Есть клиентский набор 1:
Запчасти
IDЗП ЗП IDПроизводителя
Клиентский набор 2
IDПроизводителя Производитель
В гриде надо видеть, редактировать, фильтровать, упорядочивать:
ЗП Производитель


 
Pat   (2003-07-11 15:09) [4]

>Есть ли какой-нибудь способ фильтровать...
OnFilterRecord либо см. далее..

>...и индексировать...(насколько я понял, нужно упорядочение записей)
Запрос с Join"ом


 
Жук   (2003-07-11 15:33) [5]


> OlkaGTS © (11.07.03 14:33)

Не надо перегружать работой клиента, а организация Lookup-полей в гриде приводит к большей ресурсоёмкости. Нужно, по возможности, делать все вычисления на сервере, раз вы ИБ пользуютесь. Просто правильно составьте запрос для DataSet. У вас здесь стандартное отношение "мастер-детал".


 
OlkaGTS   (2003-07-11 15:51) [6]

Запрос не подходит. Все надо делать на клиенте из-за того что надо использовать модель "портфеля"


 
Жук   (2003-07-11 15:55) [7]


> OlkaGTS © (11.07.03 15:51)
> надо использовать модель "портфеля"

Это что за зверь ? :-)


 
Соловьев   (2003-07-11 16:08) [8]


> Запрос не подходит. Все надо делать на клиенте из-за того
> что надо использовать модель "портфеля"

MIDAS?
procedure TForm.DBGrid.TitleClick(Column: TColumn)
begin
ClientDataSet.IndexFieldNames := Column.Name;
end;


 
OlkaGTS   (2003-07-11 16:13) [9]

Это когда все, что есть в клиентских наборах сохраняется в файлы на локальном диске и все время можно работать без коннекта к базе. А потом когда заведется коннект, можно все сохранить.


 
OlkaGTS   (2003-07-11 16:23) [10]

Lookup поле в IndexFieldNames подставить невозможно. Если же сделать поле InternalCalc, то и индекс и фильтр ведет себя неадекватно. Все, что добавлено в текущем сеансе программы на фильтр никак не действует, т.е. в гриде отображается нормальное значение вычисляемого поля, а в OnFilterRecord значение вычисляемого поля такое, как было, когда программу запускали


 
VAleksey   (2003-07-11 17:52) [11]

Хоть это и неправильно, НО в таком случае тебе надо в таблице завести еще одно поле - дубль значений из LookUp поля. Обновлять его будешь при каждом изменении таблицы значением из лукап поля. Соответственно и индекс и фильтры по нему можешь делать.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.08.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
14-10359
DenKop
2003-07-17 14:18
2003.08.04
Где взять простой ftp сервер для win.


1-10281
Beginner3000
2003-07-16 00:42
2003.08.04
Вопросы по строкам


14-10411
tovSuhov
2003-07-17 13:36
2003.08.04
Вопрос немного не из той степи...


14-10375
VEG
2003-07-16 14:44
2003.08.04
Откуда берется ОН?


1-10262
strannic
2003-07-21 14:23
2003.08.04
*.rc импортировать в Delphi





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский