LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Фильтр в ...
 Тема: Фильтр в отчете
 
 15.06.2007 21:02:11
Solo1
1 сообщения


Тема: Фильтр в отчете
Здравствуйте!
У меня есть форма, в которой надо отфильтровать записи и потом их распечатать с учетом этого фильтра. Я это решаю простым копированием:
Reports![MyReport].Filter=Forms![MyForm].Filter
на событие "Открытие отчета".
Однако данный прием не работает в случае, если:
1. Фильтр по нескольким полям
2. Фильтр по полю типа ComboBox
Я заметил, что отчету не нравятся выражения в фильтрах типа: Looku, AND и т.д.
Спасибо!


P.S. Проблемы с базой данных
Автор: Solo от 25.03.2002 18:02:44 Источник ...
 15.06.2007 21:02:11
AlexS
3 сообщения


RE: Фильтр в отчете
А, что нельзя
DoCmd.OpenReport имяОтчета ,,, условиеWhere
Где в качестве условиеWhere подставляет условие фильтра



P.S. Проблемы с базой данных
Автор: AlexS от 27.03.2002 6:19:57 Источник ...
 15.06.2007 21:02:11
AlexS
3 сообщения


RE: Фильтр в отчете
А, что нельзя
DoCmd.OpenReport имяОтчета ,,, условиеWhere
Где в качестве условиеWhere подставляет условие фильтра



P.S. Проблемы с базой данных
Автор: AlexS от 27.03.2002 6:20:22 Источник ...
 15.06.2007 21:02:11
Solo
3 сообщения


RE: Фильтр в отчете
Все дело в том, что заранее не известен параметр Where.К тому же, если сделать так:
Dim strFilter As String
strFilter=Forms![MyForm].Filter
DoCmd.OpenReport ...,strFilter [параметр Where]
то такая схема не работает - отчет выводит все записи.
Если бы можно было сохранять фильтр как запрос в самой программе, то такой запрос вполне устраил бы отчет в качестве источника данных. Я проверял это вручную - работает.
Может кто знает, как это можно сделать?


P.S. Проблемы с базой данных
Автор: Solo от 01.04.2002 18:11:45 Источник ...
 15.06.2007 21:02:11
Николай3
48 сообщения


RE: Фильтр в отчете
В команде DoCmd.OpenReport ... указывается имя фильтра, т.е. имя сохраненного запроса, используемого как фильтр
Можно создать запрос программно, но на мой взгляд удобнее создать Public строковую переменную, куда можно записать условие отбора:

Function PP()
strFilter = "[Выражение1]>20 AND [Выражение3]>300"
DoCmd.OpenReport "R1", acViewPreview
End Function


а на открытие отчета выполнить процедуру:
Private Sub Report_Open(Cancel As Integer)
Me.Filter = strFilter
Me.FilterOn = True
End Sub



P.S. Проблемы с базой данных
Автор: Николай от 02.04.2002 3:20:02 Источник ...
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Фильтр в ...
ПоискПоиск  Список форумовСписок форумов  
right