Показать сообщение отдельно
  #3  
Старый 02.12.2010, 19:33
Аватар для th_bav
th_bav th_bav вне форума
Новичок
 
Регистрация: 02.12.2010
Сообщения: 74
Репутация: 10
Радость

Цитата:
Сообщение от Black Raider
в логике запроса!
что вы хотите получить в итоге.
Дело в том что я пишу кросовый журнал, у меня в нем три поля заполняются в любом случае т.к. это адреса портов, а поля телефон и примичание могут быть и пустым т.к. наврятле емкость будет полностью использована, тем более сразу.
Поетому я и посчитал нужным добавить %, как тогда быть???? Можно конечно к примеру поумолчанию добавлять в каждое поле какойнибудь символ, чтобы оно не было пустым, но это сами понимаите на вариант))))))))) Как тогда мне быть???
Дело в том что я пишу кросовый журнал, у меня в нем три поля заполняются в любом случае т.к. это адреса портов, а поля телефон и примичание могут быть и пустым т.к. наврятле емкость будет полностью использована, тем более сразу.
Поетому я и посчитал нужным добавить %, как тогда быть???? Можно конечно к примеру поумолчанию добавлять в каждое поле какойнибудь символ, чтобы оно не было пустым, но это сами понимаите на вариант))))))))) Как тогда мне быть???
Может начать выполнение процедуры с IF?
Тобишь если поле поиска telefon пустое то выполняй этот запрос

Код:
Form1QueryCrosse.Active:=false;
Form1QueryCrosse.SQL.Clear;
Form1QueryCrosse.SQL.Add('SELECT *');
Form1QueryCrosse.SQL.Add('FROM Crosse');
Form1QueryCrosse.SQL.Add('WHERE grom LIKE '''+Edit2.Text+'%'' AND plint LIKE '''+Edit3.Text+'%'' AND port LIKE '''+Edit4.Text+'%'' AND type LIKE '''+Edit5.Text+'%''');
Form1QueryCrosse.Active:=true;

А если в поле telefon что то есть, то выполняй этот запрос
Код:
Form1QueryCrosse.Active:=false;
Form1QueryCrosse.SQL.Clear;
Form1QueryCrosse.SQL.Add('SELECT *');
Form1QueryCrosse.SQL.Add('FROM Crosse');
Form1QueryCrosse.SQL.Add('WHERE telefon LIKE '''+Edit1.Text+'%'' AND grom LIKE '''+Edit2.Text+'%'' AND plint LIKE '''+Edit3.Text+'%'' AND port LIKE '''+Edit4.Text+'%'' AND type LIKE '''+Edit5.Text+'%'' AND note LIKE '''+Edit6.Text+'%''');
Form1QueryCrosse.Active:=true;
И так же с полем note???

Вроде более простого способа нету...
Завтра если успею помучать Delphi то отпишусь, может кому пригодиться...
Кстати спасибо за совет!!!
Ответить с цитированием