Hallo zusammen,
ich würde gerne einen Bericht direkt per .pdf speichern.
Soweit ist das auch kein Problem.
Das habe ich wie folgt gelöst:
Private Sub Befehl90_Click()
Dim Dateiname As String
Dim Pfad As String
'manuell eingegebener Pfad
Pfad = "I:\12348\41204841204\AI_Massnahme\5. Ausdruck tägliche WV\"
Dateiname = Pfad & "Übersicht Wiedervorlage" & Jetzt() &" .pdf"
DoCmd.OutputTo acOutputReport, "ber_Massnahmen_mit_WVL", acFormatPDF, Dateiname
End Sub
Nun zu meinem Problem. Ich würde gerne in gleicher Art und Weise einen weiteren Bericht speichern, dessen Datum ich vorgeben kann. Bisher habe ich diesen immer über den Umweg eines Formulars abgefragt. In dem Formular habe ich das gewünschte Datum eingetragen, damit dieses Datum auch auf dem Bericht erscheint.
Programmierung sieht folgendermaßen aus:
Sub txtValutaDatum_AfterUpdate()
DoCmd.OpenReport "Ber_Massnahmen_taegl_Bericht", acPreview, , "Valuta=" & Format(Nz(Me!txtValutaDatum, 0), "#yyyy-mm-dd#"), , Nz(Me!txtValutaDatum, 0)
DoCmd.Close acForm, "fml_Datumsabfrage_für_Bericht", acSaveYes
DoCmd.SelectObject acReport, "Ber_Massnahmen_per_Valuta_für_taegl_Bericht"
End Sub
Diesen Ansatz habe ich gewählt, weil der Bericht auch mal leer sein könnte, ich aber trotzdem das abgefragte Datum auf dem Bericht sehen will.
Auf dem Bericht ist dafür ein ungebundenes Textfeld mit dem Namen "txtValDat" eingebunden.
Wie schaffe ich es denn, dass ich auch diesen Bericht direkt per .pdf speichern kann und mir das abgefragte Datum nicht verloren geht? Super wäre es natürlich auch, wenn das eingetragene Datum auch im Dateinamen enthalten wäre.
Dazu habe ich auch schon einen Code gefunden und diesen ein wenig auf meine Bedürfnisse angepasst.
Leider funktioniert dieser aber nur, wenn ich das gewünschte Kriterium (Valuta-Datum) fest im Code programmiere und den Befehl über Button ausführe.
Private Sub Befehl90_Click()
Dim reportName As String
Dim fileName As String
Dim criteria As String
reportName = "Ber_Massnahmen_per_Valuta_für_taegl_Bericht"
fileName = "I:\CC_84\841204\84120403\AI_Massnahmen\5. Ausdruck tägliche WVMassnahmen per Valuta LUX.pdf"
criteria = "Valuta = #2022-05-09#"
DoCmd.OpenReport reportName, acViewPreview, , criteria, acHidden
DoCmd.OutputTo acOutputReport, reportName, acFormatPDF, fileName
DoCmd.Close acReport, reportName, acSaveNo
End Sub
Über mein Formular, über das ich das Valuta-Datum eintragen könnte, funktioniert das leider nicht.
Wie schaffe ich es denn diesen Teil
DoCmd.OpenReport "Ber_Massnahmen_taegl_Bericht", acPreview, , "Valuta=" & Format(Nz(Me!txtValutaDatum, 0),
in dem Code noch unterzubringen, aber so, dass es am Ende auch funktioniert und nicht wie jetzt, das Kriterium fest hinterlegt.
Hallo,
es ist sinnlos das Forum zu wechseln. Es sind im wesentlichen die gleichen Leute.
Man sollte auch auf die Rückfragen eingehen (die letzte Frage von Ulrich wurde nicht beantwortet) und nicht einfach das Forum wechseln.
Außerdem ist es unerwünscht. Steht auch so in den Forumsregeln.
https://www.ms-office-forum.net/forum/showthread.php?t=380732
Danke für die Info. Ich habe das Forum nicht wechseln wollen, sondern wollte meinen Fall hier separat aufführen. In der Hoffnung irgendwo Hilfe zu bekommen. (mehr Views > höhere Erfolgsquote)
Das hatte sich evtl. überschnitten, aber ich habe auch in dem anderen Forum mein Problem nochmals zusammengefasst, so dass es jetzt hoffentlich ein wenig verständlicher ist.
Das Problem ist kein Backslash, der im Forum nicht angezeigt wird. Das Problem ist, dass ich das Kriterium so in meinem Code unterbekommen muss, dass ich ein richtiges Ergebnis erhalte und das Kriterium flexibel eingetragen werden kann.
Hallo,
Zitat(mehr Views > höhere Erfolgsquote)
eher nicht, da Du ja im wesentlichen die gleichen Leute erreichst.