Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
In Ausgabe 2/2012 haben wir bereits Tabellen und Formulare zum Verwalten von Bestellungen vorgestellt. Nun liefern wir einen Bericht nach, mit dem Sie pro Bestellung eine eigene Rechnung erstellen können. Mit einer Rechnung treffen wir dabei auf ein typisches Beispiel für den Einsatz von Berichten.
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank 1206_Rechnungsbericht.mdb.
Aufbau des Berichts
Der Bericht hat zunächst folgenden Aufbau, später gehen wir etwas mehr ins Detail: Der Berichtskopf soll den Briefkopf des Absenders inklusive Name und Anschrift sowie die Anschrift des Rechnungsempfängers enthalten. Der Detailbereich enthält die einzelnen Rechnungspositionen, also die Position, die Artikelbezeichnung, die Menge, den Einzelpreis, die Mehrwertsteuer, den Rabatt sowie den Endpreis. Der Berichtsfuß enthält allgemeine Informationen wie etwa eine Grußformel. Fehlen noch die Summen mit und ohne Mehrwertsteuer: Diese landen in einem eigenen Bereich, der durch die Gruppierung nach der Bestellnummer erzeugt wird. Nach der Fertigstellung soll der Bericht wie in Bild 2 aussehen.
Bild 1: Der Bericht in der Vorschauansicht
Aufruf des Berichts
Auch wenn wir den Bericht noch gar nicht programmiert haben: Von irgendeiner Stelle aus müssen Sie diesen später aufrufen. Im Rahmen einer Bestellverwaltung macht es natürlich Sinn, diesen Bericht von dem Formular aus aufzurufen, das auch die Bestelldaten anzeigt. Dieses Formular haben wir bereits im Artikel Bestellungen in Formularen verwalten programmiert, die Daten zum Bericht stammen aus Tabellen, die in Bestellungen in Tabellen verwalten beschrieben wurden. Wir greifen das Formular auf und fügen diesem zwei Schaltflächen hinzu, mit dem der Benutzer den Bericht in der Vorschauansicht betrachten und mit der er den Bericht auch gleich drucken kann (siehe Bild 1). Die beiden Schaltflächen heißen cmdRechnungVorschau und cmdRechnungDrucken. Für die Schaltfläche cmdRechnungVorschau hinterlegen Sie die folgende Ereignisprozedur:
Bild 2: Aufruf des Berichts vom Bestellformular aus
Private Sub cmdRechnungVorschau_Click() DoCmd.OpenReport "rptRechnung", _ WhereCondition:="BestellungID = " _ & Me!BestellungID, View:=acViewPreview End Sub
Diese OpenReport-Anweisung öffnet einen Bericht namens rptRechnung, wobei dieser nur solche Datensätze anzeigen soll, deren Feld BestellungID den Wert des gleichnamigen Feldes der Datenherkunft des Formulars aufweist. Außerdem übergeben Sie für den Parameter View den Wert acViewPreview, wodurch der Bericht in der Vorschauansicht geöffnet wird.
Die einzige Anweisung der Ereignisprozedur für die zweite Schaltfläche, cmdRechnungDrucken, unterscheidet sich nur durch den Wert des Parameters View von der oben beschriebenen Prozedur. Hier verwenden wir den Wert acViewNormal, was den Bericht gleich an den Standarddrucker sendet.
änderungen am Datenmodell
Da wir nun nicht mehr nur Bestellungen aufnehmen, sondern auch noch Rechnungen schreiben, haben wir der Tabelle tblBestellungen noch ein Feld namens Rechnungsdatum hinzugefügt.
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
Testzugang
eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel
diesen und alle anderen Artikel mit dem Jahresabo