|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
06.12.2007, 14:25 | #1 |
Форумчанин
Регистрация: 06.09.2007
Сообщений: 908
|
Указать критерии поиска?
Здравствуйте, уважаемые программисты!
Подскажите, пожалуйста, как мне сделать следующий поиск: нужно, к примеру, найти товар от 5 до 15 р., т.е. в edit1 я ввожу цену от..., а в edit2 я ввожу цену до... В справочниках и в книгах, которые у меня есть - ничего ненахожу, да и врятли про это будет где-либо написано, тут нужно как-то самому домыслить, но пока не представляю как это сделать(ни LIKE, ни LOCATE не получается). |
06.12.2007, 14:36 | #2 |
With best regards
Участник клуба
Регистрация: 20.04.2007
Сообщений: 1,448
|
Полагаю речь идет о динамических SQL-запросах.
Life is too short, play more...
Как правильно задавать вопросы |
06.12.2007, 14:53 | #3 | |
Форумчанин
Регистрация: 06.09.2007
Сообщений: 908
|
Цитата:
|
|
06.12.2007, 14:55 | #4 |
Пользователь
Регистрация: 21.08.2007
Сообщений: 46
|
Здесь в Edit принимается дата
Form32.Query1.Close; Form32.Query1.Sql.Clear; DateStart := StrToDate(Form32.MaskEdit1.Text); DateEnd := StrToDate(Form32.MaskEdit2.Text); // DateStart := StrToDate('01.07.2007'); // DateEnd := StrToDate('31.07.2007'); Form32.Query1.SQL.Add('Select * From '+imjm+' where ddok BETWEEN :D1 and :D2 order by ddok'); Form32.Query1.ParamByName('d1').AsD ate := DateStart; Form32.Query1.ParamByName('d2').AsD ate := DateEnd; Form32.Query1.Open; |
06.12.2007, 14:56 | #5 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Можно и фильтром датасета:
cena>=FloatToStr(Edit1.Text) and cena<=FloatToStr(Edit2.Text) прямо в режиме редактора все и отработает, не забудьте только выставить свойство FILTERED в TRUE. Ну, опечатался... Не FloatToStr, а StrToFloat... Последний раз редактировалось mihali4; 06.12.2007 в 18:09. |
06.12.2007, 15:44 | #6 |
Форумчанин
Регистрация: 06.09.2007
Сообщений: 908
|
Очевидно, что я чего-то недопонимаю, но почему я не могу edit1 преобразовать в числовой тип, т.е. не получается выполнить FloatToStr(edit1.text)?
|
06.12.2007, 16:07 | #7 |
With best regards
Участник клуба
Регистрация: 20.04.2007
Сообщений: 1,448
|
Потому, что надо StrToFloat(Edit1.Text)
Life is too short, play more...
Как правильно задавать вопросы |
06.12.2007, 16:19 | #8 |
Форумчанин
Регистрация: 06.09.2007
Сообщений: 908
|
написал вот эту строчку:
Код HTML:
form1.ADOQuery1.FieldByName('cena')>=StrToFloat(edit1.Text) and form1.ADOQuery1.FieldByName('cena')<StrToFloat(edit2.Text); Последний раз редактировалось фЁдОр; 06.12.2007 в 16:25. |
06.12.2007, 16:35 | #9 |
With best regards
Участник клуба
Регистрация: 20.04.2007
Сообщений: 1,448
|
Похоже скобок маловато.. FieldByName(( , и в конце еще одну.
Почему не делать по аналогии, предложенной nataly_ukr?
Life is too short, play more...
Как правильно задавать вопросы |
06.12.2007, 16:41 | #10 |
Пользователь
Регистрация: 21.08.2007
Сообщений: 46
|
form1.ADOQuery1.FieldByName('cena') .AsFloat
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как указать в регулярке............ | Adamant | PHP | 12 | 25.03.2008 10:11 |
Нужны критерии сравнения программ | Deris777 | Помощь студентам | 1 | 19.01.2008 10:19 |
Проблема с FindFirst, как указать меняющийся путь? | _SacreD_ | Общие вопросы Delphi | 12 | 26.12.2007 16:14 |
Как указать путь компилируемуму exe файлу | shurik_7866 | Общие вопросы Delphi | 2 | 18.07.2007 23:24 |
Как указать диапазон чисел? | Inbox | Общие вопросы Delphi | 2 | 29.06.2007 01:21 |