{"id":55000126,"date":"2003-10-01T00:00:00","date_gmt":"2020-05-06T15:17:32","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=126"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Tipps_und_Tricks_zu_Berichten","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_zu_Berichten\/","title":{"rendered":"Tipps und Tricks zu Berichten"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg09.met.vgwort.de\/na\/ae4b9dd054dc42668d258408602018fb\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Andr&eacute; Minhorst, Duisburg; Manfred Hoffbauer, D&uuml;sseldorf<\/b><\/p>\n<p><b>In den Tipps und Tricks der vorliegenden Ausgabe finden Sie einige interessante M&ouml;glichkeiten, die Ausgabe von Berichten effizienter zu gestalten. Dabei beziehen sich die folgenden Tipps und Tricks zum gr&ouml;&szlig;ten Teil auf die Schritte, die um die eigentliche Berichterstellung herum erfolgen. Nach der Lekt&uuml;re der kommenden Seiten k&ouml;nnen Sie Ihre Datenbank zum Beispiel leicht vor Benutzern sch&uuml;tzen, die Berichte ohne Daten oder ohne Vorhandensein eines Druckers ausgeben m&ouml;chten.<\/b><\/p>\n<p>Was ist schon ein Bericht ohne Daten Das sollten Sie sich &uuml;berlegen, bevor Sie Ihre Kunden oder Mitarbeiter auf eine von Ihnen entwickelte Datenbank loslassen.<\/p>\n<p>Um zu verhindern, dass Berichte ohne Daten angezeigt werden, gibt es prinzipiell zwei M&ouml;glichkeiten: Entweder Sie &uuml;berpr&uuml;fen die Datenherkunft vor dem Aufrufen des Berichts oder Sie verwenden die Ereigniseigenschaft Bei ohne Daten von Berichten.<\/p>\n<h2>Datenherkunft vor dem &ouml;ffnen des Berichts &uuml;berpr&uuml;fen<\/h2>\n<p>W&auml;hrend der Entwicklungsphase einer Datenbank oder bei Datenbanken f&uuml;r interne Zwecke ist das &ouml;ffnen von Berichten &uuml;ber einen Doppelklick auf den entsprechenden Eintrag im Datenbankfenster g&auml;ngige Praxis.<\/p>\n<p>In den meisten F&auml;llen erfordert das &ouml;ffnen von Berichten aber die &uuml;bergabe von Parametern wie Filterbedingungen und dergleichen oder die Datenbank soll von Mitarbeitern oder Kunden verwendet werden. Hier erfolgt das &ouml;ffnen von Berichten in der Regel &uuml;ber entsprechende Prozeduren, die der Benutzer entweder durch das Bet&auml;tigen von Schaltfl&auml;chen oder die Verwendung von Men&uuml;eintr&auml;gen aufruft.<\/p>\n<p>In diesen F&auml;llen k&ouml;nnen Sie leicht vor dem eigentlichen &ouml;ffnen des Berichts dessen Datenherkunft &uuml;berpr&uuml;fen.<\/p>\n<p>Falls die Datenherkunft keine Daten enth&auml;lt, geben Sie eine entsprechende Meldung aus und unterbinden das &ouml;ffnen des Berichts.<\/p>\n<h3>Hinweis<\/h3>\n<p>Wenn Sie noch einen Schritt weiter gehen m&ouml;chten, k&ouml;nnen Sie die Steuerelemente, die dem &ouml;ffnen des Berichts dienen, erst bei Vorhandensein von Daten aktivieren und ansonsten deaktivieren. Dies zieht aber in der Regel einen unverh&auml;ltnism&auml;&szlig;ig hohen Programmieraufwand nach sich. <\/p>\n<h2>Verwenden der Ereigniseigenschaft Bei Ohne Daten<\/h2>\n<p>Berichte stellen die Ereigniseigenschaft Bei Ohne Daten zur Verf&uuml;gung, die beim &ouml;ffnen eines Berichts mit leerer Datenherkunft ausgel&ouml;st wird.<\/p>\n<p>Ein Beispiel f&uuml;r den Aufbau dieser Prozedur finden Sie in Quellcode 1.<\/p>\n<p>Neben einer entsprechenden Meldung, die den Benutzer auf das Fehlen der Daten hinweist, m&uuml;ssen Sie den Wert des Parameters Cancel auf den Wert True setzen. Nur dann wird das &ouml;ffnen des Berichts abgebrochen.<\/p>\n<pre>Private Sub Report_NoData(Cancel As Integer)\r\n    MsgBox \"Der Bericht enth&auml;lt keine Daten.\"\r\n    Cancel = True\r\nEnd Sub<\/pre>\n<p><b>Quellcode 1<\/b><\/p>\n<pre>Private Sub cmdBerichtDrucken_Click()\r\n    On Error GoTo cmdBerichtDrucken_Click_Err\r\n        DoCmd.OpenReport \"&lt;Berichtsname&gt;\"\r\n    Exit Sub\r\ncmdBerichtDrucken_Click_Err:\r\n    If Err.Number = 2501 Then\r\n        Resume Next\r\n    End If\r\nEnd Sub<\/pre>\n<p><b>Quellcode 2<\/b><\/p>\n<p><IMG height=\"270\" src=\"..\/fileadmin\/_temp_\/{F4591CD1-2630-49BC-87CB-D5527B81F4A2}\/pic001.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1:  Standarddrucker in der Registry<\/span><\/b><\/p>\n<p>Wenn Sie den Bericht per Code und nicht &uuml;ber das Datenbankfenster aufgerufen haben, l&ouml;st das Abbrechen des &ouml;ffnen-Vorgangs einen Fehler aus. Diesen sollten Sie in der Prozedur mit der Anweisung zum &ouml;ffnen des Berichts ber&uuml;cksichtigen und eine Fehlerbehandlung wie in Quellcode 2 verwenden.<\/p>\n<p>Bevor ein Bericht &uuml;berhaupt in der Vorschau angezeigt geschweige denn ausgedruckt werden kann, muss auf dem aktuellen Rechner zun&auml;chst einmal ein Drucker installiert und als Standarddrucker definiert sein.<\/p>\n<p>Wenn Sie versuchen, einen Bericht ohne installierten Standarddrucker auszugeben, erhalten Sie eine entsprechende Fehlermeldung.<\/p>\n<p>Bei der Ermittlung des Standarddruckers hilft Ihnen die API-Funktion GetProfileString. Die Funktion dient dem Auslesen bestimmter Werte aus der Windows-Registry (siehe Bild 1) bzw. in fr&uuml;heren Windows-Versionen aus der Datei Win.ini.<\/p>\n<p>Diese Funktion (s. Quellcode 3) deklarieren Sie im Kopf eines neuen VBA-Moduls. Die Funktion StandarddruckerErmitteln ruft die API-Funktion auf und &uuml;bergibt beim Aufruf automatisch die f&uuml;r die Ermittlung des Standarddruckers erforderlichen Parameter (s. Quellcode 4).<\/p>\n<p>Au&szlig;erdem verarbeitet sie das Ergebnis der Funktion direkt mit der Funktion TeilstringErmitteln (s. Quellcode 5) weiter, die den ersten der Eintr&auml;ge des Ergebnisses ausliest.<\/p>\n<h3>Zeichenketten trennen per Funktion<\/h3>\n<p>Die Funktion TeilstringErmitteln hat drei Parameter: Gesamtstring, Trennzeichen und Teilstringnummer. Mit dem ersten Parameter &uuml;bergeben Sie der Funktion die auszuwertende Zeichenkette.<\/p>\n<p>Der zweite Parameter enth&auml;lt das Zeichen, das in der Zeichenkette als Trennzeichen verwendet wird &#8211; also beispielsweise Komma, Semikolon und so weiter. Der dritte Parameter enth&auml;lt die Nummer des Elements der Liste, das die Funktion zur&uuml;ckgeben soll.<\/p>\n<pre>Private Declare Function GetProfileString Lib \"kernel32\" Alias \"GetProfileStringA\" _\r\n    (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As _    String, ByVal lpReturnedString As String, ByVal nSize As Long) As Long<\/pre>\n<p><b>Quellcode 3<\/b><\/p>\n<pre>Public Function StandarddruckerErmitteln() As String\r\n    Dim Rueckgabewert As String\r\n    Dim Funktionsergebnis As Long\r\n    Rueckgabewert = String(255, Chr(0))\r\n    Funktionsergebnis = GetProfileString(\"Windows\", \"Device\", \"\", Rueckgabewert, _        Len(Rueckgabewert))\r\n    If Funktionsergebnis &gt; 0 Then\r\n        GetDefaultPrinter = TeilstringErmitteln(Rueckgabewert, \",\", 1)\r\n    Else\r\n        GetDefaultPrinter = \"\"\r\n    End If\r\nEnd Function<\/pre>\n<p><b>Quellcode 4<\/b><\/p>\n<pre>Private Function TeilstringErmitteln(Gesamtstring As String, Trennzeichen As String, _    Teilstringnummer As Integer) As String\r\n    Dim Startposition As Integer\r\n    Dim Endposition As Integer\r\n    Dim AktuelleStringnummer As Integer\r\n    Dim AktuellesZeichen As Integer\r\n    AktuellesZeichen = 1\r\n    Startposition = 0\r\n    For AktuelleTeilstringnummer = 1 To Teilstringnummer - 1\r\n        AktuellesZeichen = InStr(AktuellesZeichen, Gesamtstring, Trennzeichen)\r\n        If AktuellesZeichen = 0 Then\r\n            Teilstring = \"\"\r\n            Exit Function\r\n        Else\r\n            AktuellesZeichen = AktuellesZeichen + 1\r\n        End If\r\n    Next AktuelleTeilstringnummer\r\n    Startposition = AktuellesZeichen\r\n    Endposition = InStr(Startposition + 1, Gesamtstring, Trennzeichen)\r\n    If Endposition = 0 Then\r\n        Endposition = Len(Gesamtstring) + 1\r\n    End If\r\n    Teilstring = Mid$(Gesamtstring, Startposition, Endposition - Startposition)\r\nEnd Function<\/pre>\n<p><b>Quellcode 5<\/b><\/p>\n<p>Im vorliegenden Fall &uuml;bergibt die Funktion StandarddruckerErmitteln der Funktion TeilstringErmitteln die Zeichenkette Acrobat PDFWriter,winspool,LPT1:, als Trennzeichen das Komma und als Nummer des zur&uuml;ckzugebenden Elements die 1.<\/p>\n<p>Die Funktion TeilstringErmitteln gibt folgerichtig die Zeichenkette Acrobat PDFWriter zur&uuml;ck.<\/p>\n<h3>Praxis-Tipp<\/h3>\n<p>Falls Sie nicht bereits &uuml;ber eine Funktion zum Zerlegen von Zeichenketten verf&uuml;gen, sollten Sie die Funktion TeilstringErmitteln kopieren und Ihrer Funktionssammlung hinzuf&uuml;gen. Sie kann in vielen weiteren F&auml;llen verwendet werden. <\/p>\n<pre>Private Sub cmdBerichtDrucken_Click()\r\n    If StandarddruckerErmitteln = \"\" Then\r\n        MsgBox \"Bitte legen Sie einen Standarddrucker fest bzw. installieren Sie \" _            & \"einen Drucker, falls keiner installiert ist.\", _            vbOKOnly + vbExclamation, \"Kein Standarddrucker definiert\"\r\n    Else\r\n        DoCmd.OpenReport \"&lt;Berichtsname&gt;\"\r\n    End If\r\nEnd Sub<\/pre>\n<p><b>Quellcode 6<\/b><\/p>\n<p>Zur sinnvollen Anwendung der Funktionen m&uuml;ssen Sie diese vor dem Anzeigen von Berichten aufrufen und &uuml;berpr&uuml;fen, ob ein Standarddrucker festgelegt ist.<\/p>\n<p>Ist das nicht der Fall, geben Sie einfach eine entsprechende Meldung aus, damit der Benutzer die notwendigen Schritte einleiten kann. Eine entsprechende Prozedur k&ouml;nnen Sie Quellcode 6 entnehmen.<\/p>\n<p><!--30percent--><\/p>\n<p>Die Prozedur wird durch das Bet&auml;tigen einer Schaltfl&auml;che namens cmdBerichtDrucken gestartet und sie &uuml;berpr&uuml;ft, ob die Funktion StandarddruckerErmitteln einen Wert zur&uuml;ckgibt.<\/p>\n<p>Falls sie eine leere Zeichenkette zur&uuml;ckgibt, erscheint eine entsprechende Meldung. In allen anderen F&auml;llen wird der Bericht auf dem Standarddrucker ausgedruckt.<\/p>\n<p>Die meisten Access-Anwendungen stellen je eine Schaltfl&auml;che f&uuml;r die Anzeige der Vorschau und f&uuml;r das Ausdrucken eines Berichts zur Verf&uuml;gung.<\/p>\n<p>Die durch die Schaltfl&auml;chen ausgel&ouml;sten Anweisungen unterscheiden sich nur in dem Parameter View, der einmal acViewPreview und einmal acViewNormal hei&szlig;t.<\/p>\n<p>Diese Vorgehensweise hat zwei Nachteile: Erstens wird das Dokument immer automatisch auf dem Standarddrucker ausgegeben und zweitens ist diese Methode wenig Windows-konform und damit gew&ouml;hnungsbed&uuml;rftig.<\/p>\n<p>Als Alternative bietet sich folgende Variante an: Stellen Sie dem Benutzer f&uuml;r jeden Bericht Schaltfl&auml;chen beziehungsweise Men&uuml;leisteneintr&auml;ge zur Verf&uuml;gung, die der Anzeige des Berichts in der Vorschau dienen.<\/p>\n<p><IMG height=\"240\" src=\"..\/fileadmin\/_temp_\/{F4591CD1-2630-49BC-87CB-D5527B81F4A2}\/pic002.png\" width=\"354\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2:  Drucken-Schaltfl&auml;che der Symbolleiste von Berichten<\/span><\/b><\/p>\n<p>Das Ausdrucken erfolgt zentral &uuml;ber die Men&uuml;- bzw. Symbolleiste. Beim &ouml;ffnen eines Berichts sind sowohl im Men&uuml; Datei als auch auf der entsprechenden Symbolleiste (siehe Bild 2) Schaltfl&auml;chen zum Drucken des aktuell angezeigten Objekts vorhanden.<\/p>\n<p>Und auch in benutzerdefinierten Men&uuml;s k&ouml;nnen Sie leicht entsprechende Eintr&auml;ge unterbringen, wie Bild 3 zeigt.<\/p>\n<p><IMG height=\"134\" src=\"..\/fileadmin\/_temp_\/{F4591CD1-2630-49BC-87CB-D5527B81F4A2}\/pic003.png\" width=\"261\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3:  Drucken-Schaltfl&auml;che in einer benutzerdefinierten Men&uuml;leiste<\/span><\/b><\/p>\n<pre>Private Sub Report_Activate()\r\n    MenuepunktAktivieren Application.CommandBars(\"Buchhaltung\"). _        Controls(\"&Datei\").Controls(\"D&rucken\")\r\nEnd Sub\r\nPrivate Sub Report_Deactivate()\r\n    MenuepunktDeaktivieren Application.CommandBars(\"Buchhaltung\"). _        Controls(\"&Datei\").Controls(\"D&rucken\")\r\nEnd Sub<\/pre>\n<p><b>Quellcode 7<\/b><\/p>\n<p>Wenn Sie eine selbst erstellte Schaltfl&auml;che auf einem Formular oder in einer benutzerdefinierten Men&uuml;leiste zum Ausdrucken von Berichten verwenden m&ouml;chten, steht die folgende Aufgabe vor Ihnen: Die Schaltfl&auml;che soll beim Anzeigen eines Berichtes aktiviert und beim Schlie&szlig;en des Berichtes wieder deaktiviert werden. Optimalerweise wird die Drucken-Schaltfl&auml;che auch bereits wieder deaktiviert, wenn aktuell kein Bericht den Focus hat.<\/p>\n<p>Um das zu realisieren, verwenden Sie die beiden Ereigniseigenschaften Bei Aktivierung und Bei Deaktivierung des Berichtes. Das Aktivieren und Deaktivieren von Schaltfl&auml;chen ist relativ trivial. Komplizierter wird es bei Eintr&auml;gen in Men&uuml;- und Symbolleisten.<\/p>\n<p>Dazu k&ouml;nnen Sie die im Beitrag Dynamische Men&uuml;s mit VBA aus Ausgabe 4\/2003 von Access im Unternehmen vorgestellten Funktionen MenuepunktAktivieren und MenuepunktDeaktivieren verwenden.<\/p>\n<p>F&uuml;r die im Beitrag Einnahme-&uuml;berschussrechnung mit Access der vorliegenden Ausgabe werden beispielsweise die beiden Prozeduren aus Quellcode 7 verwendet.<\/p>\n<p>Sie k&ouml;nnen diese Vorgehensweise auch verwenden, wenn Sie mehrere Berichte gleichzeitig ge&ouml;ffnet haben. Dazu m&uuml;ssen Sie die beiden Ereignisprozeduren lediglich f&uuml;r jeden Bericht anlegen.<\/p>\n<p>Wenn Sie dann von einem zum anderen Bericht wechseln, wird zun&auml;chst das Ereignis Bei Deaktivierung des ersten Berichts und dann das Ereignis Bei Aktivierung des zweiten Berichts ausgel&ouml;st. Auf diese Weise ist die Drucken-Schaltfl&auml;che immer aktiviert.<\/p>\n<p>Berichte mit vertikalen Linien stellen im Prinzip kein Problem dar. Sie legen die Linie an, &uuml;berpr&uuml;fen das Aussehen des Berichts in der Vorschauansicht und passen gegebenenfalls noch einige Feinheiten an. Aber wehe, Sie wollen eine oder mehrere Felder des Berichts flexibel gestalten und setzen dazu die Eigenschaft Vergr&ouml;&szlig;erbar des jeweiligen Feldes auf den Wert Ja. Dann zeigt der Bericht zwar den Feldinhalt &uuml;ber mehrere Zeilen an, aber die Linie wird nicht mit vergr&ouml;&szlig;ert.<\/p>\n<p><IMG height=\"370\" src=\"..\/fileadmin\/_temp_\/{F4591CD1-2630-49BC-87CB-D5527B81F4A2}\/pic004.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 4:  Zur kurze Linien in vergr&ouml;&szlig;erbaren Bereichen<\/span><\/b><\/p>\n<p>Damit die Linien sich an die vergr&ouml;&szlig;erte Zeilenh&ouml;he anpassen, ist zwangsl&auml;ufig der Einsatz von VBA erforderlich.<\/p>\n<p>Dazu erstellen Sie eine Funktion, der Sie den Namen des Zielbereichs wie zum Beispiel Detailbereich und die waagerechte Koordinate &uuml;bergeben. Die Funktion wird dann von dem Ereignis Beim Drucken des jeweiligen Bereichs aufgerufen.<\/p>\n<h3>Eigenschaften von Linien<\/h3>\n<p>Zur Erstellung einer Linie in einem Bereich eines Berichtes verwenden Sie die Line-Methode. Die Methode erwartet als Parameter die Koordinaten sowie die Farbe der zu erstellenden Linie. Da Berichte in der Regel gesch&auml;ftliche Dokumente und damit entsprechend seri&ouml;s gestaltet werden, verwendet die nachfolgend vorgestellte Funktion die Farbe Schwarz als Linienfarbe.<\/p>\n<h3>Hinweis<\/h3>\n<p>Detaillierte Informationen zur Line-Methode und zu den anderen hier verwendeten VBA-Eigenschaften ScaleMode und DrawWidth erhalten Sie auf den entsprechenden Seiten der Online-Hilfe von Access. <\/p>\n<h3>Vergr&ouml;&szlig;erbare Bereiche und Steuerelemente<\/h3>\n<p>Voraussetzung f&uuml;r die Anwendung dynamischer Linien ist, dass auch die entsprechenden Berichte bzw. Steuerelemente ihre Gr&ouml;&szlig;e automatisch an den Inhalt anpassen. Dazu stellen Sie die Eigenschaft Vergr&ouml;&szlig;erbar sowohl f&uuml;r den Detailbereich als auch f&uuml;r das gew&uuml;nschte Steuerelement  auf den Wert Ja ein.<\/p>\n<h3>Beispiel: Die Einnahmen-&uuml;berschussrechnung<\/h3>\n<p>Als Beispiel dient ein Bericht der im Beitrag Einahmen-&uuml;berschussrechnung mit Access in der vorliegenden Ausgabe von Access im Unternehmen vorgestellten Musterl&ouml;sung.<\/p>\n<p>Wie Bild 4 zeigt, sind die Linien, die im oberen Bereich die richtige H&ouml;he haben, im unteren, vergr&ouml;&szlig;erten Bereich zu kurz.<\/p>\n<p>Um die Linien dynamisch zu gestalten, gehen Sie folgenderma&szlig;en vor:<\/p>\n<li>Legen Sie in einem neuen Modul, das Sie beispielsweise mdlBerichte nennen, die Funktion aus Quellcode 8 an.<\/li>\n<li>Legen Sie f&uuml;r die Ereigniseigenschaft des Detailbereichs des Berichtes die Prozedur aus Quellcode 9 an.<\/li>\n<li>Passen Sie die Zentimeterangaben in den Funktionsaufrufen entsprechend den Positionen der zu erstellenden Linien an. (<\/li>\n<p>Die Funktion LinieErstellen (s. Quellcode 8) hat zwei Parameter: die x-Position der Linie und den Berichtsnamen. Der Berichtsname wird ben&ouml;tigt, damit die Funktion die Linien im richtigen Bericht unterbringt. Die x-Koordinate ist variabel, damit mit mehreren Funktionsaufrufen verschiedene Linien erstellt werden k&ouml;nnen. Die Eigenschaft ScaleMode des Berichts gibt an, welche Einheit f&uuml;r L&auml;ngenangaben innerhalb der Line-Funktion verwendet wird. Der Wert 7 entspricht der Verwendung von Zentimetern. Die Eigenschaft DrawWidth gibt die Breite der zu erstellenden Linien in Pixeln an.<\/p>\n<pre>Public Function LinieErstellen(X1 As Single, _    Berichtname As String)\r\n    Dim Bericht As Report\r\n    Set Bericht = Reports(Berichtname)\r\n    Bericht.ScaleMode = 7\r\n    Bericht.DrawWidth = 1\r\n    Bericht.Line (X1, 0)-(X1, 55.87), 0\r\nEnd Function<\/pre>\n<p><b>Quellcode 8<\/b><\/p>\n<pre>Private Sub Detailbereich_Print(Cancel As Integer, _    PrintCount As Integer)\r\n    LinieErstellen 0, Me.Name\r\n    LinieErstellen 1.19, Me.Name\r\n    LinieErstellen 22.487, Me.Name\r\n    ''weitere Funktionsaufrufe\r\nEnd Sub<\/pre>\n<p><b>Quellcode 9<\/b><\/p>\n<p><IMG height=\"240\" src=\"..\/fileadmin\/_temp_\/{F4591CD1-2630-49BC-87CB-D5527B81F4A2}\/pic005.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 5:  Bericht mit passenden senkrechten Linien<\/span><\/b><\/p>\n<p>Die Prozedur, die durch die Beim Drucken-Ereigniseigenschaft des Detailbereichs ausgel&ouml;st wird, beinhaltet lediglich die unterschiedlichen Aufrufe der Funktion LinieErstellen mit den entsprechenden Parametern.<\/p>\n<p>Der erste Aufruf der Funktion LinieErstellen mit dem x-Wert 0 und dem Wert Me.Name dient beispielsweise der Erstellung einer Linie, die ganz links im Detailbereich liegt und die ganze H&ouml;he abdeckt.<\/p>\n<h3>Praxis-Tipp<\/h3>\n<p>Nat&uuml;rlich erfordert der Einsatz dieser Methode einigen Aufwand bei der Erstellung der einzelnen Funktionsaufrufe. Sie k&ouml;nnen sich die Arbeit erleichtern, wenn Sie die Linien zun&auml;chst einmal wie gew&uuml;nscht im Detailbereich platzieren. Die x-Koordinate finden Sie in den Eigenschaften der jeweiligen Linie unter dem Eigenschaftsnamen Links. <\/p>\n<p>Wenn Sie die Ereignisprozedur mit den gew&uuml;nschten Aufrufen sowie die Funktion LinieErstellen angelegt haben, sollten die Linien beim n&auml;chsten Aufruf des Berichts wie in Bild 5 aussehen.<\/p>\n<h3>Hinweis<\/h3>\n<p>Da die Linien komplett per VBA erstellt werden, sind eventuell bereits vorhandene Linien &uuml;berfl&uuml;ssig und k&ouml;nnen entfernt werden. Die beschriebene Vorgehensweise ist selbstverst&auml;ndlich nicht auf den Detailbereich beschr&auml;nkt, sondern kann auch in allen anderen Bereichen des Berichts verwendet werden. <\/p>\n<p><b>[www.microsoft.com, Knowledgebase-Artikel 170838]<\/b><\/p>\n<p>Bei einem Ausdruck der Artikel aus der Nordwind-Datenbank passen die Artikel von Alice Mutton bis Konbu auf die erste Seite. So ist es auf jeden Fall, wenn Sie den Bericht repArtikelliste aus der Beispieldatenbank verwenden.  Dieser Bericht enth&auml;lt zus&auml;tzlich zu den Textfeldern zur Anzeige der Artikeldaten eine Besonderheit: In der Kopfzeile sehen Sie die ersten drei Buchstaben des jeweils ersten und letzten Artikels der Druckseite.<\/p>\n<h2>Ein Array f&uuml;llen<\/h2>\n<p>Bei einer solchen Anordnung zeigt sich ein grunds&auml;tzliches Problem:<\/p>\n<p>Wie kann Access beim Ausdruck der Kopfzeile, also vor dem Ausdruck des ersten Artikels, schon wissen, wie der Name des letzten Artikels auf der Seite lautet Kann es nicht. Um den gew&uuml;nschten Effekt dennoch zu erreichen, k&ouml;nnen Sie sich folgende Eigenart zu Nutze machen:<\/p>\n<p>Access durchl&auml;uft die Ereigniseigenschaften beim Formatieren eines Berichts mehrfach.<\/p>\n<p>So l&auml;sst sich beim ersten Durchlauf des Ereignisses Beim Formatieren des Berichtsfu&szlig;- und des Seitenfu&szlig;bereichs ein Array mit den Artikelnamen f&uuml;llen. Das Array enth&auml;lt jeweils den letzten Artikelnamen pro Druckseite.<\/p>\n<p>Beim zweiten Durchlauf der Ereignisse und diesmal speziell des Ereignisses Beim Formatieren des Seitenkopfbereichs k&ouml;nnen Sie den Inhalt des Arrays einem Textfeld zuweisen.<\/p>\n<p>In welchem Durchlauf sich Access gerade befindet, speichert der Bericht in der Boolean-Variablen ArrayF&uuml;llen. Um die Variable zu initialisieren, wird die Ereigniseigenschaft Beim &ouml;ffnen des Berichts wie folgt ausgestattet:<\/p>\n<p>Private Sub Report_Open(Cancel As _    Integer)<\/p>\n<p>    ArrayF&uuml;llen = True<\/p>\n<p>End Sub<\/p>\n<p>Damit wei&szlig; der folgende Programmcode, dass sich der Bericht im ersten Durchlauf befindet und das Array gef&uuml;llt werden muss. Die hier fehlende Deklaration f&uuml;r die Variable ArrayF&uuml;llen sowie das Array aryABCBis findet im Kopf des Moduls statt, um die Variablen f&uuml;r das ganze Modul bereitzustellen:<\/p>\n<p>Dim ArrayF&uuml;llen As Boolean<\/p>\n<p>Dim aryABCBis() As String<\/p>\n<h2>Sch&ouml;n der Reihe nach<\/h2>\n<p>Der Bericht repArtikelliste enth&auml;lt Ereignisprozeduren f&uuml;r folgende Ereignisse:<\/p>\n<li>Bericht &#8211; Beim &ouml;ffnen<\/li>\n<li>Seitenkopf &#8211; Beim Formatieren<\/li>\n<li>Berichtsfu&szlig; &#8211; Beim Formatieren<\/li>\n<li>Seitenfu&szlig; &#8211; Beim Formatieren<\/li>\n<p>Beim &ouml;ffnen des Berichts zur Seitenansicht oder zum Ausdruck l&ouml;st Access immer zuerst das Beim &ouml;ffnen-Ereignis aus. Darauf folgen das Seitenkopf- und das Seitenfu&szlig;-Ereignis und zwar gleich mehrmals &#8211; f&uuml;r jede Seite einmal. Zum Schluss k&ouml;nnte man denken, m&uuml;sste das Berichtsfu&szlig;-Ereignis ausgef&uuml;hrt werden. Aber da auch die letzte Seite einen Seitenkopf und einen Seitenfu&szlig; hat, werden diese Ereignisse noch nach dem Berichtsfu&szlig;-Ereignis ausgel&ouml;st.<\/p>\n<p>F&uuml;r die geforderte Anwendung ist aber eben eine feste Reihenfolge erforderlich, die sich mit der Variablen ArrayF&uuml;llen erreichen l&auml;sst.<\/p>\n<h3>Praxis-Tipp<\/h3>\n<p>Sie k&ouml;nnen die Ausf&uuml;hrungsreihenfolge der verschiedenen Berichtsereignisse ganz leicht nachvollziehen. F&uuml;gen Sie in jeder Ereignisprozedur als erste Zeile eine MsgBox-Anweisung mit dem Namen der Prozedur ein (zum Beispiel MsgBox(&#8222;Seitenfu&szlig;bereich_Format&#8220;). Beim &ouml;ffnen des Berichts zeigt Access die Meldungen dann in der Reihenfolge an, wie die Berichtsereignisse ausgel&ouml;st werden. <\/p>\n<h2>Ein Fu&szlig; pro Seite &#8230;<\/h2>\n<p>Am Ende jeder Seite l&ouml;st Access das Beim Formatieren-Ereignis des Seitenfu&szlig;bereichs aus (s. Quellcode 10). Zu diesem Zeitpunkt ist der letzte Artikel gerade formatiert worden und das Programm braucht sich nur den Namen in einem Array zu merken. <\/p>\n<p>Die Page-Eigenschaft liefert die aktuelle Druckseite des Berichts. Die ReDim-Anweisung dimensioniert das Array aryABCBis auf die aktuelle Seitenzahl, die ja gleichzeitig der zu diesem Zeitpunkt maximalen Anzahl Seiten entspricht.<\/p>\n<p>Da Access das Ereignis pro Seite einmal ausl&ouml;st, hat das Array am Ende genauso viele Dimensionen wie der Bericht Seiten.<\/p>\n<pre>Private Sub Seitenfu&szlig;bereich_Format(Cancel As Integer, _    FormatCount As Integer)\r\n    If ArrayF&uuml;llen Then\r\n        ReDim Preserve aryABCBis(Page)\r\n        aryABCBis(Page) = Me!Artikelname\r\n    End If\r\nEnd Sub<\/pre>\n<p><b>Quellcode 10<\/b><\/p>\n<pre>Private Sub Seitenkopfbereich_Format(Cancel As _    Integer, FormatCount As Integer)\r\n    If Not ArrayF&uuml;llen Then\r\n        Me!txtBisABC = Left(Artikelname, 3) & \" - \" _            & Left(aryABCBis(Page), 3)\r\n    End If\r\nEnd Sub<\/pre>\n<p><b>Quellcode 11<\/b><\/p>\n<p><IMG height=\"281\" src=\"..\/fileadmin\/_temp_\/{F4591CD1-2630-49BC-87CB-D5527B81F4A2}\/pic006.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 6:  Die Artikelliste in der Vorschauansicht<\/span><\/b><\/p>\n<p>Das Arrayelement aryABCBis(Page) erh&auml;lt den Wert des Feldes Me!Artikelname.<\/p>\n<p>Dies entspricht dem zuletzt auf der Seite gedruckten Artikelnamen, also genau dem Wert, der sp&auml;ter in der Kopfzeile gedruckt werden soll.<\/p>\n<h2>&#8230; und pro Bericht<\/h2>\n<p>Falls Sie den Ausdruck des Seitenfu&szlig;es auf der letzten Berichtsseite zu einem sp&auml;teren Zeitpunkt einmal ausschalten wollen, dann sollte der Bericht weiterhin richtig funktionieren.<\/p>\n<p>Aus diesem Grund verwenden Sie den identischen Programmcode wie in der Prozedur aus Quellcode 10 f&uuml;r das Ereignis Beim Formatieren des Berichtsfu&szlig;bereichs.<\/p>\n<p>Der Berichtsfu&szlig; enth&auml;lt au&szlig;erdem folgende wichtige Anweisung:<\/p>\n<pre>ArrayF&uuml;llen = False<\/pre>\n<p>Mit dem Ausdruck des Berichtsfu&szlig;es ist der erste Formatierungslauf beendet und das F&uuml;llen des Arrays ist abgeschlossen.<\/p>\n<p>Damit das Array beim n&auml;chsten Durchlauf nicht noch weiter gef&uuml;llt wird, erh&auml;lt die Variable ArrayF&uuml;llen den Wert False.<\/p>\n<h2>Seitenkopfbereich<\/h2>\n<p>Im Seitenkopfbereich ben&ouml;tigen Sie ein Textfeld mit dem Namen txtABCBis. Dieses Textfeld wird &uuml;ber den Programmcode aus Quellcode 11 gef&uuml;llt.<\/p>\n<p>Wenn also das F&uuml;llen des Arrays abgeschlossen ist, dann erh&auml;lt das Textfeld die ersten drei Buchstaben des ersten Artikelnamens dieser Seite, einen Bindestrich und die ersten drei Buchstaben des letzten Artikelnamens dieser Seite (siehe Bild 6).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In der vorliegenden Zusammenstellung von Tipps und Tricks finden Sie einige interessante M&ouml;glichkeiten, die Ausgabe von Berichten effizienter zu gestalten. Dabei beziehen sich die folgenden Tipps und Tricks zum gr&ouml;&szlig;ten Teil auf die Schritte, die um die eigentliche Berichterstellung herum erfolgen. Nach der Lekt&uuml;re der kommenden Seiten k&ouml;nnen Sie Ihre Datenbank zum Beispiel leicht vor Benutzern sch&uuml;tzen, die Berichte ohne Daten oder ohne Vorhandensein eines Druckers ausgeben m&ouml;chten. Im Einzelnen finden Sie die folgenden Tipps und Tricks:<br \/>\n&#8211; Vorhandensein von Daten &uuml;berpr&uuml;fen<br \/>\n&#8211; Vorhandensein eines Standarddruckers &uuml;berpr&uuml;fen<br \/>\n&#8211; Drucker komfortabel ausw&auml;hlen<br \/>\n&#8211; Benutzerdefinierte Drucken-Schaltfl&auml;che steuern<br \/>\n&#8211; Gr&ouml;&szlig;e von vertikalen Linien anpassen<br \/>\n&#8211; Ali-Kon<\/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,44000004],"tags":[],"class_list":["post-55000126","post","type-post","status-publish","format-standard","hentry","category-662003","category-66052003","category-Berichte_und_Reporting","category-Tipps_und_Tricks"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Tipps und Tricks zu Berichten - 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\/Tipps_und_Tricks_zu_Berichten\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tipps und Tricks zu Berichten\" \/>\n<meta property=\"og:description\" content=\"In der vorliegenden Zusammenstellung von Tipps und Tricks finden Sie einige interessante M&ouml;glichkeiten, die Ausgabe von Berichten effizienter zu gestalten. Dabei beziehen sich die folgenden Tipps und Tricks zum gr&ouml;&szlig;ten Teil auf die Schritte, die um die eigentliche Berichterstellung herum erfolgen. Nach der Lekt&uuml;re der kommenden Seiten k&ouml;nnen Sie Ihre Datenbank zum Beispiel leicht vor Benutzern sch&uuml;tzen, die Berichte ohne Daten oder ohne Vorhandensein eines Druckers ausgeben m&ouml;chten. Im Einzelnen finden Sie die folgenden Tipps und Tricks: - Vorhandensein von Daten &uuml;berpr&uuml;fen - Vorhandensein eines Standarddruckers &uuml;berpr&uuml;fen - Drucker komfortabel ausw&auml;hlen - Benutzerdefinierte Drucken-Schaltfl&auml;che steuern - Gr&ouml;&szlig;e von vertikalen Linien anpassen - Ali-Kon\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_zu_Berichten\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-06T15:17:32+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg09.met.vgwort.de\/na\/ae4b9dd054dc42668d258408602018fb\" \/>\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=\"16\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_zu_Berichten\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_zu_Berichten\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Tipps und Tricks zu Berichten\",\"datePublished\":\"2020-05-06T15:17:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_zu_Berichten\\\/\"},\"wordCount\":2882,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_zu_Berichten\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg09.met.vgwort.de\\\/na\\\/ae4b9dd054dc42668d258408602018fb\",\"articleSection\":[\"2003\",\"5\\\/2003\",\"Berichte und Reporting\",\"Tipps und Tricks\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_zu_Berichten\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_zu_Berichten\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_zu_Berichten\\\/\",\"name\":\"Tipps und Tricks zu Berichten - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_zu_Berichten\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_zu_Berichten\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg09.met.vgwort.de\\\/na\\\/ae4b9dd054dc42668d258408602018fb\",\"datePublished\":\"2020-05-06T15:17:32+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_zu_Berichten\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_zu_Berichten\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_zu_Berichten\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg09.met.vgwort.de\\\/na\\\/ae4b9dd054dc42668d258408602018fb\",\"contentUrl\":\"http:\\\/\\\/vg09.met.vgwort.de\\\/na\\\/ae4b9dd054dc42668d258408602018fb\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tipps_und_Tricks_zu_Berichten\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tipps und Tricks zu Berichten\"}]},{\"@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":"Tipps und Tricks zu Berichten - 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\/Tipps_und_Tricks_zu_Berichten\/","og_locale":"de_DE","og_type":"article","og_title":"Tipps und Tricks zu Berichten","og_description":"In der vorliegenden Zusammenstellung von Tipps und Tricks finden Sie einige interessante M&ouml;glichkeiten, die Ausgabe von Berichten effizienter zu gestalten. Dabei beziehen sich die folgenden Tipps und Tricks zum gr&ouml;&szlig;ten Teil auf die Schritte, die um die eigentliche Berichterstellung herum erfolgen. Nach der Lekt&uuml;re der kommenden Seiten k&ouml;nnen Sie Ihre Datenbank zum Beispiel leicht vor Benutzern sch&uuml;tzen, die Berichte ohne Daten oder ohne Vorhandensein eines Druckers ausgeben m&ouml;chten. Im Einzelnen finden Sie die folgenden Tipps und Tricks: - Vorhandensein von Daten &uuml;berpr&uuml;fen - Vorhandensein eines Standarddruckers &uuml;berpr&uuml;fen - Drucker komfortabel ausw&auml;hlen - Benutzerdefinierte Drucken-Schaltfl&auml;che steuern - Gr&ouml;&szlig;e von vertikalen Linien anpassen - Ali-Kon","og_url":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_zu_Berichten\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-06T15:17:32+00:00","og_image":[{"url":"http:\/\/vg09.met.vgwort.de\/na\/ae4b9dd054dc42668d258408602018fb","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"16\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_zu_Berichten\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_zu_Berichten\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Tipps und Tricks zu Berichten","datePublished":"2020-05-06T15:17:32+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_zu_Berichten\/"},"wordCount":2882,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_zu_Berichten\/#primaryimage"},"thumbnailUrl":"http:\/\/vg09.met.vgwort.de\/na\/ae4b9dd054dc42668d258408602018fb","articleSection":["2003","5\/2003","Berichte und Reporting","Tipps und Tricks"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_zu_Berichten\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_zu_Berichten\/","url":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_zu_Berichten\/","name":"Tipps und Tricks zu Berichten - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_zu_Berichten\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_zu_Berichten\/#primaryimage"},"thumbnailUrl":"http:\/\/vg09.met.vgwort.de\/na\/ae4b9dd054dc42668d258408602018fb","datePublished":"2020-05-06T15:17:32+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_zu_Berichten\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_zu_Berichten\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_zu_Berichten\/#primaryimage","url":"http:\/\/vg09.met.vgwort.de\/na\/ae4b9dd054dc42668d258408602018fb","contentUrl":"http:\/\/vg09.met.vgwort.de\/na\/ae4b9dd054dc42668d258408602018fb"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Tipps_und_Tricks_zu_Berichten\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Tipps und Tricks zu Berichten"}]},{"@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\/55000126","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=55000126"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000126\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000126"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000126"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000126"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}