powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как организовать быстрый поиск с помощью свойства рекодсета Filter?
9 сообщений из 9, страница 1 из 1
Как организовать быстрый поиск с помощью свойства рекодсета Filter?
    #33565173
Есть ADO рекодсет из таблицы Access, из которого пользователь должен выбрать одну запись. На форме быстрый поиск. По мере ввода в текстовое поле, нужно фильтровать этот рекордсет. Вопрос, как этот делать?
Пока у меня такой код:

Private Sub txtQuickSearch_Change()
rstMain.Filter = grdMain.Columns(grdMain.Col).DataField & " like '" & txtQuickSearch.Text & "%'"
End Sub

Но, что если поле числовое (или DateTime)? Как применить в этом случае LIKE?
Каков сиснтаксис конвертации типа поля (в контексте использования св-ва Filter)?

Заранее спасибо.
...
Рейтинг: 0 / 0
Как организовать быстрый поиск с помощью свойства рекодсета Filter?
    #33565197
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
при числовом нет ковычек '' но,
попробуй так Like Clng('" & txtQuickSearch.Text & "%')
а при дате так Like Cdate('" & txtQuickSearch.Text & "%')
но не факт что сработает
...
Рейтинг: 0 / 0
Как организовать быстрый поиск с помощью свойства рекодсета Filter?
    #33565238
И спецсимволов % или * тоже нет при числовом и DateTime?
...
Рейтинг: 0 / 0
Как организовать быстрый поиск с помощью свойства рекодсета Filter?
    #33565325
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
при использовании DateTime
не очень корректно будет менять дату в текстовом поле
DateTime не стоит использовать при like поскольку использовать при этом нужно будет контрол даты как DTPicker а он по любому будет менять все числа в дате


where OrderID like '11%'= такой код работает OrderID=числовая таблица
...
Рейтинг: 0 / 0
Как организовать быстрый поиск с помощью свойства рекодсета Filter?
    #33565350
Спасибо. Но мои опыты показывают, что % не работает с числовым полем.
Вот "ID LIKE 3" работает, а "ID LIKE 3%" не работает (ошибки нет но выдается 0 записей).

И все же мне очень интересно как применить LIKE с типом поля DateTime.
В DAO, например, все это делалось очень просто "CStr([ПолеЛюбогоТипа]) LIKE '...*'"
...
Рейтинг: 0 / 0
Как организовать быстрый поиск с помощью свойства рекодсета Filter?
    #33565468
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а так "ID LIKE '3%'"
твой пример в DAO не работает в АDO?
...
Рейтинг: 0 / 0
Как организовать быстрый поиск с помощью свойства рекодсета Filter?
    #33565507
а так "ID LIKE '3%'"
С апострофами для LIKE с числовым полем возникает ошибка.

твой пример в DAO не работает в АDO?
К сожалению, нет.
У ADO-шного свойства Filter вообще много ограничений.
...
Рейтинг: 0 / 0
Как организовать быстрый поиск с помощью свойства рекодсета Filter?
    #33565527
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может поможет использования SQL запроса а не фильтра
...
Рейтинг: 0 / 0
Как организовать быстрый поиск с помощью свойства рекодсета Filter?
    #33565764
Поможет конечно. Но иногда бывает удобнее именно св-во Filter использовать, да и работает оно быстрее. Поэтому мне и интересно, как же оно все-таки с датами и с LIKE-ом работает.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как организовать быстрый поиск с помощью свойства рекодсета Filter?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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