Seite 1 von 1

VBA Makro von Access zu Base

Verfasst: Sa 3. Jun 2023, 19:07
von weez
Hallo,

Ich habe hier eine Access Anwendung die wir gerne in LibreOffice Base abbilden möchten.

Ich habe herausgefunden das sich der bericht ganz einfach öffnen lässt:

Code: Alles auswählen

ThisDatabaseDocument.ReportDocuments.getByName("GbRg").open
Jedoch wird in meinem Formular vorher eine Bestimmte Rechnungsnummer angegeben - und der Bericht soll nur die Daten anhand dieser Rechnungsnummer anzeigen - und nicht einfach alles. Ich habe es bisher jedoch nicht hinbekommen das mit zu übergeben.

Bei Access ist das ein Einzeiler der so aussieht:

Code: Alles auswählen

Private Sub Befehl31_Click()

        DoCmd.OpenReport "GbRg", acPreview, "SELECT GbRg.RgDatum, GbRg.RgNr, GbRg.Lieferant, GbRg.Haus, GbRgPos.ArtNr, GbRgPos.Bez, GbRgPos.MengePos, GbRgPos.EinzelPreis, GbRgPos.GbMenge, GbRgPos.GesPreisNetto, GbRgPos.Mwst, GbRgPos.GesPreisBrutto, GbRg.ID FROM GbRg LEFT JOIN GbRgPos ON GbRg.ID = GbRgPos.GbRgID WHERE (((GbRg.RgNr)= " & Kombinationsfeld1.Value & "));"

End Sub

Re: VBA Makro von Access zu Base

Verfasst: So 4. Jun 2023, 08:46
von RobertG
Du musst zuerst die Abfrage (oder Ansicht) für den Bericht filtern und dann die Anzeige des Berichtes starten.
Du kannst dazu Parameterabfragen oder auch eine Filtertabelle nutzen. Ich nutze grundsätzlich für so etwas eine Filtertabelle. Da wird dann in die Tabelle der Schlüsselwert eingetragen und der Bericht mit genau dieser Filterung gestartet. Schau Dir dazu einfach einmal das Handbuch an.