Здравствуйте!
Вообщем суть такова есть на форме
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;