Weil es falsch programmiert ist.
So geht's:
Delphi-Quellcode:
procedure TFormMain.Open;
begin
ADOQuery1.Close; // einmal schliesen reicht !
ADOQuery1.SQL.Text := 'select * from TAC8';
ADOQuery1.Open;
While Not ADOQuery1.Eof do
begin
if ADOQuery1.FieldByName('Feld1').AsInteger = inttostr(Taco) then
begin
hst:= ADOQuery1.FieldValues['Feld2'];
modell:=ADOQuery1.FieldValues['Feld3'];
zula:=ADOQuery1.FieldValues['Feld4'];
land:=ADOQuery1.FieldValues['Feld5'];
memo1.Lines.add('Manufacturer :'+hst);
memo1.Lines.add('Model :'+modell);
memo1.Lines.add('Reg. :'+zula);
memo1.Lines.add('Country :'+land);
memo1.Lines.add('==============');
end;
ADOQuery1.Next;
end;
end;
Hinweis: das oben ist keine gute oder schnelle Lösung; es wird nur gezeigt
wie man über alle Datensätze geht und Werte auslesen kann.
Besser ist ein Filter über eine Where-Bedingung.