Irgendwie komme ich nicht drauf:
Ich möchte mehrere Seiten ausdrucken mit jeweils wechselnden Daten eines
RecordSet.
Mit OpenPrinterDialog kann ich auch einen anderen als den Standard-Drucker
auswählen und bekomme das Graphics-Objekt, in das ich drucken kann. OK.
Nun habe ich den Vorgang in 2 Routinen aufgeteilt, in der ersten wird das
RecordSet durchlaufen und für jeden Datensatz die eigentliche Druck-Routine
aufgerufen.
Damit nicht immer ein leeres Blatt nachgeschoben wird, wird für den letzten
Datensatz NextPage nicht aufgerufen.
Aber der Fehler scheint woanders zu liegen: Der letzte Ausdruck kommt immer
erst, wenn das Fenster, in dem R02_AusdruckSteuern liegt, geschlossen wird.
Was übersehe ich?
besten Dank für Rat und Hilfe, Christian Hahn.
'-----------------------------------------------------------------
Sub R02_AusdruckSteuern
PrinterGrafikObjekt = OpenPrinterDialog()
RSAusdruck.MoveFirst
for i = 1 to RSAusdruck.RecordCount
R03_BildAusdrucken PrinterGrafikObjekt
if i < RSAusdruck.RecordCount then
ReportFenster.R03_BildAusdrucken PrinterGrafikObjekt, True
else
ReportFenster.R03_BildAusdrucken PrinterGrafikObjekt, False
end if
RSAusdruck.MoveNext
next
Sub End
'-----------------------------------------------------------------
Sub R03_Ausdrucken (PrinterGrafikObjekt As Graphics, NextPage as Boolean)
Dim p as PrinterSetup
p = New PrinterSetup
if PrinterGrafikObjekt <> nil then
PrinterGrafikObjekt.DrawPicture
PrinterGrafikObjekt.DrawString
...
if NextPage = true then
PrinterGrafikObjekt.NextPage
end if
end if
End Sub