Форум: "Базы";
Текущий архив: 2003.03.24;
Скачать: [xml.tar.bz2];
ВнизПоиск части строки Найти похожие ветки
← →
Dim!S (2003-03-04 03:41) [0]Уважаемые мастера!
Как сделать так чтобы поиск велся по части строки.
Пример:
Есть поле Korres(текстовое). В нем есть: предприниматель(ЧП, част. пред. или просто без всего) Сидоров
Задача:
Необходимо организовать поиск по части строки и желательно без учета регистра символов. Как это лучше осуществить? Может кусочек кода у кого есть?
Спасибо.
← →
Наталия (2003-03-04 06:06) [1]Используй запрос типа select ... from ... where UPPER(field1)LIKE "%СИДОРОВ%"
← →
Dim!S (2003-03-04 06:31) [2]Используется компонент TTable
← →
aaa3aaa (2003-03-04 07:09) [3]Используется компонент TTable
тогда Filter
но ИМХО . Лучше б ты послушал
> Наталия © (04.03.03 06:06)
Потому как загоняешь себя в угол ограниченных возможностей.
← →
Наталия (2003-03-04 07:15) [4]Locate не пробовал?
← →
Соловьев (2003-03-04 09:21) [5]Событие onFilterRecord у TTable. Access := true когда у тебя выполняется нужное условие.
← →
denary (2003-03-06 01:47) [6]Locate с двумя параметрами - именно по части строки и без учета регистра символов. Наизусть их не помню, посмотри формат.
← →
kaif (2003-03-06 02:02) [7]Делай через запрос TQuery. Через TTable не делай. Запросы такого рода в Paradox происходят очень быстро (из 3000 записей LIKE сработает за 50 миллисекунд). А через TTable будешь более 1 сек ждать.
← →
leonon (2003-03-06 09:55) [8]// Поиск нужной записи по полю от текущего положения
function TfrmSprav.FindRecord(aField : TField): boolean;
Var
B : TBookMark;
Splash : TForm;
begin
Result := False;
if InputQuery("Поиск", "Укажите значение для поля ""+aField.DisplayName+""", LastFindStr) then begin
Splash := ShowSplashWindow(Application.Icon,"Обработка данных. Подождите, пожалуйста...", False,
Application.MainForm);
Application.ProcessMessages;
Grid.DataSource.DataSet.DisableControls;
try
B := Grid.DataSource.DataSet.GetBookmark;
While Not Result and Not Grid.DataSource.DataSet.Eof do begin
Grid.DataSource.DataSet.Next;
Result := Pos(AnsiUpperCase(Trim(LastFindStr)),
AnsiUpperCase(Trim(Grid.DataSource.DataSet.FieldByName(aField.FullName).AsString))) <> 0;
end;
if Not Result then Grid.Datasource.Dataset.GotoBookmark(B);
finally
Splash.Free;
Grid.Datasource.Dataset.EnableControls;
end;
if Not Result then MsgBox("Внимание", "Запись не найдена!", mb_IconInformation + mb_Ok);
end;
end;
← →
VAleksey (2003-03-06 10:18) [9]Назнач условие фильтра, а потом методы датасета
FindFirst и FindNext
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.03.24;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c