![]() |
|
|
#1
|
||||
|
||||
|
Всем привет, получается фильтрация слов, но не чисел, я раз сто переделывала код, бес толку, если интересно вот программа: http://webfile.ru/6518808 пароль:123
самое обидное , что программа практически готова, только из за такой мелочи не могу сдать ( |
|
#2
|
||||
|
||||
|
напиши здесь запрос, что в фильтре
не охота ниче качать ![]() |
| Этот пользователь сказал Спасибо Mrak за это полезное сообщение: | ||
nobik (14.05.2013)
| ||
|
#3
|
||||
|
||||
|
Код:
qry1.Active:=False;
qry1.SQL.Clear;
qry1.SQL.Add('SELECT *');
qry1.SQL.Add('FROM xochy');
qry1.SQL.Add('WHERE количество комнат LIKE '''+ cbb2.Text + '''' );
qry1.Active:=True;Последний раз редактировалось lmikle, 15.05.2013 в 06:43. |
|
#4
|
||||
|
||||
|
Код:
qry1.Close; qry1.SQL.Text := 'SELECT * FROM xochy WHERE [количество комнат] = ' + cbb2.Text; qry1.Open; |
| Этот пользователь сказал Спасибо Yurk@ за это полезное сообщение: | ||
nobik (14.05.2013)
| ||
|
#5
|
||||
|
||||
|
сработало)) ты гений) оказывается так просто, над этими парочками строчек я так долго мучилась
а с ценой так же будет ? от 100 до 200 к примеру Код:
qry1.SQL.Text := 'SELECT * FROM xochy WHERE [цена (руб)]> = ' + edt1.Text+ 'and цена (руб) <='+edt2.Text; компилирует, правда потом пишет что пропущен оператор=\ Последний раз редактировалось M.A.D.M.A.N., 15.05.2013 в 07:37. |
|
#6
|
||||
|
||||
|
Код:
qry1.SQL.Text := 'SELECT * FROM xochy WHERE [цена (руб)] >= ' + Edt1.Text + ' AND [цена (руб)] <= ' + Edt2.Text; Код:
qry1.SQL.Text := 'SELECT * FROM xochy WHERE [цена (руб)] BETWEEN ' + Edt1.Text + ' AND ' + Edt2.Text; |
| Этот пользователь сказал Спасибо Yurk@ за это полезное сообщение: | ||
nobik (14.05.2013)
| ||
|
#7
|
||||
|
||||
|
странно, в обоих случаях выдает ошибку
в первом синтаксическую ошибку, а во втором про несоответствие типов ну мне просто слегка сложновато это осваивать, поэтому смотрю по примерам) |
|
#8
|
||||
|
||||
|
А вы в отладчике посмотрите, что у вас собственно получается после сборуи в qry1.SQL.Text.
|
|
#9
|
||||
|
||||
|
Немного не по теме, но в таком варианте база не откроется на другом компьютере, т.к. возможно не совпадет путь к файлу *.mdb. Для решения можно в процедуру TForm1.FormCreate добавить вот это
Код:
con1.ConnectionString:= 'Provider=Microsoft.Jet.OLEDB.4.0;' + 'User ID=Admin;' + 'Data Source=' + ExtractFileDir(ParamSTR(0)) + '\proba.mdb;' + 'Mode=Share Deny None;' + 'Extended Properties="";' + 'Jet OLEDB:System database="";' + 'Jet OLEDB:Registry Path="";' + 'Jet OLEDB:Database Password="";' + 'Jet OLEDB:Engine Type=5;' + 'Jet OLEDB:Database Locking Mode=1;' + 'Jet OLEDB:Global Partial Bulk Ops=2;' + 'Jet OLEDB:Global Bulk Transactions=1;' + 'Jet OLEDB:New Database Password="";' + 'Jet OLEDB:Create System Database=False;' + 'Jet OLEDB:Encrypt Database=False;' + 'Jet OLEDB:Don''t Copy Locale on Compact=False;' + 'Jet OLEDB:Compact Without Replica Repair=False;' + 'Jet OLEDB:SFP=False'; con1.Connected:= true; |
|
#10
|
||||
|
||||
|
Цитата:
Внимательней будь. А вообще, чтобы такое не городить, надо использовать параметры: Код:
qry1.SQL.Text := 'SELECT * FROM xochy WHERE [цена (руб)]>= :val1 and цена (руб) <= :val2' |