Access фильтры

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
VeBMoN
Сообщения: 10
Зарегистрирован: 18 мар 2005, 07:41

Такая проблема:
На одной форме есть 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>= [ВозрастДо]).

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

Как сделать одновременно 3 сложных фильтра для формы?
Пример условия одного фильтра (остальные условия имеют такую же структуру):

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

Заранее благодарен за помощь!!!
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Ну а взять все фильтры в скобки и объединить с помощью And?
Или я не понял вопрос?
VeBMoN
Сообщения: 10
Зарегистрирован: 18 мар 2005, 07:41

Я пытался, но Access пишет, что слишком длинное условие. Думаю надо писать три отдельных фильтра на VBA, но вот как...?
Ответить