![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Здравствуйте!
Вообщем суть такова есть на форме Edit и бд Access (.mdb) При вводе данных в Edit стоит событие Edit1KeyUp при существовании вводимых значений они подставляются в строку Edit(а). Ошибка в том что при вводе символов с которых начинается значение в бд напр. Ав то подставляется Автобус. Но если вводить Ави которого нет в бд то вылазит ошибка в строке with ADOQuery1 do Типа что неправильно определен объект parametr (adoconnection) или несовместимые или неполные данные. (У меня в adoconnection 3 параметра Kods, Art, Posx - Может из за этого) Вот сам код но код не мой только адаптировал под себя, может кто знает другие варианты попроще или с этим что то подскажите чайничку. Заранее весьма признателен Код:
procedure TForm2.Edit1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
pos2:word;
s2:string;
begin //Подстановка данных
if Key>47 then
begin
Edit1.ClearSelection;
Pos2:=Length(Edit1.Text);
ADOQuery1.SQL.Add('SELECT Kod FROM Products WHERE Kod LIKE :Kods');
ADOQuery1.Parameters.ParamValues['Kods']:=Trim(Edit1.Text)+'%';
ADOQuery1.Active:=True;
with ADOQuery1 do
begin
if Active then
Close;
Open;
if FieldByName('Kod').IsNull=False then
begin
Edit1.Text:=fieldbyname('Kod').AsString;
Edit1.SelStart:=Pos2;
Edit1.SelLength:=length(Edit1.Text)-1;
ADOQuery1.SQL.Clear;
end
else MessageBeep(0);
end;
end;
end; |
|
#2
|
|||
|
|||
|
ну и правильно ругается...
у вас ADOQuery1.Clear выполняется только если Kod не Null а Adoquery1.Sql.Add Выполняется каждый раз. т.е. ввели букву "А" заполнился запрос выполнился очистился. ввели букву "В" запрос заполнился (Выполнилось адд). но не очистился, ввели "И" получили запрос вида : Код:
SELECT Kod FROM Products WHERE Kod LIKE :Kods SELECT Kod FROM Products WHERE Kod LIKE :Kods перед Adoquery1.Sql.Add, поставить ADOQuery1.Clear не айс, однако. |
|
#3
|
||||
|
||||
|
Цитата:
Большое спасибо задача решена ![]() |