Base Datenbank Report /Bericht drucken und per Mail senden, Macro

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Base Datenbank Report /Bericht drucken und per Mail senden, Macro

Re: Base Datenbank Report /Bericht drucken und per Mail senden, Macro

von Hiker » Mo, 24.08.2020 22:04

flex18 hat geschrieben: Mo, 24.08.2020 09:17 Hallo,
vielen Dank für Eure Antworten.
Wäre es auch möglich die Rechnungen am Ende auch automatisch per Mail durch das Programm/Base senden zu lassen (per Macro), also nicht händisch von mir.
...
oben stand schon:
Wanderer hat geschrieben:
ein Report aus Base erzeugt in LibreOffice ein normales Writer-Dokument, das das Du ganz normal weiterbearbeiten kannst.

Du kannst auch Macros einsetzen ...
also ja, auch Mailversand ist möglich.

Mfg, Jörn

Re: Base Datenbank Report /Bericht drucken und per Mail senden, Macro

von F3K Total » So, 23.08.2020 12:48

Hallo,
ja, es ist möglich, aber nur mit Makros.
Tausend Wege führen nach Rom.

Ich würde das folgendermaßen machen:
  • In der Datenbank gibt es sicherlich eine Tabelle/Abfrage/Ansicht, in der die zu exportierenden Datensätze stehen. Diese würde ich per Makro auslesen und in ein Resultset schreiben. Je nachdem von wo du den Export starten willst, kannst du entweder einen Formularinhalt auslesen, oder per Makro direkt auf die Datenbank zugreifen, hier im Forum, oder im Base-Handbuch gibt es viele Beispiele dazu.
  • Nun würde ich in dieses Makro eine Schleife einbauen, die das Resultset durchläuft und in jedem Umlauf die ID eines einzelnen Datensatzes ermittelt.
  • Die aktuelle ID würde ich innerhalb der Schleife in eine einzeilige Filtertabelle der Datenbank schreiben. Auf Basis dieser Filtertabelle gibt es eine weitere Abfrage/Ansicht in der DB, die die Grundlage des Berichtes bildet, die eben immer nur einen, gerade zu exportierenden Datensatz beinhaltet.
  • Wenn man den Bericht nun innerhalb der Schleife per Makro öffnet und die entstandene Datei unter einem datensatzspezifischem Namen speichert, z.B. als .pdf, kann man sie auch einzeln per Mail verschicken.
Um den Bericht "Ausgabe" zu öffnen geht z.B. folgender Code:

Code: Alles auswählen

    oreportdoc = thisdatabasedocument.reportdocuments.getbyname("Ausgabe")
    oreport = oreportdoc.open
Um diesen Bericht per Makro als .pdf zu speichern und anschließend zu schließen geht:

Code: Alles auswählen

    sURL = "file:///C:/Users/<USER>/Desktop/20200823_Export_ID_425.pdf"
    dim pdfProperties(1) as new com.sun.star.beans.PropertyValue
    pdfProperties(0).Name = "FilterName"
    pdfProperties(0).Value = "writer_pdf_Export"
    oreport.storeToURL(sURL, pdfProperties())
    oreport.close -1
Ist alles viel Arbeit, wenn es fertig ist, funktioniert es zuverlässig, habe ich schon gemacht.

Gruß R

Re: Base Datenbank Report /Bericht drucken und per Mail senden, Macro

von Hiker » So, 23.08.2020 07:36

Hallo,

ein Report aus Base erzeugt in LibreOffice ein normales Writer-Dokument, das das Du ganz normal weiterbearbeiten kannst.

Du kannst auch Macros einsetzen, Sie können nur nicht im Dokument gespeichert sein, da Base sie dort nicht erzeugt (Oder Du musst rausfinden, welche Vorlage für die Reports verwendet wird und dort ansetzen.)

Mfg, Jörn

Nach oben