![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подскажите в чем ошибка?
Mariya © (2007-09-12 08:56:00)var strFilter: string;
begin
tbmain.Filter := '';
if Trim(Edit1.Text) <> '' then
begin
tbmain.Filter := 'Фамилия='+QuotedStr(Edit1.Text+'*');
strFilter :=tbmain.Filter;
tbmain.Filtered:=True;
end;
if Trim(Edit2.Text) <> '' then
begin
if (strFilter <> '') then tbmain.Filter:= strFilter +'Имя='+QuotedStr(Edit2.Text+'*');
end;
результат у меня должен быть виден на DBGrid1. Edit1-вводим фамилию, в Edit2-имя, фильтр по обоим полям не работает, выдает ошибку. Фильтр задан не правильно. Заранее спасибо.
Mariya (2007-09-17 07:36:00) [1]Доброго понедельника!
Германн (2007-09-14 17:06:00) [2]
> Подумаю и попробую дома, всем удачных выходных!
>
Доживем до понедельника!
:-)
Mariya (2007-09-14 16:59:00) [3]Спасибо всем засодействие, рабочий день закончился! Подумаю и попробую дома, всем удачных выходных!
Anatoly Podgoretsky (2007-09-14 16:13:00) [4]Тоже показано, формальный синтаксис указан в [27] и достаточно много примеров.
В [45] лучше заменить TAdoQuery на TAdoDataset
Washington (2007-09-14 16:04:00) [5]Не проще [55]?
Mariya (2007-09-14 15:53:00) [6]спасибо, пробую... через минут 15 чувствую снова закидаю вопросами...
clickmaker (2007-09-14 15:43:00) [7]
> [61] Mariya (14.09.07 15:40)
это в дизайне
Grid.DataSource = DataSource1
DataSource1.DataSet = Query1
это "в кнопке"
Query1.SQL.Text := '...';
Mariya (2007-09-14 15:40:00) [8]Примерно я поняла, что писать (за синтаксис не ручаюсь верный), а вот уже в кнопке как это написать? что вот я ввела часть текста, покажите мне весь текст? Как это связать?
Anatoly Podgoretsky (2007-09-14 15:37:00) [9]Смотри clickmaker © (14.09.07 13:02) [45]
Сергей М. (2007-09-14 15:32:00) [10]
> как писать запрос и где?
Текст запроса должен фигурировать в кач-ве значения св-ва SQL: TStrings компонента TQuery.
Попросту говоря, вместо танцев с бубном вокруг TTable.Filter/Filtered танцуешь с чуть другим бубном вокург TQuery.SQL, примерно вот так (см. выше по теме про содержимое текста запроса):
QueryMain.SQL := 'SELECT ... FROM ... WHERE';
QueryMain.Active := True;
stanislav (2007-09-14 15:30:00) [11]Mariya (14.09.07 15:25) [57]
Все не читал, но незаметил где опубликованная строка, которая получается в результате формирования фильтра.
Mariya (2007-09-14 15:25:00) [12]
> Еще пару сотен сообщений и уговорим.
Меня не нужно уговаривать, мне нужно помочь :)
Вы не могли бы более детальнее объяснить как писать запрос и где?
Плохиш (2007-09-14 15:15:00) [13]
> Anatoly Podgoretsky © (14.09.07 15:07) [53]
> > Плохиш (14.09.2007 14:17:51) [51]
>
> По подсчетам только два К
Наличие/отсутствие на количество не влияет :-P
Washington (2007-09-14 15:09:00) [14]Качни книжицу "Библия Delphi" к примеру и ПЕРЕХОДИ НА ADO
Anatoly Podgoretsky (2007-09-14 15:08:00) [15]
> Так тоже не работает, нужно писать запрос :(((
Еще пару сотен сообщений и уговорим.
Anatoly Podgoretsky (2007-09-14 15:07:00) [16]> Плохиш (14.09.2007 14:17:51) [51]
По подсчетам только два К
Mariya (2007-09-14 14:37:00) [17]Так тоже не работает, нужно писать запрос :(((
Плохиш (2007-09-14 14:17:00) [18]
> sql:='Primechanie='+QuotedStr('*'+s+'*')
'Primechanie like'+QuotedStr('*'+s+'*')
или
'Primechanie like'+QuotedStr('%'+s+'%')
PS. Уже замучился сдерживать пальцы, пытающиеся написать про три K:-(
Anatoly Podgoretsky (2007-09-14 14:16:00) [19]Сказано используй запросы, не будет твой фильтр работать.
Ну или на худой случай - OnFilterRecord, но с твоими запросами ты погибнешь. Но лучше
> но лучше конечно перейти сразу: с парадокса на другую базу,
> с BDE на ADO (вернее от типа базы варианты), с навигационных
> методов на SQL, с зарплаты в 100$ на побольше и с работы
> где заставляют выполнять не свои задачи на соответствующую.
При том начинать с конца.
Mariya (2007-09-14 13:54:00) [20]У меня есть Едит5, куда я ввожу,что надо найти, нажимаю на кнопку он мне выдает в гриде ответ,
QuotedStr(s+'*'), в конце он * принимает, неужели нельзя просто прописать, чтобы и в начале также как и в конце срабатывало?