{"id":55000124,"date":"2003-10-01T00:00:00","date_gmt":"2020-05-06T15:17:31","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=124"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Rechnungen_mit_Berichten_ausgeben","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_Berichten_ausgeben\/","title":{"rendered":"Rechnungen mit Berichten ausgeben"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg08.met.vgwort.de\/na\/71eef9dbcb564c55984fe9b5d130189e\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Manfred Hoffbauer, D&uuml;sseldorf<\/b><\/p>\n<p><b>Der Entwurf von Berichten durch den blo&szlig;en Einsatz von Men&uuml;befehlen und der Maus ist eine herausragende St&auml;rke von Access. Bei den Anh&auml;ngern anderer Programmiersysteme k&ouml;nnen Sie damit immer wieder neidvolle Blicke ernten. Wenn Sie dann noch in die VBA-Trickkiste greifen, bringen Sie das Fass zum &uuml;berlaufen. Microsoft hat die Programmiersprache nahtlos in Berichte integriert.<\/b><\/p>\n<p>Eine typische Anwendung f&uuml;r Berichte ist der Ausdruck einer Rechnung. Die Beispieldatenbanken RechnungenMitBerichten97.mdb beziehungsweise RechnungenMitBerichten2000.mdb zu diesem Beitrag enthalten unter dem Namen repRechnungen ein Rechnungslayout, das auf den Daten der Nordwind-Datenbank basiert.  Lediglich die Tabelle tblBestellungen wurde um das Feld MwSt erweitert. Es hat den Datentyp Double und das Format Prozentzahl.<\/p>\n<h2>Informationen im Kopfbereich<\/h2>\n<p>Den Bericht zum Ausdruck von Rechnungen finden Sie im Register Berichte unter dem Namen repRechnungen. Der Bericht druckt eine Rechnung passend zu einer vorhandenen Bestellung. Er hat folgenden Aufbau: Im Kopfbereich der Rechnung befinden sich Logo, Name und Anschrift des Absenders. Um die Rechnung in einem Fensterumschlag versenden zu k&ouml;nnen, wird die Anschrift des Rechnungsempf&auml;ngers meistens im unteren, linken Bereich des oberen Drittels angeordnet. Am rechten Rand befinden sich Zusatzinformationen wie beispielsweise Kunden- und Bestellnummer.<\/p>\n<h2>Datenherkunft des Berichts<\/h2>\n<p>Die Daten des Berichts stammen aus mehreren Tabellen, die &uuml;ber eine Abfrage zusammengef&uuml;gt werden. Um sich die Daten anzusehen, &ouml;ffnen Sie in der Entwurfsansicht das Eigenschaftsfenster des Berichts. Klicken Sie in den Berichtseigenschaften auf das Register Daten und auf die Eingabehilfe-Schaltfl&auml;che der Eigenschaft Datenherkunft.<\/p>\n<p>Access zeigt dann einen Abfrageentwurfsbereich mit der Datenherkunft des Berichts an (siehe Bild 1). Die Kopfdaten der Rechnung stammen aus den Tabellen Bestellungen und Versandfirmen. Die Daten f&uuml;r die Rechnungspositionen entnimmt der Bericht aus der Tabelle Bestelldetails.<\/p>\n<p><IMG height=\"383\" src=\"..\/fileadmin\/_temp_\/{060F047C-94DD-4BE5-B742-C6ECC7896E51}\/pic001.png\" width=\"460\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1:  Die Datenherkunft des Berichts besteht aus drei verkn&uuml;pften Tabellen.<\/span><\/b><\/p>\n<h2>Gruppierung<\/h2>\n<p>Wegen der Verkn&uuml;pfung der Tabellen Bestellungen und Bestelldetails enth&auml;lt das Abfrageergebnis f&uuml;r jede Rechnungsposition einen Datensatz. Bei einer Rechnung mit mehreren Positionen werden die Kopfdaten pro Position wiederholt.<\/p>\n<p><IMG height=\"553\" src=\"..\/fileadmin\/_temp_\/{060F047C-94DD-4BE5-B742-C6ECC7896E51}\/pic002.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2:  Im Fu&szlig;bereich der Gruppierung sehen Sie die Frachtkosten und den Rechnungsbetrag.<\/span><\/b><\/p>\n<p>Innerhalb des Berichts m&uuml;ssen Sie die Positionen einer Rechnung zu einer Gruppe zusammenfassen. Mit dem Befehl Ansicht\/Sortieren und gruppieren &ouml;ffnen Sie ein Fenster, mit dem die Gruppierung nach dem Feld Bestell-Nr eingestellt ist. Wegen dieser Einstellung druckt Access die Positionen einer Rechnung &#8211; soweit der Platz ausreicht &#8211; auf einer Seite aus (siehe Bild 2).<\/p>\n<p>Der Detailbereich des Berichts enth&auml;lt Steuerelemente zur Anzeige der Rechnungspositionsdaten.<\/p>\n<p>Dies sind der Artikelname, der Einzelpreis, die Anzahl und der Rabatt. Eine Besonderheit ist das Textfeld txtPreis.<\/p>\n<p>Es hat die folgende Formel als Steuerelementinhalt:<\/p>\n<pre>=[txtEinzelpreis]*[txtAnzahl]*(1-[txtRabatt])<\/pre>\n<p>Diese Berechnung ermittelt aus dem Einzelpreis, der Menge und dem Rabatt den Preis f&uuml;r eine Rechnungsposition. Das Beispiel verzichtet auf die Berechnung der Mehrwertsteuer. Aus einem Preis von 100 EUR, einer Menge von 1 und einem Rabatt von 10% berechnet sich ein Preis von90 EUR.<\/p>\n<h2>Rechnungssumme ermitteln<\/h2>\n<p>Die Rechnungssumme berechnet sich aus der Summe der Einzelpositionen. Die Berechnung erfolgt in einem Textfeld im Fu&szlig;bereich der Gruppe Bestellung-Nr. Eine nahe liegende Idee w&auml;re nun, das Textfeld mit folgendem Ausdruck auszustatten:<\/p>\n<pre>=Summe([txtPreis])<\/pre>\n<p>Dieser Ausdruck funktioniert aber leider nicht. Access &ouml;ffnet bei einem Wechsel in die Seitenansicht einen Dialog zur Eingabe eines Wertes f&uuml;r txtPreis. Der Grund daf&uuml;r ist, dass sich die Summenfunktion auf die Werte eines Steuerelements aus einem anderen Bereich (in diesem Fall aus dem Detailbereich) nicht anwenden l&auml;sst. Auch der Ausdruck Summe([txtEinzelpreis] * [txtAnzahl] * (1-[txtRabatt])) f&uuml;hrt entweder zu einer Fehlermeldung oder zu fehlerhaften Werten. Es ist deshalb empfehlenswert, den Preis pro Position im Detailbereich des Berichts zu aggregieren. Das Textfeld txtSummeEinzelpositionen hat folgenden Steuerelementinhalt:<\/p>\n<pre>=[txtEinzelpreis]*[txtAnzahl]*(1-[txtRabatt])<\/pre>\n<p>oder einfacher<\/p>\n<pre>=[txtPreis]<\/pre>\n<p>Au&szlig;erdem ist die Eigenschaft Laufende Summe f&uuml;r dieses Textfeld auf &uuml;ber Gruppe eingestellt. Das f&uuml;hrt dazu, dass Access den Wert des Feldes &uuml;ber alle Rechnungspositionen aggregiert. Erst beim Wechsel zur n&auml;chsten Bestellung beginnt die Summenbildung wieder bei 0. Damit der Rechnungsbetrag im Gruppenfu&szlig; angezeigt werden kann, erh&auml;lt das Textfeld txtSumme folgenden Ausdruck:<\/p>\n<pre>=txtSummeEinzelpositionen<\/pre>\n<p>Es zeigt also einfach den Wert des Feldes txtSummeEinzelpositionen, also die Summe aller Rechnungspositionen an.<\/p>\n<h2>Rechnungsposition hinzuf&uuml;gen<\/h2>\n<p>Bei Rechnungen mit mehreren Positionen kann es manchmal hilfreich sein, wenn sich einzelne Posten im Gespr&auml;ch mit anderen Personen einfach identifizieren lassen. Aus diesem Grund enth&auml;lt der Detailbereich das Textfeld txtPosition.<\/p>\n<p><IMG height=\"202\" src=\"..\/fileadmin\/_temp_\/{060F047C-94DD-4BE5-B742-C6ECC7896E51}\/pic003.png\" width=\"333\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3:  &uuml;ber das Register Ereignis geben Sie die Prozedur f&uuml;r das Beim Drucken-Ereignis ein.<\/span><\/b><\/p>\n<h2>Rechnungspositionen z&auml;hlen<\/h2>\n<p>Der Steuerelementinhalt dieses Textfeldes ist leer. Es erh&auml;lt seinen Wert &uuml;ber VBA-Befehle, die den Wert des Textfeldes pro Position um eins erh&ouml;hen. Zur Eingabe des VBA-Befehls &ouml;ffnen Sie das Eigenschaftsfenster des Detailbereichs. Klicken Sie auf das Register Ereignis und die Eingabehilfe-Schaltfl&auml;che f&uuml;r das Ereignis Beim Drucken (siehe Bild 2)<\/p>\n<p>Erg&auml;nzen Sie die Prozedur mit der folgenden Anweisung:<\/p>\n<pre>If PrintCount = 1 Then txtPosition = txtPosition + 1<\/pre>\n<p>Diese Anweisung erh&ouml;ht den Wert des Textfeldes txtPosition um den Wert 1. Access durchl&auml;uft die Ereignisprozedur f&uuml;r das Beim Drucken-Ereignis unter bestimmten Umst&auml;nden mehrfach und erh&ouml;ht dabei jeweils den Wert der Variablen PrintCount. Mit der Bedingung If PrintCount = 1 erreichen Sie, dass die Positionsnummern nur einmal pro Seite addiert werden.<\/p>\n<h2>Z&auml;hler zur&uuml;cksetzen<\/h2>\n<p>Eine wichtige Anforderung an die Rechnungsposition besteht darin, dass die Z&auml;hlung bei jeder Bestellung mit Eins beginnt. Andernfalls w&uuml;rden Sie mit dem Steuerelement die Anzahl der Positionen von der ersten bis zur letzten Rechnung fortlaufend nummerieren.<\/p>\n<p>Um die Positionsnummer f&uuml;r jede neue Rechnung zur&uuml;ckzusetzen, m&uuml;ssen Sie die folgende Anweisung f&uuml;r die Ereigniseigenschaft Beim Drucken des Bereichs Bestell-Nr-Kopfbereich eingeben:<\/p>\n<pre>txtPosition = 0<\/pre>\n<p>Access f&uuml;hrt diesen VBA-Code f&uuml;r jede neue Bestellnummer einmal aus.<\/p>\n<h3>Praxis-Tipp<\/h3>\n<p>Statt mit VBA k&ouml;nnen Sie die Rechnungsposition auch als laufende Summe realisieren. F&uuml;gen Sie dem Detailbereich ein Feld namens txtRechnungsposition und dem Steuerelementinhalt =1 hinzu. &ouml;ffnen Sie das Eigenschaftsfenster f&uuml;r dieses Steuerelement und w&auml;hlen Sie f&uuml;r die Eigenschaft Laufende Summe den Wert &uuml;ber Gruppe. <\/p>\n<p><!--30percent--><\/p>\n<p>Bei Rechnungen mit vielen Positionen kann wie in Bild 4 der Fall eintreten, dass die Summenzeilen auf die zweite Druckseite rutschen, obwohl dort keine Rechnungspositionen zu drucken sind.  Die Ursache f&uuml;r diesen unsch&ouml;nen Effekt ist schnell gefunden: Beim Ausdruck der Rechnung versucht Access so viele Positionen wie m&ouml;glich auf eine Seite zu drucken. Der verf&uuml;gbare Platz berechnet sich aus der Seitenh&ouml;he abz&uuml;glich der H&ouml;hen von Gruppenkopf-, Gruppenfu&szlig;-, Seitenkopf- und Seitenfu&szlig;bereich, wobei der Gruppenfu&szlig;bereich nat&uuml;rlich nur dann eine Rolle spielt, wenn er auf der aktuellen Seite auch gedruckt wird.<\/p>\n<p><IMG height=\"398\" src=\"..\/fileadmin\/_temp_\/{060F047C-94DD-4BE5-B742-C6ECC7896E51}\/pic004.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 4:  Wenn nur die Summenzeilen auf die zweite Seite rutschen, dann sieht das nicht gerade elegant aus.<\/span><\/b><\/p>\n<p>Im Fall der Rechnung ist es aber gew&uuml;nscht, dass der verbleibende Platz nicht vollst&auml;ndig durch Wiederholungen des Detailbereichs verbraucht wird. Um beispielsweise auf jeder Seite nur 10 Datens&auml;tze zu drucken, ben&ouml;tigen Sie nur ein kleines VBA-Programm. Ein Beispiel finden Sie in dem Bericht repRechnungen10.<\/p>\n<h2>Ein Z&auml;hler f&uuml;r Datens&auml;tze<\/h2>\n<p>Das Z&auml;hlen der Rechnungsdatens&auml;tze pro Seite erfolgt &uuml;ber die Integervariable AnzahlDatens&auml;tze. Damit das Beispiel mit den weiter oben beschriebenen L&ouml;sungen konform l&auml;uft, sollte das Z&auml;hlen der Datens&auml;tze beim Formatieren des Berichts erfolgen.<\/p>\n<p>Die Addition des Z&auml;hlers &uuml;bernimmt die folgende Anweisung:<\/p>\n<pre>AnzahlDatens&auml;tze = AnzahlDatens&auml;tze + 1<\/pre>\n<p>F&uuml;gen Sie diese Anweisung in die Ereignisprozedur Beim Formatieren des Detailbereichs ein. Au&szlig;erdem sollten Sie die Variable im Kopfbereich des Moduls definieren:<\/p>\n<pre>Dim AnzahlDatens&auml;tze As Integer<\/pre>\n<p>Aber zur&uuml;ck zum Detailbereich. Der Z&auml;hler ermittelt die Anzahl der Wiederholungen des Detailbereichs. Wenn die Zahl 10 erreicht ist, dann soll Access einen Seitenumbruch durchf&uuml;hren. Dies erreichen Sie mit folgender Anweisung:<\/p>\n<pre>If AnzahlDatens&auml;tze = 10 Then\r\n    Me.Section(\"Detailbereich\"). _        ForceNewPage = 1\r\nElse\r\n    Me.Section(\"Detailbereich\"). _        ForceNewPage = 0\r\nEnd If<\/pre>\n<h2>Z&auml;hler zur&uuml;cksetzen<\/h2>\n<p><IMG height=\"378\" src=\"..\/fileadmin\/_temp_\/{060F047C-94DD-4BE5-B742-C6ECC7896E51}\/pic005.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 5:  Bei diesem Layout steht die Summenzeile nicht alleine auf einer Seite.<\/span><\/b><\/p>\n<p>Da Access vor dem elften Datensatz einen Seitenumbruch durchf&uuml;hrt, k&ouml;nnen Sie den Z&auml;hler sehr sch&ouml;n in der Ereignisprozedur Beim Formatieren des Seitenkopfbereichs zur&uuml;cksetzen.<\/p>\n<p>F&uuml;gen Sie dort folgende Anweisung hinzu:<\/p>\n<pre>AnzahlDatens&auml;tze = 0<\/pre>\n<p>Damit beginnt die Z&auml;hlung wieder von vorne. Falls Sie diese Anweisung einmal vergessen sollten, dann druckt Access nur auf der ersten Seite zehn Datens&auml;tze und auf allen Folgeseiten so viele Datens&auml;tze, wie auf die Seite passen.<\/p>\n<p>Mit diesen &auml;nderungen erreichen Sie, dass auf der Druckseite, auf der Access die Rechnungssumme ausdruckt, auf jeden Fall vorher auch mindestens eine Position gedruckt wird (siehe Bild 5). In Quellcode 1 finden Sie die Prozeduren des Beispielberichts repRechnungen10.<\/p>\n<p>Wie bei nicht enden wollenden Fernsehserien gibt es auch bei Druckberichten manchmal die Anforderung, dass auf eventuelle Fortsetzungen hingewiesen wird. Damit vermeiden Sie beispielsweise, dass jemand die letzten Seiten mit den unangenehmen Wahrheiten &#8222;vergisst&#8220;.<\/p>\n<p>Insbesondere bei Dokumenten wie beispielsweise einer Rechnung kommt es darauf an, dass der Empf&auml;nger ihre Vollst&auml;ndigkeit &uuml;berpr&uuml;fen kann. Eine einfache L&ouml;sung f&uuml;r dieses Problem ist ein Textfeld, mit dem Sie auf eventuell vorhandene Folgeseiten hinweisen.<\/p>\n<pre>Option Compare Database\r\nOption Explicit\r\nDim AnzahlDatens&auml;tze As Integer\r\nPrivate Sub Detailbereich_Print(Cancel As Integer, PrintCount As Integer)\r\n    If PrintCount = 1 Then txtPosition = txtPosition + 1\r\nEnd Sub\r\nPrivate Sub Gruppenkopf0_Print(Cancel As Integer, PrintCount As Integer)\r\n    txtPosition = 0\r\n    AnzahlDatens&auml;tze = 0 ''Anzahl Datens&auml;tze zur&uuml;cksetzen.\r\nEnd Sub\r\nPrivate Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)\r\n    AnzahlDatens&auml;tze = AnzahlDatens&auml;tze + 1 ''Anzahl Datens&auml;tze z&auml;hlen.\r\n    If AnzahlDatens&auml;tze = 10 Then ''Seitenumbruch\r\n        Me.Section(\"Detailbereich\").ForceNewPage = 1\r\n    Else ''kein Seitenumbruch\r\n        Me.Section(\"Detailbereich\").ForceNewPage = 0\r\n    End If\r\nEnd Sub<\/pre>\n<p><b>Quellcode 1<\/b><\/p>\n<p>F&uuml;r die Anzeige des Fortsetzungstextes ben&ouml;tigen Sie ein Textfeld, das am besten im Seitenfu&szlig;bereich aufgehoben ist. Die bedingte Anzeige des Fortsetzungstextes erreichen Sie mit folgendem Steuerelementinhalt:<\/p>\n<pre>=Wenn([Seite]&lt;[Seiten];\"- Seite \"+Str([Seite]+1) & \"-\")<\/pre>\n<p>Der Ausdruck wird direkt in das Eigenschaftsfenster (und nicht in VBA) eingegeben. Aus diesem Grund sind die deutsche Schreibweise der Eigenschaften und die Verwendung von Semikola als Trennzeichen erforderlich.<\/p>\n<p>Die Eigenschaft Seite enth&auml;lt die Nummer der aktuellen Druckseite und die Eigenschaft Seiten die Gesamtzahl der Druckseiten.<\/p>\n<p>Wenn also die Nummer der aktuellen Seite kleiner als die Gesamtzahl der Seiten ist, zeigt das Textfeld den in Anf&uuml;hrungszeichen enthaltenen Text und sonst einen leeren Text an.<\/p>\n<p>Wenn Sie einen Bericht mit diesem Ausdruck &ouml;ffnen, dann druckt Access unten auf Seite 1 den Text<\/p>\n<pre>- Seite 2 - <\/pre>\n<p>aus. Beim Ausdruck einer einzelnen Rechnung druckt Access auf jeder Seite au&szlig;er der letzten den Hinweis auf die jeweilige Folgeseite. F&uuml;r Berichte, die mehrere Rechnungen nacheinander drucken, ist dieses Verfahren aber leider nicht geeignet. Hier m&uuml;sste Access den Seitenz&auml;hler nach dem Ausdruck der Rechnungssumme zur&uuml;cksetzen. Da es hierf&uuml;r keinen Befehl gibt, wird eine Programmierung mit VBA erforderlich.<\/p>\n<p>Die Schwierigkeit bei der Seitennummerierung pro Rechnung besteht darin, dass Access f&uuml;r die Ermittlung der Seitenzahlen pro Gruppe keine Funktion hat. Eine einfache L&ouml;sung f&uuml;r dieses Problem besteht darin, die Seitennummerierung mit jeder Rechnung von vorne zu beginnen.<\/p>\n<p>Sie erreichen dies mit der Festlegung eines VBA-Befehls f&uuml;r das Ereignis Beim Drucken des Gruppenfu&szlig;bereichs. Geben Sie folgende Anweisung ein:<\/p>\n<pre>Me.Page = 0\r\nPrivate Sub Report_Open(Cancel As Integer)\r\n    DoCmd.SetWarnings False\r\n    DoCmd.RunSQL \"Delete * From tblAnzahlSeitenJeBestellnummer;\"\r\n    DoCmd.SetWarnings True\r\n    Set db = DBEngine.Workspaces(0).Databases(0)\r\n    Set rstAnzahlSeitenJeBestellnummer = _        db.OpenRecordset(\"tblAnzahlSeitenJeBestellnummer\", dbOpenDynaset)\r\nEnd Sub<\/pre>\n<p><b>Quellcode 2<\/b><\/p>\n<p>Die Page-Eigenschaft eines Berichts hat auch schreibenden Zugriff. Durch die Zuweisung im Gruppenfu&szlig; legen Sie die Seitenzahl f&uuml;r die jeweils n&auml;chste Rechnung fest. Bei der Ausf&uuml;hrung des Seitenkopfbereichs erh&ouml;ht Access den Wert um eins, sodass die Page-Eigenschaft auf der n&auml;chsten Rechnung den Wert 1 hat.<\/p>\n<p>Um den Wert anzuzeigen, sollten Sie ein Textfeld mit dem folgenden Steuerelementinhalt im Kopfbereich der Rechnung positionieren:<\/p>\n<pre>=[Seite]<\/pre>\n<p>Bei einem Wechsel in die Seitenansicht zeigt Access die Seitenzahl pro Rechnung an.<\/p>\n<p>Eine kleine Nuance zu der bisherigen L&ouml;sung hat eine gro&szlig;e Wirkung. Wenn die Anforderung darin bestehen sollte, der aktuellen Seite pro Rechnung auch die Gesamtzahl der Seiten pro Rechnung gegen&uuml;berzustellen, dann ben&ouml;tigen Sie ein VBA-Programm.<\/p>\n<p>Eine funktionierende L&ouml;sung findet sich in der Microsoft Knowledge Base unter der Artikelnummer 131937. Wir haben diese Access-2.0-L&ouml;sung f&uuml;r Sie auf Access 97 und 2000 portiert und dem vorliegenden Beispiel angepasst. Das Ergebnis finden Sie unter dem Namen repRechnungenMitSeitenzahlen in der Beispieldatenbank.<\/p>\n<h2>Bericht &ouml;ffnen und Tabelle leeren<\/h2>\n<p>Das Hauptproblem bei der angestrebten L&ouml;sung besteht darin, die Anzahl der Druckseiten pro Rechnung herauszufinden.<\/p>\n<p>Da hierbei m&ouml;glichst viele Sonderf&auml;lle beim Ausdruck von Berichten ber&uuml;cksichtigt werden sollen, k&ouml;nnen Sie die Seitenzahl nur w&auml;hrend des Formatierens ermitteln. Als Zwischenspeicher f&uuml;r die Seitenzahl pro Rechnung dient die Tabelle tblAnzahlSeitenJeBestellnummer.<\/p>\n<p>Diese Tabelle hat die beiden Felder Bestell-Nr und AnzahlSeiten. Beides sind Zahlenfelder mit der Feldgr&ouml;&szlig;e Long Integer. Das Feld Bestell-Nr ist der Prim&auml;rschl&uuml;ssel der Tabelle.<\/p>\n<p>Das F&uuml;llen der Tabelle erfolgt w&auml;hrend der Formatierung des Berichts. Das Klassenmodul zum Bericht definiert zwei Variablen. Die Variable db hat den Typ DAO.Database. Die Variable rstAnzahlSeitenJeBestellnummer hat den Typ Recordset. Beide Variablen kommen erstmals in der Ereignisprozedur Beim &ouml;ffnen des Berichts zum Einsatz (s. Quellcode 2).<\/p>\n<p>Beim &ouml;ffnen des Berichts wird die Tabelle tblAnzahlSeitenJeBestellnummer zun&auml;chst einmal geleert. Anschlie&szlig;end &ouml;ffnet das Programm das Recordset namens rstAnzahlSeitenJeBestellnummer mit der Tabelle.<\/p>\n<h2>Tabelle mit Seitenzahlen f&uuml;llen<\/h2>\n<p>Der Programmcode zum F&uuml;llen der Tabelle wird w&auml;hrend des Formatierens des Seitenfu&szlig;es ausgef&uuml;hrt. Die folgende Anweisung pr&uuml;ft zun&auml;chst, ob es f&uuml;r die aktuelle Bestellnummer in der Tabelle rstAnzahlSeitenJeBestellnummer schon einen Datensatz gibt:<\/p>\n<pre>rstAnzahlSeitenJeBestellnummer.FindFirst \"[Bestell-Nr] = \" & Me.[Bestell-Nr]\r\nFunction AnzahlSeitenJeGruppe()\r\n   rstAnzahlSeitenJeBestellnummer.FindFirst \"[Bestell-Nr] = \" & Me![Bestell-Nr]\r\n   If Not rstAnzahlSeitenJeBestellnummer.NoMatch Then\r\n      AnzahlSeitenJeGruppe = Me.Page & \"\/\" _          & rstAnzahlSeitenJeBestellnummer![AnzahlSeiten]\r\n   End If\r\nEnd Function<\/pre>\n<p><b>Quellcode 3<\/b><\/p>\n<p><IMG height=\"680\" src=\"..\/fileadmin\/_temp_\/{060F047C-94DD-4BE5-B742-C6ECC7896E51}\/pic006.png\" width=\"465\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 6:  Kleine Ursache, gro&szlig;e Wirkung: Um diesen Text pro Rechnung drucken zu k&ouml;nnen, ist ein VBA-Programm erforderlich.<\/span><\/b><\/p>\n<p>Falls es noch keinen Datensatz mit der Bestellnummer gibt, wird er mit .AddNew und .Update hinzugef&uuml;gt. Falls bereits ein Datensatz vorhanden ist, wird er mit .Edit und .Update aktualisiert. In beiden F&auml;llen speichert Access die mit Me.Page ermittelte aktuelle Druckseite des Berichts zu der Bestellnummer ab. So erhalten Sie eine Tabelle, die pro Bestellnummer die Nummer der jeweils letzten gedruckten Seite speichert.<\/p>\n<p>Normalerweise w&uuml;rde die Page-Eigenschaft die Nummer der Seite innerhalb des Berichts ermitteln. Damit Sie stattdessen die Seitennummerierung innerhalb einer Rechnung erhalten, m&uuml;ssen Sie die Format-Ereigniseigenschaft des Gruppenkopfbereichs um folgende Anweisung erg&auml;nzen:<\/p>\n<pre>Me.Page = 1<\/pre>\n<p>Damit erreichen Sie, dass die Z&auml;hlung bei jeder neuen Rechnung von vorne beginnt. Das Ergebnis aller Bem&uuml;hungen besteht nun in einer Tabelle, die pro Bestellnummer die Anzahl der Druckseiten enth&auml;lt. Aber wie gelangt der Ausdruck Seite 1 von 2 in den Bericht (siehe Bild 6)<\/p>\n<h2>Seitennummerierung drucken<\/h2>\n<p>Der Ausdruck der Seitennummerierung erfolgt &uuml;ber das Textfeld txtSeitenzahl im Seitenfu&szlig;bereich des Berichts. Der Steuerelementinhalt des Textfeldes ruft die Funktion AnzahlSeitenJeGruppe auf:<\/p>\n<pre>=\"Seite \" & AnzahlSeitenJeGruppe()<\/pre>\n<p>Diese Funktion ist ebenfalls im Klassenmodul des Berichts definiert und sieht wie in Quellcode 3 aus.<\/p>\n<p>Die Funktion sucht mittels der FindFirst-Methode nach dem Datensatz, in dem die Seitenzahl f&uuml;r die aktuelle Bestellnummer hinterlegt ist. Falls dieser gefunden wird, setzt die Funktion eine Zeichenkette mit der Form 1 \/ 2 zusammen. <\/p>\n<p>Dabei ist 1 die aktuelle Seitenzahl innerhalb der Rechnung und 2 die Gesamtzahl der Seiten pro Rechnung. Bei einseitigen Rechnungen liefert die Funktion den Wert 1 \/ 1.<\/p>\n<pre>Option Compare Database\r\nOption Explicit\r\nDim db As DAO.Database\r\nDim rstAnzahlSeitenJeBestellnummer As Recordset\r\nPrivate Sub Gruppenkopf0_Format(Cancel As Integer, FormatCount As Integer)\r\n    Me.Page = 1\r\nEnd Sub\r\nPrivate Sub Seitenfu&szlig;bereich_Format(Cancel As Integer, FormatCount As Integer)\r\n    rstAnzahlSeitenJeBestellnummer.FindFirst \"[Bestell-Nr] = \" & Me.[Bestell-Nr]\r\n    If Not rstAnzahlSeitenJeBestellnummer.NoMatch Then\r\n        If rstAnzahlSeitenJeBestellnummer![AnzahlSeiten] &lt; Me.Page Then\r\n            rstAnzahlSeitenJeBestellnummer.Edit\r\n            rstAnzahlSeitenJeBestellnummer![AnzahlSeiten] = Me.Page\r\n            rstAnzahlSeitenJeBestellnummer.Update\r\n        End If\r\n    Else\r\n        rstAnzahlSeitenJeBestellnummer.AddNew\r\n        rstAnzahlSeitenJeBestellnummer![Bestell-Nr] = Me![Bestell-Nr]\r\n        rstAnzahlSeitenJeBestellnummer![AnzahlSeiten] = Me.Page\r\n        rstAnzahlSeitenJeBestellnummer.Update\r\n    End If\r\nEnd Sub<\/pre>\n<p><b>Quellcode 4<\/b><\/p>\n<h2>Bericht mit zwei Phasen<\/h2>\n<p>Der Bericht basiert darauf, dass Access mehrere Formatierungsdurchl&auml;ufe hat. Im ersten Durchlauf wird die Tabelle mit den Seitenzahlen gef&uuml;llt, im zweiten Durchlauf erfolgt dann der Ausdruck.<\/p>\n<p>Sie k&ouml;nnen dies leicht ausprobieren, indem Sie f&uuml;r die Ereigniseigenschaft Beim Formatieren des Berichtsfu&szlig;es eine Prozedur mit folgendem Inhalt hinterlegen:<\/p>\n<pre>MsgBox (\"Berichtsfu&szlig; wird formatiert.\")<\/pre>\n<p>Beim &ouml;ffnen des Berichts durchl&auml;uft Access dann die gesamte Formatierung, zeigt die Meldung an und erst danach wird die Seitenansicht ge&ouml;ffnet.<\/p>\n<p>Bevor Sie also die erste Druckseite auf dem Bildschirm sehen, hat Access schon alle Druckseiten einmal formatiert.<\/p>\n<h3>Hinweis<\/h3>\n<p>Access ist so weit optimiert, dass es die Druckseiten nur dann formatiert, wenn dies erforderlich ist. Damit die hier vorgestellte L&ouml;sung funktioniert, ist das Textfeld SeitenDruchlaufErzwingen  im Seitenfu&szlig;bereich unbedingt erforderlich. Es hat den Steuerelementinhalt =[Seiten]. Der Aufruf dieser Eigenschaft zwingt Access, vor der Anzeige der ersten Berichtsseite alle Druckseiten des Berichts zu formatieren. <\/p>\n<p>In Quellcode 4 finden Sie der Vollst&auml;ndigkeit halber die &uuml;brigen Funktionen und Prozeduren des Berichts repRechnungenMitSeitennummern.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Der Entwurf von Berichten durch den blo&szlig;en Einsatz von Men&uuml;befehlen und der Maus ist eine herausragende St&auml;rke von Access. Bei den Anh&auml;ngern anderer Programmiersysteme k&ouml;nnen Sie damit immer wieder neidvolle Blicke ernten. Wenn Sie dann noch in die VBA-Trickkiste greifen, bringen Sie das Fass zum &uuml;berlaufen. Microsoft hat die Programmiersprache nahtlos in Berichte integriert.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662003,66052003,44000024],"tags":[],"class_list":["post-55000124","post","type-post","status-publish","format-standard","hentry","category-662003","category-66052003","category-Berichte_und_Reporting"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Rechnungen mit Berichten ausgeben - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_Berichten_ausgeben\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Rechnungen mit Berichten ausgeben\" \/>\n<meta property=\"og:description\" content=\"Der Entwurf von Berichten durch den blo&szlig;en Einsatz von Men&uuml;befehlen und der Maus ist eine herausragende St&auml;rke von Access. Bei den Anh&auml;ngern anderer Programmiersysteme k&ouml;nnen Sie damit immer wieder neidvolle Blicke ernten. Wenn Sie dann noch in die VBA-Trickkiste greifen, bringen Sie das Fass zum &uuml;berlaufen. Microsoft hat die Programmiersprache nahtlos in Berichte integriert.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_Berichten_ausgeben\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-06T15:17:31+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg08.met.vgwort.de\/na\/71eef9dbcb564c55984fe9b5d130189e\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"15\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Rechnungen_mit_Berichten_ausgeben\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Rechnungen_mit_Berichten_ausgeben\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Rechnungen mit Berichten ausgeben\",\"datePublished\":\"2020-05-06T15:17:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Rechnungen_mit_Berichten_ausgeben\\\/\"},\"wordCount\":2695,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Rechnungen_mit_Berichten_ausgeben\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg08.met.vgwort.de\\\/na\\\/71eef9dbcb564c55984fe9b5d130189e\",\"articleSection\":[\"2003\",\"5\\\/2003\",\"Berichte und Reporting\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Rechnungen_mit_Berichten_ausgeben\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Rechnungen_mit_Berichten_ausgeben\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Rechnungen_mit_Berichten_ausgeben\\\/\",\"name\":\"Rechnungen mit Berichten ausgeben - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Rechnungen_mit_Berichten_ausgeben\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Rechnungen_mit_Berichten_ausgeben\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg08.met.vgwort.de\\\/na\\\/71eef9dbcb564c55984fe9b5d130189e\",\"datePublished\":\"2020-05-06T15:17:31+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Rechnungen_mit_Berichten_ausgeben\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Rechnungen_mit_Berichten_ausgeben\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Rechnungen_mit_Berichten_ausgeben\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg08.met.vgwort.de\\\/na\\\/71eef9dbcb564c55984fe9b5d130189e\",\"contentUrl\":\"http:\\\/\\\/vg08.met.vgwort.de\\\/na\\\/71eef9dbcb564c55984fe9b5d130189e\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Rechnungen_mit_Berichten_ausgeben\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Rechnungen mit Berichten ausgeben\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Rechnungen mit Berichten ausgeben - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_Berichten_ausgeben\/","og_locale":"de_DE","og_type":"article","og_title":"Rechnungen mit Berichten ausgeben","og_description":"Der Entwurf von Berichten durch den blo&szlig;en Einsatz von Men&uuml;befehlen und der Maus ist eine herausragende St&auml;rke von Access. Bei den Anh&auml;ngern anderer Programmiersysteme k&ouml;nnen Sie damit immer wieder neidvolle Blicke ernten. Wenn Sie dann noch in die VBA-Trickkiste greifen, bringen Sie das Fass zum &uuml;berlaufen. Microsoft hat die Programmiersprache nahtlos in Berichte integriert.","og_url":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_Berichten_ausgeben\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-06T15:17:31+00:00","og_image":[{"url":"http:\/\/vg08.met.vgwort.de\/na\/71eef9dbcb564c55984fe9b5d130189e","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"15\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_Berichten_ausgeben\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_Berichten_ausgeben\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Rechnungen mit Berichten ausgeben","datePublished":"2020-05-06T15:17:31+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_Berichten_ausgeben\/"},"wordCount":2695,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_Berichten_ausgeben\/#primaryimage"},"thumbnailUrl":"http:\/\/vg08.met.vgwort.de\/na\/71eef9dbcb564c55984fe9b5d130189e","articleSection":["2003","5\/2003","Berichte und Reporting"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Rechnungen_mit_Berichten_ausgeben\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_Berichten_ausgeben\/","url":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_Berichten_ausgeben\/","name":"Rechnungen mit Berichten ausgeben - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_Berichten_ausgeben\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_Berichten_ausgeben\/#primaryimage"},"thumbnailUrl":"http:\/\/vg08.met.vgwort.de\/na\/71eef9dbcb564c55984fe9b5d130189e","datePublished":"2020-05-06T15:17:31+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_Berichten_ausgeben\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Rechnungen_mit_Berichten_ausgeben\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_Berichten_ausgeben\/#primaryimage","url":"http:\/\/vg08.met.vgwort.de\/na\/71eef9dbcb564c55984fe9b5d130189e","contentUrl":"http:\/\/vg08.met.vgwort.de\/na\/71eef9dbcb564c55984fe9b5d130189e"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_Berichten_ausgeben\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Rechnungen mit Berichten ausgeben"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000124","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55000124"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000124\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000124"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000124"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000124"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}