Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
14-76608
Думкин
2003-03-07 06:54
2003.03.24
Начальство,.. будь оно ....


8-76539
BALU1111
2002-12-10 13:40
2003.03.24
Регулировка громкости


4-76728
fishca
2003-01-29 18:18
2003.03.24
Вываливается простейшая прога с ошибкой :(


3-76309
Casperr
2003-03-05 10:04
2003.03.24
Interbase


1-76477
AlexanderSK
2003-03-12 12:30
2003.03.24
Форма в Dll и OnMouseEnter





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский