Juni 27, 2022, 14:47:34

Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!


Bericht per .pdf speichern mit Kriterium

Begonnen von dobby110, Mai 10, 2022, 15:29:12

⏪ vorheriges - nächstes ⏩

dobby110

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.




MzKlMu

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
Gruß
Klaus

dobby110

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.

MzKlMu

Hallo,
Zitat(mehr Views > höhere Erfolgsquote)
eher nicht, da Du ja im wesentlichen die gleichen Leute erreichst.
Gruß
Klaus