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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Создание фильтра
 
 автор: Nik.68   (10.11.2011 в 17:46)   личное сообщение
15 Кб.
 
 

Доброго всем. Прошу помощи, ибо сам не могу разобраться. Вот файл. Таблица заказов и менеджеров. Хочу в форме показывать или все заказы, или по выбранному менеджеру. Подобное скачивал здесь, но к себе перенести не могу, пока чайник в этом. Подсобите, плиз...

  Ответить  
 
 автор: kot_k_k   (10.11.2011 в 18:37)   личное сообщение
 
 

зачем ссылаться a recordsourse само на себя

WHERE (Forms![Текущие заказы]!SelMen='0' Or Men=Forms![Текущие заказы]!SelMen

мы обращаемя к форме которая еще не загружена, т.к. это наша форма.
там нужно ссылаться либо на какую либо другую форму, либо просто ставить

Me.RecordSource = "SELECT IdZak, FIO, Adress, Men, SumZak, Dolg FROM Zakaz WHERE Men=" & me.SelMen
me.Requery

на событие поля SelMen После_обновления.
или включать просто фильтр по значению этого поля (на то же событие)

me.Filter="Men=SelMen"
me.FilterOn=True

  Ответить  
 
 автор: kot_k_k   (10.11.2011 в 18:42)   личное сообщение
 
 

посмотрев откуда растут ноги у поля SelMen
- можно вообще не возиться с этим полем при таком его значении - просто вышемной сказаное нужно повесить на событие даблклик по полю Men - например и тогда можно как написать

me.Filter="Men=" & me.Men
me.FilterOn=True

вот отфильтрует.
а на одинарный клик по томуже полю повесить уделение фильтра
me.FilterOn=False

п.с. условие Where .... - конечно нужно убрать

  Ответить  
 
 автор: Nik.68   (11.11.2011 в 11:01)   личное сообщение
15 Кб.
 
 

Спасибо, но почему-то выходит ошибка "пропущен оператор в выражении запроса Men= & me.SelMen". Если я условие Where убираю, прохожу дальше. Но пр выборе менеджера появляется окно "Введите значение параметра" с пустой строчкой. Если ввести имя - сортирует по нему. Но почему после выбора выходит окно?

  Ответить  
 
 автор: Дядя Федор   (11.11.2011 в 11:09)   личное сообщение
 
 


Private Sub ПолеСоСписком64_AfterUpdate()
If ПолеСоСписком64 = "Все менеджеры" Then
Me.FilterOn = False
Else
Me.Filter = "Men='" & ПолеСоСписком64 & "'"
Me.FilterOn = True
End If
End Sub

Одинарные кавычки важны.

  Ответить  
 
 автор: kot_k_k   (11.11.2011 в 11:39)   личное сообщение
 
 

Дядя прав, т.к. у вас поле ТЕКСТОВОЕ, а если бы там стоял нормальный ЧИСЛОВОЙ код ID - впросторечии было бы намного легче

  Ответить  
 
 автор: Nik.68   (11.11.2011 в 11:49)   личное сообщение
 
 

Спасибо, по немного вхожу в тему...

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