Sollten qbefehl und qanzahl Queries sein, dann würde ich hier über eine While-Schleife gehen. Denn so kannst Du schön jeden Datensatz einzeln aus dem Ergebnis der Abfrage holen und entsprechend verarbeiten. Desweiteren um dem ganzen noch mehr Übersichtlichkeit zu verschaffen, solltest Du statt
qbefehl.Fields.Fields[1].AsString;
folgenden Befehl benutzen
qbefehl.FieldByName('<Feldname>').AsString;
. Dann wird sich sicherlich Dein Problem von alleine lösen.
Edit:
In diesem Bereich :
Delphi-Quellcode:
for count:=1 to count2 do
begin
qbefehl.Next;
ed1.Text:=qbefehl.Fields.Fields[1].AsString;
ed2.Text:=qbefehl.Fields.Fields[2].AsString;
t:=qbefehl.fields.fields[2].asinteger;
i:=1;
s:=ed1.Text ;
{...}
Springst Du mit dem
qbefehl.next
gleich zum nächsten Datensatz, wo auch immer der ist. Wenn Du keine While-Schleife benutzen möchtest, solltest Du zumindest
qbefehl.first
und
qanzahl.first
vor die For-Schleife mit einbauen und den Befehl
qbefehl.next
ans Ende stellen. Somit ist auch sichergestellt, dass Du keinen Datensatz vergisst.