Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Поиск с помощью SQL-запроса Access


Автор: ivanfr 10.10.2011, 11:23
Всем привет.
Вот сталкнулся с проблемкой.
Делаю так сказать выборку поиск с помощью SQL - запроса. 
Следующий запрос вроде бы выводит значение  из бд но только при введении табельного номера.
А вот как сделать что бы искал и по табельному и по фио, а точней по нескольким полям, что не получается.
если скажем я указываю столбцы через запятую ругается. 
Где я не прав? 
Код
 SELECT * FROM persona_stor WHERE fio_work AND tabel_nomer LIKE "%'+ Form2.Edit1.Text+'%

  
Код

  DataModule1.ADOQuery1.SQL.Clear;
  DataModule1.ADOQuery1.SQL.add('SELECT * FROM persona_stor WHERE fio_work AND tabel_nomer LIKE "%'+ Form2.Edit1.Text+'%" ');
  DataModule1.ADOQuery1.Open;
  


Автор: Данкинг 10.10.2011, 11:32
Код

WHERE fio_work like " " AND tabel_nomer like " "

?

Автор: ivanfr 10.10.2011, 11:51
Вот так вот  получилось только вот я забыл исправить AND -  (и то и это) на OR  - (или то или это)
Код


DataModule1.ADOQuery1.SQL.add('SELECT * FROM persona_stor WHERE fio_work LIKE "%'+ Form2.Edit1.Text+'%" OR tabel_nomer LIKE "%'+ Form2.Edit1.Text+'%" ');


Тогда вот еще что если скажем, я не хочу два раза писать  "%'+ Form2.Edit1.Text+'%"  возможно ли заменить переменной значение присваиваю в переменную, а из переменной в запрос. 
Если да, то есть ли в этом смысл или лучше оставить  "%'+ Form2.Edit1.Text+'%"

Автор: superVad 10.10.2011, 15:03
Цитата(ivanfr @  10.10.2011,  10:51 Найти цитируемый пост)
Тогда вот еще что если скажем, я не хочу два раза писать  "%'+ Form2.Edit1.Text+'%"  возможно ли заменить переменной значение присваиваю в переменную, а из переменной в запрос. Если да, то есть ли в этом смысл или лучше оставить  "%'+ Form2.Edit1.Text+'%"

Лучше использовать параметр.

Автор: Antimol 11.10.2011, 18:31
Цитата(superVad @ 10.10.2011,  15:03)
Цитата(ivanfr @  10.10.2011,  10:51 Найти цитируемый пост)
Тогда вот еще что если скажем, я не хочу два раза писать  "%'+ Form2.Edit1.Text+'%"  возможно ли заменить переменной значение присваиваю в переменную, а из переменной в запрос. Если да, то есть ли в этом смысл или лучше оставить  "%'+ Form2.Edit1.Text+'%"

Лучше использовать параметр.

В этом случае отпадет проблема  с апострофом

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)