Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Поиск по ПОЛЮ / 17 сообщений из 17, страница 1 из 1
15.07.2003, 15:38
    #32208534
Cnupum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по ПОЛЮ
имеется тейбл в нем поле ФИО ...
в едите ввожу фамилию и с каждым введенным символом список уменьшается пока не останется одна... смысл поняли . Не раз юзали сами.
как сделать без прохода таблички после ввода каждого символа в едит и разбиения значения поля на символы .... я видел как тип один так делал и всего несколько строк но внимания не обратил (синий был :)
кто знает сознавайтесь ...
...
Рейтинг: 0 / 0
15.07.2003, 15:46
    #32208558
Hammer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по ПОЛЮ
По поводу нескольких строк енто ты маханул.
Получаестся где-то строк 80-100
...
Рейтинг: 0 / 0
15.07.2003, 15:52
    #32208575
Cnupum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по ПОЛЮ
я в принципе вижу (где то там в своих двух извилинах) как это сделать (по сивольно каждую запись перебирать) НО..... если записей будет тысячи или миллионы а на стареньком пне прога будет думать о как дого при поиске

вот и интересно мне нет ли таких функций или процедур у делфи чтоб упростить мою задачу..
неохота эти 80-100 строк писать
...
Рейтинг: 0 / 0
16.07.2003, 03:51
    #32209170
Alexander2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по ПОЛЮ
а фильтр почему бы не применить?

if trim(edFind.Text) <> '' then
begin
Employees.Filtered:=False;
Employees.Filter := 'SURNAME LIKE '+QuotedStr('%'+trim(edFind.Text)+'%');
Employees.Filtered:=True;
end;
...
Рейтинг: 0 / 0
16.07.2003, 06:06
    #32209177
Cnupum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по ПОЛЮ
а аааааа нифига .... пусто
...
Рейтинг: 0 / 0
16.07.2003, 06:14
    #32209179
Alexander2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по ПОЛЮ
а интересно как сделал то? покажи хоть кусок кода?

надо же этот кусок на TEdit OnChange повесить
...
Рейтинг: 0 / 0
16.07.2003, 09:54
    #32209302
Cnupum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по ПОЛЮ
да хоть на таймер ....
я для проверки на кнопу символ ввел и кликнул
...
Рейтинг: 0 / 0
16.07.2003, 09:58
    #32209309
Cnupum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по ПОЛЮ
Employees.Filter := 'SURNAME LIKE '+QuotedStr('%'+trim(edFind.Text)+'%');
после имени поля никакого знака сравнения ????
...
Рейтинг: 0 / 0
16.07.2003, 20:21
    #32210277
Alexander2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по ПОЛЮ
все должно работать на 100%
(у меня MS SQL2000)
...
Рейтинг: 0 / 0
16.07.2003, 21:33
    #32210305
Alexander2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по ПОЛЮ
блин, классический вариант с BDE
========================================
procedure TForm1.dsWellsDataChange(Sender: TObject; Field: TField);
var
mywell:String;
begin
// фильтрация образцов в зависимости от выбора скважины
if not dsWells.DataSet.FieldByName('W_Name').IsNull then
begin
mywell:= dsWells.DataSet.FieldValues['W_Name'];
Samples.Filtered:= False;
Samples.Filter := 'W_Name = '+QuotedStr(mywell);
Samples.Filtered:= True;
end;
end;
...
Рейтинг: 0 / 0
16.07.2003, 21:39
    #32210309
Alexander2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по ПОЛЮ
тут в примере dsWells это датасурс датасета, отвечающего за список скважин

но можно TEdit ввести, и в TEdit вводить символы и в Samples будет показывать те образцы, которые по скважине похожи на подстроку введенную в TEdit

Samples.Filter := 'W_Name = '+QuotedStr(mywell);

поиграй с синтаксисом самого фильтра, у меня тоже не сразу получилось как я хотел

Filter := 'SURNAME LIKE '+QuotedStr('%'+trim(edFind.Text)+'%');

1) введи принудительно в Filter в инспекторе несколько символов - проверь

2) выведи на Label.Caption что у тебя получается в качестве строки фильтра - проверь
...
Рейтинг: 0 / 0
17.07.2003, 08:44
    #32210453
Cnupum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по ПОЛЮ
Arguments are wrong type, or out of of acceptable range, or are in conglict with one another

фргументы неправильного типа или выходят за приемлемые рамки, или кофликтуют друг с другом
...
Рейтинг: 0 / 0
17.07.2003, 09:23
    #32210487
Alexander2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по ПОЛЮ
на Label всегда выводи что у тебя получается.
либо в отладчике смотри какая строка фильтра получается
поиграй с кавычками.
...
Рейтинг: 0 / 0
17.07.2003, 13:11
    #32210821
Cnupum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по ПОЛЮ
Filter:='FIO like %'+QuotedStr( EditSearch.text)+'%';

результат FIO like %'Пути'%

играюсь играюсь, а чё то никак не могу избавиться от кавычек между % %
...
Рейтинг: 0 / 0
17.07.2003, 13:15
    #32210833
Cnupum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по ПОЛЮ
Filter:='FIO like'+QuotedStr('%'+trim(editSearch.Text)+'%');

результат FIO like '%Пути% '

задолбался Я .....
...
Рейтинг: 0 / 0
17.07.2003, 13:16
    #32210835
Поиск по ПОЛЮ
Filter:='FIO like '+QuotedStr('%'+EditSearch.text+'%');

======
я не кю?
...
Рейтинг: 0 / 0
17.07.2003, 13:18
    #32210842
Cnupum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по ПОЛЮ
Filter:='FIO like %'+ EditSearch.text+'%';

а вот теперь все работает хе хе
P.S. кстати чё такое QuotedStr
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Поиск по ПОЛЮ / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]