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

Вниз

не работает onFilterRecord   Найти похожие ветки 

 
alex-ran   (2002-06-07 12:20) [0]

Доброго всем времени суток.
В моей таблице используются подстановочные поля. И если я в качестве условия фильтра использую такое поле то всегда возвращается пустой набор.
Если использую обычное поле (fkData) то все нормально - фильтр работает. Например (поле "femaly" типа fkData, поле "telephon" типа fkLookup):
Accept:=DataSet["femaly"]="Моя фамилия" - работает
Accept:=DataSet["femaly"]="Мой телефон" - не работает

Уважаемые мастера, не подскажите в чем дело?
Или поля подстановки вообще нельзя использовать?


 
alex-ran   (2002-06-07 12:27) [1]

опечатался :) вторая строка кода
Accept:=DataSet["telephon"]="Мой телефон" - не работает


 
kaif   (2002-06-07 12:33) [2]

Боюсь, что нельзя использовать Lookup поля для фильтрации. Я даже не пробовал никогда. Мне кажется, что сначала по логике вещей нужно получить данные в DataSet, а уже потом разрешать ссылки. А OnFilterRecord заведует именно получением данных в набор. Следовательно на этой стадии просмотр lookup должен быть невозможен, так как еще нет данных о KeyValue для заглядывания в lookup и мне тут видится логическое противоречие... Но может, я и ошибаюсь.
Попытайся вместо Lookup использовать вычисляемое поле (fkCalculated) и руками сделай в OnCalcFields "заглядывание" в lookup таблицу. Это,возможно, сработает.


 
Nikolay M.   (2002-06-07 12:35) [3]

В принципе логично, что сначала решается вопрос, удовлетворяет ли запись наложенным фильтрам и только потом (если запись проходит фильтры) вычисляются значения Lookup и Calculated полей. Я с этим тоже столкнуля при Calculated-полях, поэтому мне было проще: я брал значение не Query1MY_CALC_FIELD.AsInteger, а значение функции, которая считала вычисляла значение этого поля в OnCalcFields. Твой выход из ситуации - завести побочный запрос, таблицу или вообще динамический массив в памяти и по OnFilterRecord искать в них по первичному ключу соответствующее значение твоего Lookup-поля.
Возможно, есть более красивые варианты, но это первое. что приходит в голову, а если нормально организуешь подключаемую таблицу в виде динамического массива (отсортируешь по ID, например, для ускорения поиска) то все будет работать достаточно быстро.


 
Nikolay M.   (2002-06-07 12:37) [4]

2
> kaif © (07.06.02 12:33)

опередил на 2 минуты :))



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

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

Наверх





Память: 0.45 MB
Время: 0.007 c
1-1080
tovSuhov
2002-06-19 07:52
2002.07.01
TreeView и StateImages...


7-1223
sammy
2002-04-01 08:11
2002.07.01
озвучка


14-1146
Soldat
2002-05-28 10:16
2002.07.01
нужен ключик к дельфям 5.0


1-1104
DeMoN-777
2002-06-18 21:21
2002.07.01
Сабж


6-1124
chernoruk
2002-04-20 13:22
2002.07.01
Разница между именем компа и IP адресом?





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