powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / опять фильтр...
12 сообщений из 12, страница 1 из 1
опять фильтр...
    #32156915
014789
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
доброго времени суток, товарищ!
проблема состоит в следующем: необходимо в access XP в отчете выводить записи исходя из значения поля в форме.
пробовал писать так:
Me.Filter = ([вид товара] = "весовой") (процедура "на открытие отчета").
ругается, пишет "введенное выражение не содержит значения". и еще, фильтр должен меняться в зависимости от кое-каких условий, так что в св-ве отчета значение фильтра указать не получиться и через запрос тоже никак (в силу объективных причин, объяснять которые слишком долго).
если кто вкурсе - помоготе, плз.
...
Рейтинг: 0 / 0
опять фильтр...
    #32156945
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Фильтр обязан быть выражением срокового типа.
...
Рейтинг: 0 / 0
опять фильтр...
    #32156946
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
То есть строкового.
...
Рейтинг: 0 / 0
опять фильтр...
    #32157082
014789
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to Владимир Саныч
я помимаю, что фильтр должен быть строкою, не нельзя чтобы он это строку брал из поля в форме? если можно - то желательно пример.
...
Рейтинг: 0 / 0
опять фильтр...
    #32157084
014789
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
т.е. Me.Filter = ("вид товара = 'forms.форма.поле.value'")
или что-то около того (знал бы точно - не спрашивал бы)
...
Рейтинг: 0 / 0
опять фильтр...
    #32157085
V. Motchulsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Самый простой способ, через OpenArgs передать свойство RecordSource и
Код: plaintext
1.
2.
Private Sub Report_Open(Cancel As Integer)
Me.RecordSource=Me.OpenArgs
End Sub

Например:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Private Sub OpenReport(I as Integer)
Dim S as String
Select Case I
Case  1 
    S= "Select * from table1 where col1=col2" 
Case  2 
    S= "exec testproc 1 "
Case  3 
    S= "exec testproc 1 , , 'String'"
End select
DoCmd.OpenReport ReportName, , , , , S
End Sub
...
Рейтинг: 0 / 0
опять фильтр...
    #32157086
014789
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to V. Motchulsky
может я чего не понял, но мне надо брать этот самый where из формы.
...
Рейтинг: 0 / 0
опять фильтр...
    #32157442
АлексейЕ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Me.Filter = "вид товара = '" & forms.форма.поле.value & "'"
...
Рейтинг: 0 / 0
опять фильтр...
    #32157476
014789
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to АлексейЕ
написал Me.Filter = "вид товара = '" & forms.форма.поле.value & "'", так он теперь ругается на строку "DoCmd.OpenReport stDocName, acPreview" в форме, откуда я вызываю отчет говорит "ошибка синтаксиса (пропущен оператор) в выражении запроса '(вид товара='торт 0.75 кг')'
...
Рейтинг: 0 / 0
опять фильтр...
    #32157533
АлексейЕ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А скобки откуда?

В отчете

Private Sub Report_Open(Cancel As Integer)
Me.Filter = "вид товара = '" & Forms![Форма]![Поле] & "'"
Me.FilterOn = True
End Sub
...
Рейтинг: 0 / 0
опять фильтр...
    #32157736
V. Motchulsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может я чего не понял, но мне надо брать этот самый where из формы.
А откуда отчет открывается, не из фомы что ли? Оставляем в отчете поле RecordSource пустым. Запрос полностью формируем в форме.
Например до этого было RecordSource="Товары", в форме формируем строку
Код: plaintext
1.
2.
3.
4.
If not IsNULL(Me.ВидТовара) then
   S= "Select * FROM Товары Where ВидТовара='"  + Me.ВидТовара + '"  
ELSE 
   S= "Select * FROM Товары" 
End if
...
Рейтинг: 0 / 0
опять фильтр...
    #32158073
014789
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to all
спасибо всем кто пытался мне, бестолковому чайнику, объяснить как пользоваться фильтром. сделал по варианту АлексейЕ - все ok, так что ему как говориться "отдельный респект с примесью легкого обажания".
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / опять фильтр...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]