Hallo Zusammen,
habe auf Wunsch meiner Vorstandskollegen eine Unterschriftenliste, um die Möglichkeit ,,Leerzeilen" hinzuzufügen erweitert.
Dazu habe ich in den bestehenden Bericht einen Unterbericht (berULeerzeilen) im Berichtsfuß hinzugefügt.
Der Unterbericht enthält für ,,Beim Öffnen" nachfolgenden Code aus:
Private Sub Report_Open(Cancel As Integer)
Dim IngAnzahlZeilen As Long
IngAnzahlZeilen = Val(InputBox("gewünschte Anzahl Leerzeilen angeben: (zw. 0-20)", , 0))
If IngAnzahlZeilen > 0 Then
If IngAnzahlZeilen > 20 Then
IngAnzahlZeilen = 20
End If
Me.RecordSource = "SELECT TOP " & IngAnzahlZeilen & " ID_U FROM tblULeerzeilen"
Else
Me.Detailbereich.Visible = False
End If
End Sub
Alles soweit gut. Bericht wird wie gewünscht geöffnet.
Nun habe ich aber das Phänomen, das beim Drucken bzw. beim Erzeugen eines PDFs der obige Code nochmals abgerufen wird. Und ich die mögliche Anzahl der hinzu zu fügenden Zeilen nochmals eingeben kann.
Ich habe die Vermutung, daß der Code ...Report_Open... beim Ausführen der Druck- bzw. PDF Anweisung nochmals ausgeführt wird.
Kann man das Unterdrücken?
Weitere Infos:
So funktioniert das Drucken bzw. PDF-erstellen:
Oben im Bericht befindet sich jeweils ein Botton zur Erstellung einer PDF oder eben zum Drucken. Diese werden nicht mitgedruckt.
Der Botton ,,btnDrucken" hat ,,Beim Klicken" das Makro ,,DruckenObjekt" hinterlegt.
Beim Botton ,,btnPDF" ist ,,Beim Klicken" die Funktion ,,PDFerstellen()" hinterlegt.
Code:
Public Function PDFerstellen()
DoCmd.OutputTo acOutputReport, CurrentObjectName, acFormatPDF, "meinVerzeichnis" & CurrentObjectName & "_" & Date & ".pdf", False
Shell "Explorer.exe meinVerzeichnis ", vbNormalFocus
End Function
Gruss
mad
Hallo Zusammen,
habe was dazu gefunden und es jetzt so gelöst:
Zitathttps://www.ms-office-forum.net/forum/showthread.php?t=42818
Danke
mad