News & Tipps zu Microsoft Access

Lesen Sie hier einige der besten Beiträge aus SmartTools Access Weekly sowie ausgewählte Inhalte anderer E-Mail-Newsletter von SmartTools Publishing rund um Microsoft Access.

Beitrag aus SmartTools Access Weekly

Access-Berichte automatisch drucken

Access 365 2024 2021 2019 2016 2013 2010

FRAGE Ich muss jeden Tag die immer gleichen Berichte für die Weitergabe ausdrucken. Um das zu vereinfachen, habe ich angefangen eine Tabelle aufzubauen, in der die Namen der Berichte gespeichert sind, die jeden Tag ausgedruckt werden sollen. Dann habe ich in meinem Menüformular eine Schaltfläche Berichte drucken angelegt. Wie greife ich nun auf die Tabelle zu, lese die Datensätze aus und schicke die Berichte auf den Drucker?

A. Kramm

ANTWORT Setzen Sie zunächst in der VBA-Entwicklungsumgebung über Extras-Verweise eine Referenz auf "Microsoft Office x Access Database Engine Object Library". Kopieren Sie dann die folgenden Anweisungen in die Ereignisprozedur "Beim Klicken" Ihrer Schaltfläche:

Dim strBericht As String

Dim db As DAO.Database
Dim rs As DAO.Recordset

Set db = CurrentDb()
Set rs = db.OpenRecordset("AusdruckBerichte", _
                          dbOpenSnapshot)
While Not rs.EOF
  strBericht = rs("Bericht")
  DoCmd.OpenReport strBericht
  rs.MoveNext
Wend
rs.Close

Set rs = Nothing
Set db = Nothing

MsgBox "Berichte wurden ausgedruckt..."

"AusdruckBerichte" ersetzen Sie durch den Namen der bei Ihnen verwendeten Tabelle und "Bericht" durch den Namen des Feldes, das die Berichtsnamen in dieser Tabelle speichert. Diese Anweisungen öffnen zunächst die Tabelle "AusdruckBerichte", in der die Namen der auszudruckenden Berichte gespeichert sind, als Recordset. Dieses Recordset wird dann Datensatz für Datensatz durchlaufen und der Name des jeweiligen Berichtes aus dem Feld "Bericht" in die Variable "strBericht" gelesen. Damit rufen wir dann "DoCmd.OpenReport" als Parameter auf und veranlassen so den Ausdruck des jeweiligen Berichtes. Nach dem Schließen des Recordsets und dem Dereferenzieren der Objektvariablen wird noch eine kleine Meldung angezeigt und die Berichte können verteilt werden.