Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Применение фильров в Access + VBA. Помогайте
 
 автор: GoodBus   (05.05.2009 в 09:36)   личное сообщение
 
 

Хочется, чтобы условия для фильтра после нажатия на кнопку брал из текстовых окошек или списков с формы, соответсвенно пишу так как ниже. Каждый раз выскакивает окошко для ввода. Подробного описания синтаксиса .Filter не нашел, подскажите как правильно сделать?


Private Sub bb_2_Click()
DoCmd.OpenReport "report_1", acViewPreview
Set myrep = Reports("report_1")
myrep.Filter = "date>=pole_c.value And date<=pole_do.value "
myrep.FilterOn = True
End Sub

Access2003

  Ответить  
 
 автор: osmor   (05.05.2009 в 10:03)   личное сообщение
 
 

на мой взгляд, лучше использовать открытие отчета с фильтром чем накладывать фильтр на открытый отчет
см. help по DoCmd.OpenReport
как-то примерно так
docmd.OpenReport "report_1",acViewPreview,,"date>=" & pole_c.value & " And date<= " & pole_do.value

Рекомендую СРОЧНО переименовать поле date

  Ответить  
 
 автор: GoodBus   (05.05.2009 в 10:04)   личное сообщение
 
 

Не работает=( Счас будем глядеть, где лишние кавычки или что там

Угу, переименую. Поле с именем IN мне уже крови попртило.

  Ответить  
 
 автор: АлексейЕ   (05.05.2009 в 10:23)   личное сообщение
 
 

Вы конечно это знаете, но на всякий случай напомню...
Из хелпа:


символы дат должны вводиться в американском формате, даже если используется неамериканская версия ядра базы данных Jet. Например, дата 10 мая 1996 года записывается в России как 10.05.94, а в США как 5/10/94. Обязательно заключите даты в символы "решетки" (#)

  Ответить  
 
 автор: osmor   (05.05.2009 в 10:29)   личное сообщение
 
 

Алексей,

GoodBus, см
http://hiprog.com/forum/read.php?id_forum=1&id_theme=5113&page=1
там похожее условие

  Ответить  
 
 автор: GoodBus   (05.05.2009 в 10:29)   личное сообщение
 
 

все равно выскакивают окошки для ввода, никак не хочет брать данные из текстбоксов.

  Ответить  
 
 автор: osmor   (05.05.2009 в 10:31)   личное сообщение
 
 

поля pole_c и pole_do находятсяв той же форме к которой нажимается кнопка открывающая отчет?

  Ответить  
 
 автор: GoodBus   (05.05.2009 в 10:37)   личное сообщение
 
 

угу

  Ответить  
 
 автор: snipe   (05.05.2009 в 10:50)   личное сообщение
 
 

me!pole_c.value
me!pole_do.value

  Ответить  
 
 автор: GoodBus   (05.05.2009 в 11:09)   личное сообщение
 
 

не вканывает=(

  Ответить  
 
 автор: osmor   (05.05.2009 в 11:21)   личное сообщение
 
 

проверьте:
- поля которые используются в фильтре находятся в той же форме что и код вызывающий открытие отчета
- в источника данных отчета нет никаких ссылок на поля других форм
- имена полей в вызове отчета совпадают с их названием в форме
- поле которое используется для фильрации (date) есть в источника данных отчета

если все правильно - должно работать
если не работает дайте кусок базы

  Ответить  
 
 автор: GoodBus   (05.05.2009 в 11:42)   личное сообщение
 
 

в личку кинул

  Ответить  
 
 автор: osmor   (05.05.2009 в 12:11)   личное сообщение
 
 

в источнике записей отчета (т.е. в таблице) нет поля Date
если вы его уже переименовали и это поле DATA_IN
то на кнопку вызова отчета напишите:
DoCmd.OpenReport "report_1", acViewPreview, , "[DATE_IN]>=" & Format(pole_c.Value, "\#mm\/dd\/yyyy\#") & " And [DATE_IN]<= " & Format(pole_do.Value, "\#mm\/dd\/yyyy\#")

  Ответить  
 
 автор: GoodBus   (05.05.2009 в 12:38)   личное сообщение
 
 

Благодарю= ) Работает= ) А как сделать, чтобы еще в выпадающем списке уникальные были значения? Он есть там на форме

  Ответить  
 
 автор: Goblin   (05.05.2009 в 21:43)   личное сообщение
 
 

В свойстве запроса на этот уникальный список. (Уникальные значения - Да).

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList