Страница 1 из 1

Access фильтры

Добавлено: 15 май 2005, 18:02
VeBMoN
Такая проблема:
На одной форме есть 6 текстовых полей : ВозрастОт, ВозрастДо, ВремяОт, ВремяДо, КоличествоОт, КоличествоДо, а в таблице 6 соответствующих им ячеек: AgeBeg, AgeEnd, TimeBeg, TimeEnd, NumBeg, NumEnd.
Как сделать фильтр, с помощью которого отбираются такие строки данных, соответствующие области которых пересекаются. Например для возраста проверка на пересечение выглядит так:

(agebeg>= [ВозрастОт] And ageend<= [ВозрастДо]) Or (agebeg<= [ВозрастОт] And ageend>= [ВозрастДо]) Or (agebeg<= [ВозрастОт] And (ageend>= [ВозрастОт] And ageend <= [ВозрастДо])) Or ((agebeg>= [ВозрастОт] And agebeg [ВозрастДо]) And ageend>= [ВозрастДо]).

Аналогично для времени и количества. Все три проверки должны выполняться одновременно.
Подскажите, как выполнить такую задачу.
Заранее благодарен за помощь!

Добавлено: 18 май 2005, 18:20
VeBMoN
Как сделать одновременно 3 сложных фильтра для формы?
Пример условия одного фильтра (остальные условия имеют такую же структуру):

(agebeg>= [ВозрастОт] And ageend<= [ВозрастДо]) Or (agebeg<= [ВозрастОт] And ageend>= [ВозрастДо]) Or (agebeg<= [ВозрастОт] And (ageend>= [ВозрастОт] And ageend <= [ВозрастДо])) Or ((agebeg>= [ВозрастОт] And agebeg [ВозрастДо]) And ageend>= [ВозрастДо]).

Заранее благодарен за помощь!!!

Добавлено: 19 май 2005, 01:38
Naeel Maqsudov
Ну а взять все фильтры в скобки и объединить с помощью And?
Или я не понял вопрос?

Добавлено: 19 май 2005, 17:55
VeBMoN
Я пытался, но Access пишет, что слишком длинное условие. Думаю надо писать три отдельных фильтра на VBA, но вот как...?