Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: lutschi83 am Mai 11, 2017, 10:20:23

Titel: Zwei Reports zu einer ZIP zusammenfügen
Beitrag von: lutschi83 am Mai 11, 2017, 10:20:23
Hallo Leute, ich habe folgendes Problem:
Ich habe in meiner Datenbank einen Bericht "rpt_delivery_note", den ich über DoCmd.OpenReport "rpt_delivery_note", acViewReport, , "delivery_number = '" & Me.delivery_number & "'" aufrufen. Zudem habe ich einen Bericht "rpt_outbound", den ich über DoCmd.OpenReport "rpt_outbound", acViewReport, , "delivery_number = '" & Me.delivery_number & "'" aufrufe. Meine Kundenanforderung ist nun, dass der rpt_Outbound nach Excel exportiert werden soll und zusammen mit dem "rpt_delivery_note" in einer ZIP-Datei zusammengefügt werden soll.
Ich habe keine Ahnung, wie ich den outbound nach Excel bekomme und schon gar keine Ahnung, wie ich das zusammen mit dem rpt_delivery_note in eine Zip packe.

Hat jemand eine Lösung für mich?
Vielen Dank schon mal im Voraus
Titel: Re: Zwei Reports zu einer ZIP zusammenfügen
Beitrag von: lutschi83 am Mai 11, 2017, 14:09:46
Ich habe es hinbekommen, dass die Berichte exportiert werden. Auch nach Excel.
Private Sub btn_del_note_Click()
DoCmd.OpenReport "rpt_delivery_note", acViewReport, , "delivery_number = '" & Me.delivery_number & "'"
DoCmd.OutputTo acOutputReport, "rpt_delivery_note", acFormatPDF, "C:\Users\U0023593\Documents\Japan\Delivery_notes\rpt_delivery_note" & "_" & Me.delivery_number & ".pdf"
End Sub

Private Sub btn_outbound_Click()
On Error Resume Next
DoCmd.OpenReport "rpt_outbound", acViewReport, , "delivery_number = '" & Me.delivery_number & "'"
DoCmd.OutputTo acOutputReport, "rpt_outbound", acFormatXLS, "C:\Users\U0023593\Documents\Japan\Delivery_notes\outbound" & "_" & Me.delivery_number & ".xls"
End Sub

Aber wie kann ich jetzt diese beiden Dateien in eine Zip-Datei bekommen? Gibt es auch die Möglichkeit, dass der Pfad sich aus dem Dateinamen zusammensetzt, sodass er variabel ist?
Titel: Re: Zwei Reports zu einer ZIP zusammenfügen
Beitrag von: DF6GL am Mai 11, 2017, 14:16:45
Hallo,

am Besten rufst Du ein zip-Programm (z. B. 7z) auf, das man mit Kommandozeilen-Befehlen steuern kann.  Diese Kommandos können z. B. in einen Shell-Aufruf oder ShellExecute-Aufruf verpackt werden.

https://sevenzip.osdn.jp/chm/cmdline/syntax.htm
Titel: Re: Zwei Reports zu einer ZIP zusammenfügen
Beitrag von: PhilS am Mai 11, 2017, 16:52:31
Zitat von: lutschi83 am Mai 11, 2017, 14:09:46Aber wie kann ich jetzt diese beiden Dateien in eine Zip-Datei bekommen?
Ein externes ZIP-Befehlszeilenprogramm zu verwenden, ist sicher eine gute Lösung.
Als Alternative habe ich hier eine Beschreibung, wie man die eingebaute (aber auch etwas eingeschränkte) ZIP-Funktionalität der Windows-Shell mit VBA steuern (http://codekabinett.com/rdumps.php?Lang=1&targetDoc=zip-archiv-vba-shell32-erstellen) kann.