Филтрация записей в форме по полю во время его заполнения?

Евген1985
Дата: 09.01.2012 14:00:55
Здравствуйте. Хотел задать вопрос. Имеется форма в которой показываются записи. Есть поле для ввода. Есть желание сделать так чтоб во время заполнения этого поля текстовым значением происходила постепенная фильтрация согласно введенным в это поле данным. Например ввожу в поле "Т" - филтруются записи у котороых в определенном поле первая Т, затем ввожу "у" - остаются записи с полями "Ту" и т.д.. Заранее благодарствую.
Сказочный леший
Дата: 09.01.2012 14:05:47
постою, послушаю. Тоже надо как-то было.
ё
Дата: 09.01.2012 14:22:19
Евген1985
Здравствуйте. Хотел задать вопрос. Имеется форма в которой показываются записи. Есть поле для ввода. Есть желание сделать так чтоб во время заполнения этого поля текстовым значением происходила постепенная фильтрация согласно введенным в это поле данным. Например ввожу в поле "Т" - филтруются записи у котороых в определенном поле первая Т, затем ввожу "у" - остаются записи с полями "Ту" и т.д.. Заранее благодарствую.

в событии Change "поле для ввода", создаёте строку запроса с фильтром
и присваиваете её me.recordsource
Евген1985
Дата: 09.01.2012 15:28:50
ё
Евген1985
Здравствуйте. Хотел задать вопрос. Имеется форма в которой показываются записи. Есть поле для ввода. Есть желание сделать так чтоб во время заполнения этого поля текстовым значением происходила постепенная фильтрация согласно введенным в это поле данным. Например ввожу в поле "Т" - филтруются записи у котороых в определенном поле первая Т, затем ввожу "у" - остаются записи с полями "Ту" и т.д.. Заранее благодарствую.

в событии Change "поле для ввода", создаёте строку запроса с фильтром
и присваиваете её me.recordsource

Если можно по конкретнее как я понимаю конструкция должна быть следующая:
Private Sub Поле_Change()
Dim sql As String
sql = "SELECT Subblok.Name FROM Subblok WHERE (((Subblok.Name)=[Forms]![Subblok]![Поле])) ORDER BY Subblok.Name; "
Me.RecordSource = sql
End Sub

У меня получается после ввода первого символа все записи исчезают(даже если поля с таким символом присутствуют) и курсор ввода переходит на поле пустой записи(т.е. если продолжать ввод данных они вводятся в поле Subblok.Name) - для дальнейшего ввода в поле по которому должна происходить фильтрация, необходимо перевести на него курсор.А это неудобно. Может я что то не так написал в коде?
mds_world
Дата: 09.01.2012 15:39:35
Вместо Value поля формы, нужно брать свойство Text
sql = "SELECT Subblok.Name FROM Subblok WHERE Subblok.Name='" & me.[Поле].Text & "' ORDER BY Subblok.Name; "
alvk
Дата: 09.01.2012 15:41:05
Евген1985,


Евген1985
WHERE (((Subblok.Name)=[Forms]![Subblok]![Поле])) 


Ибо --->

where Subblok.Name like '*" & [Forms]![Subblok]![Поле] & "*' 
alvk
Дата: 09.01.2012 15:41:58
alvk,

ну и text тоже конечно.
mds_world
Дата: 09.01.2012 15:42:04
И, наверное, нужно Like, а не равенство
sql = "SELECT Subblok.Name FROM Subblok WHERE [Name] Like '*" & me.[Поле].Text & "*' ORDER BY Subblok.Name; "
alvk
Дата: 09.01.2012 15:43:34
mds_world,

mds_world
Дата: 09.01.2012 15:47:46