У меня есть текстовое поле ("D_find" в его идентификаторе) в моей форме, которую я использую для фильтрации данных формы, используя запрос LIKE.
У меня есть следующий код:
Private Sub D_find_AfterUpdate()
Dim fil
fil = Me.D_find
If fil = Null Then
fil = ""
End If
Me.Filter = "DeloN Like '" + fil + "*'"
End Sub
Это работает правильно, если я нажимаю клавишу Tab или фокусирую какой-то другой элемент управления на форме, но мне нужно применить фильтр сразу после события keyup текстового поля, но я не могу этого сделать, потому что, если я использую этот код в D_find_keyup, я всегда имеет D_find НЕДЕЙСТВИТЕЛЕН, но в текущем сценарии он всегда не равен нулю, кроме случаев, когда он пуст.
Вторая проблема, присутствующая в текущем сценарии: после запуска AfterUpdate и применения фильтра цвет текста в текстовом поле D_find будет белым, и он станет черным после того, как я введу что-нибудь в это текстовое поле (D_find) или обрежу некоторый текст.
-
Я извиняюсь за мой плохой английский.