![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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(). |