Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Подскажите в чем ошибка?


Страницы:   1 2 3 4

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-имя, фильтр по обоим полям не работает, выдает ошибку. Фильтр задан не правильно. Заранее спасибо.


clickmaker   (2007-09-14 13:33:00) [21]


> sql:='Primechanie='+QuotedStr('*'+s+'*')

в Local SQL такое не сработает
см. [45]


Mariya   (2007-09-14 13:21:00) [22]

если я перейду на АДО я завалю форум своими вопросами! Я не знаю, что это такое вообще! Чтобы писать эскюэль запрос, я так понимаю нужно добавить  SQL-TQuery, в свойстве в SQL написать сам запрос, а как это писать в самой кнопке?
s:=Edit5.Text;
if Trim(s) <> '' then
begin
  sql:='Primechanie='+QuotedStr('*'+s+'*')
 end;
Правильно я поняла?


sniknik   (2007-09-14 13:08:00) [23]

> и перейти на запросы
можно "перейти" на ADO, у него фильтр более гибкий, с LIKE, что почти условие запроса.

но лучше конечно перейти сразу: с парадокса на другую базу, с BDE на ADO (вернее от типа базы варианты), с навигационных методов на SQL, с зарплаты в 100$ на побольше и с работы где заставляют выполнять не свои задачи на соответствующую...
;)


clickmaker   (2007-09-14 13:02:00) [24]


> как написать запрос?

TQuery.SQL.Text :=
'select * from Table where name like ' + QuotedStr('%' + Value + '%');


Mariya   (2007-09-14 12:45:00) [25]

'*' .....'*' я пробовала не правильно, первую '*' игнорирует. Подскажите как написать запрос? Буду ну О-О-Очень признательна!


Anatoly Podgoretsky   (2007-09-14 10:44:00) [26]

> Mariya  (14.09.2007 10:27:41)  [41]

А вот здесь придется отказаться от filter := и перейти на запросы


Сергей М.   (2007-09-14 10:31:00) [27]

... + 'ИмяПоля=' + QuotedStr( '*' +МодельПоискаВПоле + '*');


Mariya   (2007-09-14 10:27:00) [28]

Здравствуйте мастера! Я ЭТО СДЕЛАЛА!!! ПОИСК РАБОТАЕТ!!! По 10 полям!!!
Только осталось одно поле, где нужно написать контекстный поиск, ищет Ив* = Иванов, Ивасютин и т.д. А Мне нужно, чтобы звездочка еще и впереди читалась. Не подскажите? Как? Не зря я в  арбузолитейном институте 10 лекции отслушала!!!


Сергей М.   (2007-09-13 17:06:00) [29]

Арбузолитейный, наверно, пыталась осилить)


Palladin   (2007-09-13 17:05:00) [30]


> Mariya   (13.09.07 16:49) [34]

а на кого ты училась то?


clickmaker   (2007-09-13 16:59:00) [31]


> котрое я знаю из 10 пар лекций в институте!

10 пар недостаточно, чтобы узнать про массив?


Anatoly Podgoretsky   (2007-09-13 16:53:00) [32]

> Mariya  (13.09.2007 16:36:30)  [30]

И правильно сделаешь, неужели не найдешь зарплату хотя бы раза в три выше.


Anatoly Podgoretsky   (2007-09-13 16:53:00) [33]

> Сергей М.  (13.09.2007 16:44:33)  [33]

Какие требование при зарплате 100 баксов :-)
За что боролись, на то и на поролись.


Mariya   (2007-09-13 16:51:00) [34]

Всем огромное спасибо! Кто ПЫТАЛСЯ мне помочь!


Mariya   (2007-09-13 16:49:00) [35]

Передо мной стояли совершенно иные задачи, которые я могу позволить с грдостью сказать, я очень хорошо знаю!!!А сейчас понадобилось Дельфи, котрое я знаю из 10 пар лекций в институте!


Сергей М.   (2007-09-13 16:44:00) [36]


> ИДУ УВОЛЬНЯТЬСЯ! МНЕ ЭТО ВСЕ НИ О ЧЕМ НЕ ГОВОРИТ


Просто интересно - а когда тебя принимали на работу, какие требования к тебе как к специалисту предъявляли ?

И чем с твоей стороны были подкреплены твои потенции в плане этих требований, коль скоро тебе было оказано (авансом ?) столь высокое доверие ?


Германн   (2007-09-13 16:40:00) [37]


> Mariya   (13.09.07 16:36) [30]
>
>

Четвертые сутки пылает граница :-)
http://www.delphimaster.ru/cgi-bin/forum.pl?n=18&search=Mariya


clickmaker   (2007-09-13 16:39:00) [38]


> [30] Mariya   (13.09.07 16:36)

а, ну тогда справочку почитай для начала или книжечку
задачка-то элементарная, чтоб сразу увольняться
то ли еще будет...


Mariya   (2007-09-13 16:36:00) [39]


> Заведи массив имен полей

????

> Задай им Tag от 0 до количества полей в массиве - 1 соответственно

????!!!

Я ИДУ УВОЛЬНЯТЬСЯ! МНЕ ЭТО ВСЕ НИ О ЧЕМ НЕ ГОВОРИТ! (    :(((      )


clickmaker   (2007-09-13 16:28:00) [40]


> [26] Mariya   (13.09.07 16:16)

даю подсказки. пока бесплатно
1. Заведи массив имен полей
2. Положи контролы для ввода значений на отдельную панель, если на форме есть другие, не участвующие в фильтре
3. Для даты лучше TDateTimePicker - юзеру удобней будет
4. Задай им Tag от 0 до количества полей в массиве - 1 соответственно
5. В цикле от 0 до ControlsCount-1 контейнера пробегись по контролам и, если это TEdit, то QuotedText + '*', если TComboBox, то просто текст (число), если TDateTimePicker, то строковый вид даты. Перед этим обнули strFilter и в цикле добавляй ИмяПоляИзМассива по Tag + '=' + собственно значение, НЕ забывая перед вставлять ' and ', если фильтр уже не пустой


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо