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