Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.24;
Скачать: CL | DM;

Вниз

Поиск части строки   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
6-76544
Cherepovets
2003-02-03 13:55
2003.03.24
Атентификация и как ее сделать


3-76275
td
2003-03-06 19:11
2003.03.24
длинное выражение для фильтра


3-76360
Conder
2003-03-05 16:51
2003.03.24
Преобразование типа в SQL запросе...


3-76271
Unicorn
2003-03-06 10:45
2003.03.24
SQl-запрос на копирование


3-76279
Grom
2003-03-04 12:33
2003.03.24
Sql help