Die Bedingungin der while-Schleife soll eigentlich heißen:
Solange Du nicht am Ende angekommen bist (eof) und Du die Einstellung nicht gefunden hast, dann
Query.Next. Damit wird der nächste Datensatz angesprochen.
Aber die
Query bleibt auf dem letzten Datensatz stehen...