Dein Schleifenlogik ist vollkommen falsch, da du sobald der erste Record nicht dem gewünschten entspricht du die Meldung bringst.
Ich würde es so machen:
Delphi-Quellcode:
ADOQuery1.SQL.Text := 'select * from Accounts where Name = :Name';
ADOQuery1.ParamByName('Name').AsString := Account;
ADOQuery1.Open;
if ADOQuery1.EOF then //EOF = True wenn keine Datensatz in Ergebnismenge vorhanden.
ShowMessage('Account existiert nicht');
Windows Vista - Eine neue Erfahrung in Fehlern.