|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Поиск по частичному совпадению
БД в Access, подключенная через ADO.
Необходимо сделать поиск по полю Организация. У меня код для поиска такой: Код:
procedure TForm3.SpeedButton6Click(Sender: TObject); begin DataModule4.FindQuery.Active:=false; DataModule4.FindQuery.SQL.Clear; DataModule4.FindQuery.SQL.Add('SELECT *'); DataModule4.FindQuery.SQL.Add('FROM ТаблицаГИБДД'); DataModule4.FindQuery.SQL.Add('WHERE Кто LIKE '''+FindEdit.Text+'''' ); DataModule4.FindQuery.Active:=true; Form12.ShowModal; end; lmikle: Пользуемся тегами. Уже 13-е письмо, а правил не знаешь. Дальше будет бан. Не очень удобно в строку поиска полностью вводить наименование организации. Подскажите, пожалуйста, как организовать поиск по частичному совпадению. |
#2
|
|||
|
|||
Wildcards оператора LIKE:
% - заменяет любое кол-во символов, включая 0. _ - заменяет строго один символ. В твоем случае, если нужен поиск по произвольному вхождению, то: Код:
DataModule4.FindQuery.SQL.Add('WHERE Кто LIKE ''%'+FindEdit.Text+'%''' ); Кстати, для поиска без учета регистра (если БД настроена на его учет), то поле надо "завернуть" в UPPER() и строку преобразовать к верхнему регистру через вызов AnsiUpperCase(). |