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

Форум: MS ACCESS

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

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

 
 

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

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

тема: При фильтрации просто не содержимое полей не показывается,а строки не убираются MSA 2002
 
 автор: Dutch Shultz   (19.11.2008 в 18:34)   личное сообщение
 
 

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

Например начал вводить ва над полем клиент
остались записи с валентинами,валериями
над полем страховщик начал вводить ре
отпали записи с валентинами и валериями с другими страховыми конторами, кроме ренессанса и ресо

Как бы так осуществить вот такую быструю фильтрацию,что 4 клавишами дать всех валентинов и валериев,застраховавшихся в ренессансе и ресо (как пример), или такой пример на практике не будет не столь эффективен.

Начал экспериментировать с изменением поля,но что-то не выходит,потому как все записи остаются, а просто исчезают (как в вышеуказанном примере) поля кроме полей с валентинами и валериями):

Private Sub Поиск1_Change()
Me![Клиент].RowSource = "select * from клиенты where клиенты.[ФИО] Like '" & Me!Поиск1.Text & "*'"
Me![Клиент].Requery
End Sub

Подскажите,пож-ста!

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

Как то так, например переделать роусоурс:

Me![Клиент].RowSource = "select * from клиенты where клиенты.[ФИО] Like '" & Me!Поиск1.Text & "*'" OR клиенты.[Страховщик] Like '" & Me!Поиск2.Text & "*'"



Но перед этим еще осуществить проверку на NULL

  Ответить  
 
 автор: Dutch Shultz   (20.11.2008 в 14:13)   личное сообщение
19 Кб.
 
 

всем спасибо. Вот мне хотелось бы в этом конкретном примере(прикрепил) сделать так, чтобы ,например,при вводе в поле фильтрсотр буквы М оставались только записи с Масленниковым,Моланичевым и Мошковым, а после ввода буквы В в поле фильтрпост, остались только записи с Мошковым-Вистой и Масленниковым-Востоком.
Может кто-нить подсказать,как это реализовать, или все легче как-то с помощью других приемов сделать?
Заранее спасибо за любые идеи.

  Ответить  
 
 автор: Мюллер   (20.11.2008 в 17:16)   личное сообщение
 
 

Нема часу щас возиться. реализовать можно:
a) закинув батон на форму и по его клику менять рекордсоурс формы. А в ней в условии WHERE перечислить поля через OR
б) На событие типа ченьж или лост фокус полей я бы не заморачиваля - гемора много, а реализовать можно и через кноповку. Хотя может это в силу моей природной или вечерней лени.

  Ответить  
 
 автор: Pasat   (20.11.2008 в 22:34)   личное сообщение
 
 

http://hiprog.com/forum/read.php?id_forum=1&id_theme=3130&page=3
Здесь есть пример фильтрации списка, который потом выбирает записи на форме
смотри последний пост

  Ответить  
 
 автор: Dutch Shultz   (21.11.2008 в 01:33)   личное сообщение
41 Кб.
 
 

Спасибо,я сделал так(мне надо было не 1 поле а записи отфильтровать по полю):

сделал как в приложенном примере,процедуру по полям поиска такую

Private Sub пост_Change()
Me.[Поставщик].Requery
Me.Refresh
Me.Filter = "[Поставщик] like '" & Trim([пост]) & "*'"
Me.FilterOn = True
Me.пост.SelStart = Len(Me!пост.Text)
End Sub

Работает,но есть 2 НО:
1.если текстовые поля в форме,то работает(см. форму Глав),а если поля-поля со списком,т.е. Поставщик,Сотрудник и Товар уже будет кодом,а не текстовым значением,не работает(см.форму Главная), а
Me.Filter = "[Поставщик].Column(1) like '" & Trim([пост]) & "*'"
не работает. Как на фильтре это можно исправить?

2.как можно "заморозить"фильтр, т.е. следующий поиск будет не из всех записей,а уже выбранных в первом фильтре - как у меня в форме Глав-я фильтрую сотрудников, а когда хочу по тним отфильтровать товары, то товары фильтруются не по уже выбранным сотрудникам,а по всем.

Заранее спасибо.

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