Hallo Leute
War ein langer Tag, ich kapiere es einfach nicht.
Delphi-Quellcode:
procedure seite_schreiben(ueberarray: array of integer);
var i :integer;
begin
for i := 0 to length(ueberarray) -1 do
begin
form1.queryinsert.Active := false;
form1.trans.Active := false;
form1.base.Connected := false;
form1.base.Connected := true;
form1.trans.Active := true;
form1.queryinsert.SQL.Clear;
form1.queryinsert.SQL.Add('select * from LESER where nummer =' +quotedstr(inttostr(ueberarray[i]))+'');
form1.queryinsert.active := true;
zeile := zeilereal;
excel.cells[zeile,spalte].value := inttostr(ueberarray[i]) + '/' + inttostr(form1.queryinsert.RecordCount);
inc(zeile);
while not form1.queryinsert.Eof = true do
begin
showmessage(inttostr(form1.queryinsert.RecordCount));
anzahlzeitungen := anzahlzeitungen +1;
excel.cells[zeile,spalte].value := form1.queryinsert.Fields.Fields[0].AsString + '/' + form1.queryinsert.Fields.Fields[2].AsString;
inc(zeile);
form1.queryinsert.Next;
if form1.queryinsert.Eof = true then spalte := spalte + 1;
end;//end while
form1.queryinsert.Active := false;
form1.trans.Active := false;
form1.base.Connected := false;
end;//end for
end;
Die Zeile meine ich.
excel.cells[zeile,spalte].value := inttostr(ueberarray[i]) + '/' + inttostr(form1.queryinsert.RecordCount);
Er zeigt mir immer 1 an, obwohl es mehr sein sollten. Ansonsten funtzt alles wunderbar.
Die Showmessage() in der --While_Schleife-- habe ich nur eingefügt um zu kontrollieren wann er auf die volle Anzahl kommt. Sollte --Recordcount-- nicht die gesamte
Anzahl der Datensätze aus der
Query zurückgeben, und zwar sofort und nicht erst wenn ich die gesamten Datensätze durchlaufen habe.
Danke im Voraus
mato
Er dachte..., ' Schlimmer kanns nicht mehr kommen !!!' Und es kam schlimmer...