{"id":55000659,"date":"2009-04-01T00:00:00","date_gmt":"2020-05-22T22:22:24","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=659"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Berichte_manuell_fuellen","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Berichte_manuell_fuellen\/","title":{"rendered":"Berichte manuell f&uuml;llen"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg02.met.vgwort.de\/na\/c539cd0a5e9d473aaf38970164e01681\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Auch wenn man Berichte meist erst gegen Ende eines Projekts programmiert und sie gegen&uuml;ber der Benutzeroberfl&auml;che oft stiefm&uuml;tterlich behandelt, wei&szlig; man doch, wie man Berichte mit Inhalt f&uuml;llt: N&auml;mlich durch Datenbindung des Berichts an eine Tabelle oder Abfrage und der in den verschiedenen Bereichen eingef&uuml;gten Felder zur Anzeige der Daten. Es geht aber auch anders: Mit dem Print-Befehl des Report-Objekts drucken Sie Texte an beliebige Stellen der einzelnen Berichtsbereiche. Wie das funktioniert und was Sie damit anstellen k&ouml;nnen, lesen Sie in diesem Beitrag.<\/b><\/p>\n<p>Wer in Access-Berichten die &uuml;blichen Pfade verlassen und ausgefallene Szenarien realisieren m&ouml;chte, muss im Normalfall ein wenig Zeit mitbringen. Mal eben Text in einem Textfeld in unterschiedlichen Schriftarten darstellen, den Inhalt eines Textfelds mittig oder gar am unteren Rand ausrichten oder eine komplette Seite mit Informationen f&uuml;llen, die nicht aus gebundenen Feldern stammen<\/p>\n<p>Mit Access-Berichten durchaus ein Problem &#8211; wenn es denn die <b>Print<\/b>-Methode des Report-Objekts nicht g&auml;be.<\/p>\n<p>Mit dieser Methode k&ouml;nnen Sie Text in beliebigen Schriftarten an beliebigen Stellen in die einzelnen Bereiche eines Access-Berichts schreiben. Der kleine Nachteil ist, dass dies nicht bereichs&uuml;bergreifend geschehen kann &#8211; das schm&auml;lert den Nutzen dieser Funktion f&uuml;r Berichte mit dem gewissen Etwas jedoch nicht.<\/p>\n<p class=\"zwischen-berschrift-oberer-spaltenrand\">Ereignisreich<\/p>\n<p>W&auml;hrend Sie die Datenherkunft und die Position der gebundenen und ungebundenen Steuerelemente eines Access-Berichts normalerweise zur Entwurfszeit festlegen und diese dann von Access automatisch gef&uuml;llt werden, erfolgt der Aufruf des <b>Print<\/b>-Befehls erst zur Laufzeit, und zwar innerhalb bestimmter Ereignisse. Dabei handelt es sich um die beiden Ereignisse <b>Beim Formatieren <\/b>und <b>Beim Drucken <\/b>eines jeden Berichtsbereichs, die auch in dieser Reihenfolge pro Bereich einmal oder mehrmals ausgel&ouml;st werden.<\/p>\n<p>Der Unterschied zwischen den beiden Ereignissen ist, dass beim Aufruf von <b>Beim Formatieren <\/b>noch keine Informationen &uuml;ber die Formatierung des aktuellen Bereichs vorliegen, beim Ereignis <b>Beim Drucken <\/b>jedoch schon.<\/p>\n<p>Wenn Sie einem Bereich, der in Abh&auml;ngigkeit vom Inhalt seiner gebundenen Steuerelemente eine unterschiedliche H&ouml;he aufweisen kann, per <b>Print <\/b>Text hinzuf&uuml;gen m&ouml;chten, ist es m&ouml;glicherweise interessant, die endg&uuml;ltige H&ouml;he des Bereichs zu kennen &#8211; und dies ist erst im Ereignis <b>Beim Drucken <\/b>m&ouml;glich.<\/p>\n<p><b>Print it<\/b><\/p>\n<p>Probieren Sie das einfach mal aus, indem Sie beispielsweise f&uuml;r den Seitenkopf das Ereignis <b>Beim Drucken <\/b>anlegen und dort einen <b>Print<\/b>-Befehl unterbringen. Dazu &ouml;ffnen Sie einen Bericht in der Entwurfsansicht, aktivieren den Seitenkopfbereich durch einen Klick auf den Balken mit der Beschriftung <b>Seitenkopf<\/b>, klicken auf die Eigenschaft <b>Beim Drucken <\/b>im Bereich <b>Ereignisse <\/b>des Eigenschaftsfensters und anschlie&szlig;end auf die nun erscheinende Schaltfl&auml;che mit den drei Punkten (&#8230;).<\/p>\n<p>Wenn Sie im folgenden Dialog den Eintrag <b>Code-Generator <\/b>ausw&auml;hlen, &ouml;ffnet sich der VBA-Editor und pr&auml;sentiert den automatisch angelegten Rumpf einer Prozedur namens <b>Seitenkopfbereich_Print<\/b>.<\/p>\n<p>Tragen Sie hier die folgende Anweisung ein und &ouml;ffnen Sie den Bericht in der Seitenvorschau, um das Ergebnis aus Bild 1 zu erhalten:<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_02\/BerichtePrinten-web-images\/pic001_opt.jpeg\" alt=\"pic001.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1: Ein erster kleiner Beispieltext<\/span><\/b><\/p>\n<pre>Private Sub Seitenkopfbereich_Print(Cancel As &micro;\r\n    Integer, PrintCount As Integer)\r\n    Me.Print &quot;Printed by Print&quot;\r\n    End Sub<\/pre>\n<p>Es kann sein, dass Sie nun keinen Text sehen, was zum Beispiel daran liegen kann, dass Sie Access 2007 verwenden und den Bericht in der Berichtsansicht ge&ouml;ffnet haben. Diese l&ouml;st aber weder das <b>Beim Formatieren<\/b>&#8211; noch das <b>Beim Drucken<\/b>-Ereignis aus. Sie m&uuml;ssen also zur Seitenansicht wechseln. Es kann auch sein, dass der Bereich, in dem der Text gedruckt werden soll, schlicht zu klein bemessen ist. Die <b>Print<\/b>-Anweisung nimmt keine R&uuml;cksicht darauf, ob der auszugebende Inhalt im Zielbereich Platz findet; gegebenenfalls erhalten Sie hier sogar abgeschnittene Zeilen.<\/p>\n<p>Auf die oben angegebene Weise k&ouml;nnen Sie Texte in alle Berichtsbereiche drucken. Der Text im Detailbereich erscheint auf jeden Fall mindestens einmal, auch wenn die Datenherkunft keine Datens&auml;tze enth&auml;lt.<\/p>\n<p><b>Von Zeile zu Zeile<\/b><\/p>\n<p>Wenn Sie nicht nur eine, sondern mehrere Zeilen drucken m&ouml;chten, geben Sie einfach mehrere Print-Anweisung hintereinander ein:<\/p>\n<pre>Me.Print &quot;Zeile 1&quot;\r\nMe.Print &quot;Zeile 2&quot;<\/pre>\n<p>Entgegen der Angabe in der Online-Hilfe f&uuml;hrt dies allerdings nur zu einem Wagenr&uuml;cklauf, nicht jedoch zu einem Zur&uuml;cksetzen der X-Position auf den Beginn der Zeile. Stattdessen erhalten Sie die Ausgabe aus Bild 2.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_02\/BerichtePrinten-web-images\/pic002_opt.jpeg\" alt=\"pic002.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2: Zwei aufeinanderfolgende Print-Anweisungen liefern einen Wagenr&uuml;cklauf, aber keinen Start am Zeilenbeginn.<\/span><\/b><\/p>\n<p>Wenn Sie zwei Zeilen direkt untereinander drucken m&ouml;chten, m&uuml;ssen Sie die X-Position zuvor mit folgender Anweisung auf 0 einstellen:<\/p>\n<pre>Me.CurrentX = 0<\/pre>\n<p>Damit kommen wir zum Einstellen der Startposition von Texten, die per <b>Print <\/b>in Berichte geschrieben werden sollen: Neben der Eigenschaft <b>CurrentX <\/b>gibt es n&auml;mlich auch noch die Eigenschaft <b>CurrentY <\/b>zum Einstellen der y-Koordinate.<\/p>\n<p>Wenn Sie den Text also nicht ganz oben im betroffenen Bereich drucken m&ouml;chten, sondern weiter unten, m&uuml;ssen Sie den Abstand zum oberen Rand des Bereichs mit der <b>CurrentY<\/b>-Eigenschaft angeben. Das Gleiche gilt nat&uuml;rlich f&uuml;r den Abstand zum linken Rand; hier kommt die <b>CurrentX<\/b>-Eigenschaft zum Zuge.<\/p>\n<p>Diese beiden Eigenschaften behalten ihren Wert nach einmaligem Einstellen jedoch nicht, sondern &auml;ndern sich mit jedem erneuten Aufruf der <b>Print<\/b>-Anweisung und definieren die neue Position des Startpunkts f&uuml;r weitere <b>Print<\/b>-Aufrufe. Als Beispiel geben die folgenden Zeilen die x- und y-Position vor und nach dem Drucken einer Textzeile aus:<\/p>\n<pre>Debug.Print Me.CurrentX, Me.CurrentY\r\nMe.Print &quot;Zeile 1&quot;\r\nDebug.Print Me.CurrentX, Me.CurrentY<\/pre>\n<p>Das Ergebnis im Direktfenster sieht so aus:<\/p>\n<pre>0 0\r\n588 269<\/pre>\n<p>Auf diese Weise k&ouml;nnen Sie gleichzeitig die H&ouml;he und die Breite des soeben ausgedruckten Textes bestimmen. Aber um welche Einheit handelt es sich denn hier &uuml;berhaupt Normalerweise um Twips. Die Einheit stellen Sie auf zwei Arten ein:<\/p>\n<ul>\n<li class=\"aufz-hlung\">Sie legen mit der Eigenschaft <b>ScaleMode <\/b>einen der g&auml;ngigen Werte <b>1 <\/b>(Twips), <b>2 <\/b>(Punkt) oder <b>3 <\/b>(Pixel) fest (&uuml;brige Werte siehe Online-Hilfe).<\/li>\n<li class=\"aufz-hlung\">Sie bestimmen eine eigene Einheit, indem Sie den Bereich durch Angabe von Werten f&uuml;r die Eigenschaften <b>ScaleWidth <\/b>und <b>ScaleHeight <\/b>in die gew&uuml;nschte Anzahl Einheiten aufteilen &#8211; die Gesamtbreite und die Gesamth&ouml;he des Bereichs, geteilt durch die f&uuml;r <b>ScaleWidth <\/b>und <b>ScaleHeight <\/b>angegebenen Werte, ergibt die Breite beziehungsweise H&ouml;he der neuen Einheit. Wenn der Bereich 15 Zentimeter breit ist und Sie geben f&uuml;r <b>ScaleWidth <\/b>den Wert <b>10 <\/b>an, ist jede Einheit 1,5 Zentimeter breit.<\/li>\n<\/ul>\n<p>Zus&auml;tzlich zur L&auml;nge\/Breite einer Einheit k&ouml;nnen Sie deren Ursprung relativ zum bestehenden linken und oberen Seitenrand ver&auml;ndern, und zwar mit den beiden Eigenschaften <b>ScaleLeft <\/b>und <b>ScaleTop<\/b>.<\/p>\n<p><b>Texte aneinanderreihen<\/b><\/p>\n<p>Wenn Sie Texte ohne Zeilenumbruch aneinanderreihen m&ouml;chten, k&ouml;nnen Sie dem Argument der <b>Print<\/b>-Anweisung ein Semikolon anh&auml;ngen:<\/p>\n<pre>Me.Print &quot;Text 1 &quot;;\r\nMe.Print &quot;Text 2&quot;<\/pre>\n<p><!--30percent--><\/p>\n<p>liefert beispielsweise folgende Ausgabe im Bericht:<\/p>\n<pre>Text 1 Text 2<\/pre>\n<p><b>Kreuzweise<\/b><\/p>\n<p>Mit den hier vorgestellten Befehlen k&ouml;nnen Sie etwa Kreuztabellen in Berichten realisieren. Ein einfaches Beispiel ist die Darstellung des kleinen 1&#215;1. Daf&uuml;r ist der Code aus Listing 1 erforderlich und das Ergebnis sieht wie in Bild 3 aus. Beachten Sie, dass der Bereich, in dem diese Matrix gedruckt werden soll, hoch genug ist &#8211; anderenfalls wird diese nicht komplett dargestellt. Die Routine durchl&auml;uft zwei Schleifen und f&uuml;llt so zun&auml;chst die Spalten der Matrix und dann die Zeilen.<\/p>\n<p class=\"kastentabelleheader\">Listing 1: Drucken des kleinen 1&#215;1 im Detailbereich eines Berichts<\/p>\n<pre>Dim i As Integer\r\nDim j As Integer\r\nMe.Print &quot;Kleines 1x1&quot;\r\nFor i = 1 To 10\r\n    Me.CurrentX = Me.ScaleWidth \/ 11 * (i)\r\n    Me.CurrentY = Me.ScaleHeight \/ 11\r\n    Me.Print i\r\n    For j = 1 To 10\r\n        If i = 1 Then\r\n            Me.CurrentX = 0\r\n            Me.CurrentY = Me.ScaleHeight &micro;\r\n            \/ 12 * (j + 1)\r\n            Me.Print j\r\n        End If\r\n        Me.CurrentX = Me.ScaleWidth \/ 11 * (i)\r\n        Me.CurrentY = Me.ScaleHeight&micro;\r\n        \/ 12 * (j + 1)\r\n        Me.Print i * j\r\n    Next j\r\nNext i\r\nMe.Line (0, Me.ScaleHeight \/ 12 * 2)-&micro;\r\n(Me.ScaleWidth, Me.ScaleHeight \/ 12 * 2)\r\nMe.Line (Me.ScaleWidth \/ 11 * 1, &micro;\r\nMe.ScaleHeight \/ 12 * 1)-(Me.ScaleWidth&micro;\r\n\/ 11 * 1, Me.ScaleHeight \/ 12 * 12)<\/pre>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_02\/BerichtePrinten-web-images\/pic003_opt.jpeg\" alt=\"pic003.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3: Das per Print-Anweisung erzeugte kleine 1&#215;1<\/span><\/b><\/p>\n<p>Damit Sie erkennen, welchen Nutzen das Erstellen einer eigenen Einheit beziehungsweise eines eigenen Rasters haben kann, finden Sie in Listing 2 einige Zeilen Code, die zwar genau das Gleiche durchf&uuml;hren wie die aus Listing 1, die aber von einer normierten Matrix im aktuellen Berichtsbereich ausgehen (hier 11&#215;12). Der eine oder andere mag diese Vorgehensweise vorziehen.<\/p>\n<p><b>Text eines Textfelds in unterschiedlichen Schriftarten anzeigen<\/b><\/p>\n<p>Unter Access ist es nicht m&ouml;glich, dem Inhalt eines Textfelds verschiedene Formatierungen zuzuweisen &#8211; zumindest nicht in Versionen &auml;lter als Access 2007. Dort finden Sie zumindest eine spezielle Art von Rich-Text-Format, um Texte zu formatieren.<\/p>\n<p>In manchen F&auml;llen kann man dieses Verhalten jedoch auch mit &auml;lteren Versionen von Access nachbilden. Die Voraussetzung ist, dass der Text nicht umbrochen wird: Die <b>Print<\/b>-Anweisung ignoriert beim Drucken n&auml;mlich nicht nur das untere Ende des jeweiligen Bereichs, sondern sie druckt auch &uuml;ber den rechten Seitenrand hinaus, wenn der Text zu lang ist, um auf einer Seitenbreite dargestellt zu werden. (Sie k&ouml;nnen den Text nat&uuml;rlich mit einer selbst gebastelten Funktion in mehrere Zeilen zerlegen, aber darauf gehen wir hier aus Platzgr&uuml;nden nicht n&auml;her ein.)<\/p>\n<p>Als Beispiel soll eine Liste von Personen samt Geburtsdatum angezeigt werden, wobei die Namen fett und das Geburtsdatum dahinter in Klammern und in normaler Breite gedruckt werden.<\/p>\n<p>Der Beispielbericht verwendet die Tabelle <b>tblKontakte <\/b>mit den Feldern <b>ID<\/b>, <b>Vorname<\/b>, <b>Nachname <\/b>und <b>Geburtsdatum<\/b> als Datenherkunft.<\/p>\n<p>Damit Sie in den Ereignisprozeduren <b>Beim Formatieren <\/b>oder <b>Beim Drucken <\/b>auf die Werte dieser Felder f&uuml;r den aktuellen Datensatz zugreifen k&ouml;nnen, m&uuml;ssen Sie diese Felder auch im Detailbereich des Berichts platzieren. Da die Felder nicht angezeigt werden sollen, stellen Sie die Eigenschaft <b>Sichtbar <\/b>gleich auf <b>Nein <\/b>ein &#8211; immerhin m&ouml;chten wir ja die <b>Print<\/b>-Methode verwenden, um die Daten wie im Bericht aus Bild 4 anzuzeigen.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_02\/BerichtePrinten-web-images\/pic004_opt.jpeg\" alt=\"pic004.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 4: Nachbilden der Anzeige unterschiedlicher Formatierungen in einem einzigen Steuerelement<\/span><\/b><\/p>\n<p>Der Einsatz der <b>Print<\/b>-Methode sieht dann wie in der folgenden Routine aus:<\/p>\n<pre>Private Sub Detailbereich_Print(Cancel As &micro;\r\n    Integer, PrintCount As Integer)\r\n    Me.FontBold = True\r\n    Me.FontItalic = True\r\n    Me.FontSize = 11\r\n    Me.Print Me.Vorname &amp; &quot; &quot; &amp; Me.Nachname;\r\n    Me.FontBold = False\r\n    Me.FontItalic = False\r\n    Me.Print &quot; (&quot; &amp; Me.Geburtsdatum &amp; &quot;)&quot;\r\n    End Sub<\/pre>\n<p>Der Clou ist also, die gew&uuml;nschten Inhalte einfach auf zwei <b>Print<\/b>-Befehle zu verteilen und zwischendurch die Zeichenformatierungen zu &auml;ndern &#8211; von fett und kursiv auf normal und umgekehrt. Au&szlig;erdem m&uuml;ssen Sie an den ersten <b>Print<\/b>-Befehl ein Semikolon anh&auml;ngen, damit der Teil mit dem Geburtsdatum einfach in der gleichen Zeile hinten angef&uuml;gt werden kann.<\/p>\n<p><b>Vertikal zentrieren<\/b><\/p>\n<p>Der Anlass f&uuml;r die Besch&auml;ftigung mit einem Beitrag zum Thema <b>Print<\/b>-Befehl war eine Frage in einer Newsgroup. Dort wollte ein Access-Entwickler wissen, wie er den Preis einer Rechnungsposition auf H&ouml;he der untersten Zeile der m&ouml;glicherweise mehrzeiligen Positionsbeschreibung darstellen k&ouml;nne. Access-MVP Josef Poetzl lieferte die eleganteste L&ouml;sung, die wir hier in abgewandelter Form vorstellen.<\/p>\n<p>Zur Vereinfachung soll der folgende Beispielbericht nicht die &uuml;blichen Rechnungsdaten, sondern nur die Positionen und die Preise selbst anzeigen, weshalb die als Datenherkunft dienende Tabelle <b>tblPositionen <\/b>auch nur die drei Felder <b>ID <\/b>(Prim&auml;rschl&uuml;sselfeld), <b>Position <\/b>(Memo) und <b>Preis <\/b>(W&auml;hrung) enth&auml;lt. Den Bericht namens <b>rptPositionen <\/b>erstellen Sie folgenderma&szlig;en:<\/p>\n<ul>\n<li class=\"aufz-hlung\">&Ouml;ffnen Sie einen neuen Bericht in der Entwurfsansicht.<\/li>\n<li class=\"aufz-hlung\">F&uuml;gen Sie die Tabelle <b>tblPositionen <\/b>als Datenherkunft hinzu.<\/li>\n<li class=\"aufz-hlung\">Ziehen Sie die drei Felder ID, Position und Preis in den Detailbereich und ordnen Sie diese nebeneinander an.<\/li>\n<li class=\"aufz-hlung\">Die Beschriftungsfelder schneiden Sie aus und ordnen sie &uuml;ber den Textfeldern im Seitenkopf des Berichts an.<\/li>\n<li class=\"aufz-hlung\">Stellen Sie die Eigenschaft <b>Vergr&ouml;&szlig;erbar <\/b>des Felds <b>Position <\/b>auf <b>Ja <\/b>ein.<\/li>\n<\/ul>\n<p>Der Bericht sollte nun in der Seitenansicht wie in Bild 5 aussehen (die Zeilen sind der &Uuml;bersicht halber mit alternierenden Hintergrundfarben ausgestattet).<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_02\/BerichtePrinten-web-images\/pic005_opt.jpeg\" alt=\"pic005.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 5: Positionen einer Rechnung in &uuml;blicher Darstellung<\/span><\/b><\/p>\n<p>Leider liefert Access keine Eigenschaft, mit der Sie die vertikale Ausrichtung von Textfeldern einstellen k&ouml;nnen &#8211; und auch das w&uuml;rde nichts helfen, denn Sie m&uuml;ssten auch noch sicherstellen, dass das Textfeld mit dem Preis die gleiche H&ouml;he wie das mit dem Positionstext aufweist. Dessen H&ouml;he ist variabel und h&auml;ngt, wie oben angedeutet, von der Anzahl der angezeigten Zeilen ab.<\/p>\n<p>Nun k&ouml;nnte man meinen, dass sich die H&ouml;he des <b>Preis<\/b>-Feldes in Abh&auml;ngigkeit von der H&ouml;he des <b>Positions<\/b>-Feldes einstellen l&auml;sst, aber das ist in keiner der Prozeduren m&ouml;glich, die durch die Ereignisse <b>Beim Formatieren <\/b>oder <b>Beim Drucken <\/b>ausgel&ouml;st werden. Beim Formatieren ist die H&ouml;he noch nicht bekannt und beim Drucken ist die Formatierung bereits abgeschlossen und nicht mehr &auml;nderbar.<\/p>\n<p>Also verwenden Sie die <b>Print<\/b>-Anweisung, die Sie auch mit den Inhalten der Felder der Datenherkunft verwenden k&ouml;nnen. Interessant ist bei diesem Beispiel nicht die <b>Print<\/b>-Anweisung selbst &#8211; diese soll nur den Preis mit einer entsprechenden W&auml;hrungs-Formatierung ausgeben -, sondern die Ermittlung der Position f&uuml;r die Ausgabe. Da sich diese nach der H&ouml;he des Textfeldes mit der Position richtet, kommt als Ereignis f&uuml;r die <b>Print<\/b>-Anweisung nur <b>Beim Drucken <\/b>infrage, denn erst dort ist die H&ouml;he des Textfeldes bekannt.<\/p>\n<p>Die H&ouml;he wird in der Routine aus Listing 3 mit <b>Me!Position.Height <\/b>ermittelt. W&uuml;rde man diesen Wert f&uuml;r <b>CurrentY <\/b>angeben, w&uuml;rde die Routine den Preis genau unterhalb der letzten Zeile drucken. Also brauchen wir noch die H&ouml;he des Preises, die wir mit <b>Me.TextHeight(Me!Preis) <\/b>ermitteln. Die Differenz aus beiden, erg&auml;nzt um einen kleinen Ausgleichsfaktor, ergibt die vertikale Position. Nun soll der Preis aber auch noch rechtsb&uuml;ndig ausgerichtet werden, was dazu f&uuml;hrt, dass wir auch noch die Breite des darzustellenden Texts inklusive Formatierung mit <b>Me.TextWidth <\/b>ermitteln m&uuml;ssen und <b>CurrentX <\/b>genau so einstellen, dass der Text am rechten Rand des Berichts endet (siehe Bild 6).<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_02\/BerichtePrinten-web-images\/pic006_opt.jpeg\" alt=\"pic006.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 6: Positionen einer Rechnung mit unten ausgerichteten Preisen<\/span><\/b><\/p>\n<p class=\"zwischen-berschrift-oberer-spaltenrand\">Seitenweise<\/p>\n<p>Die <b>Print<\/b>-Anweisung er&ouml;ffnet eine ganze Menge M&ouml;glichkeiten. Die gr&ouml;&szlig;te Einschr&auml;nkung dabei ist die Tatsache, dass sie sich nicht um r&auml;umliche Beschr&auml;nkungen k&uuml;mmert und &uuml;ber den rechten oder oberen Rand hinausdruckt, ohne den Bereich zu vergr&ouml;&szlig;ern. Ist der Bereich zu klein beziehungsweise der zu druckende Text zu gro&szlig; dimensioniert, ist er einfach nicht sichtbar.<\/p>\n<p>Wenn der Text zu gro&szlig; geraten k&ouml;nnte, sollten Sie die durch den Text belegte Breite gegebenenfalls mit der <b>TextWidth<\/b>-Methode pr&uuml;fen und diesen umbrechen oder auf andere Weise andeuten, dass der Text nicht komplett angezeigt werden kann &#8211; zum Beispiel durch Abschneiden an entsprechender Stelle und durch Hinzuf&uuml;gen von drei Punkten (&#8222;Dieser Beispieltext ist zu &#8230;&#8220;).<\/p>\n<p>Wenn Sie gleich mehrere Seiten mit der <b>Print<\/b>-Methode f&uuml;llen m&ouml;chten, sollten Sie ber&uuml;cksichtigen, dass Berichte &uuml;berhaupt nur mehrere Seiten anzeigen, wenn entsprechende Daten vorliegen. Ohne Daten wird immer nur die erste Seite angezeigt &#8211; au&szlig;er nat&uuml;rlich, Sie stellen die Eigenschaften einzelner Bereiche so ein, dass diese auf einer neuen Seite angezeigt werden.<\/p>\n<p>Brauchen Sie einen Bericht mit mehreren Seiten, ohne dass Sie Daten aus einer Datenherkunft anzeigen m&ouml;chten, erzeugen Sie trotzdem eine solche, die schlicht und einfach ein Feld mit ausreichend durchnummerierten Zahlen enth&auml;lt &#8211; ein Autowertfeld reicht v&ouml;llig aus.<\/p>\n<p>Stellen Sie H&ouml;he und Breite des Detailbereichs so gro&szlig; ein, dass dieser die komplette Seite einnimmt. W&auml;hlen Sie die oben beschriebene Tabelle als Datenherkunft aus, und wenn die Tabelle mehr Datens&auml;tze enth&auml;lt, als der Bericht Seiten anzeigen soll, dann schr&auml;nken Sie die Datenherkunft durch ein entsprechendes Kriterium ein (<b>SELECT * FROM tblSeiten WHERE Seite &lt;= 10 <\/b>w&auml;re beispielsweise ein Ausdruck, der f&uuml;r einen zehnseitigen Bericht ben&ouml;tigt w&uuml;rde).<\/p>\n<p>Anschlie&szlig;end k&ouml;nnen Sie die Seiten des Berichts nach Lust und Laune mit der <b>Print<\/b>-Anweisung oder auch mit Punkten, Kreisen, Linien oder Vierecken f&uuml;llen, die Sie mit den Methoden <b>PSet<\/b>, <b>Circle <\/b>oder <b>Line <\/b>erzeugen.<\/p>\n<p>Wie Sie festlegen, was auf welcher Seite angezeigt wird Ganz einfach: Werten Sie im <b>Beim Drucken<\/b>-Ereignis einfach die Eigenschaft <b>Page <\/b>des Berichts aus. Sie enth&auml;lt die aktuell gedruckte Seite des Berichts. Sie k&ouml;nnen diese Eigenschaft auch leicht mit der <b>Print<\/b>-Methode kombinieren, um die Seitenzahl im Bericht anzuzeigen:<\/p>\n<pre>Private Sub Detailbereich_Print(Cancel As &micro;\r\n    Integer, PrintCount As Integer)\r\n    Me.Print Me.Page\r\n    End Sub<\/pre>\n<p><b>Gro&szlig;, gr&ouml;&szlig;er, Print<\/b><\/p>\n<p>Ein weiterer Vorteil der Print-Anweisung ist, dass Sie damit beliebige Schriftgr&ouml;&szlig;en ausgeben k&ouml;nnen und nicht wie in Steuerelementen auf 72 Punkte beschr&auml;nkt sind. Dies kann beim Drucken von Headern oder Logos durchaus interessant sein.<\/p>\n<p><b>Zusammenfassung und Ausblick<\/b><\/p>\n<p>Die <b>Print<\/b>-Methode von Berichten ist ein echtes Stiefkind. Dabei k&ouml;nnen Sie zusammen mit den &uuml;brigen Methoden und Eigenschaften zum Gestalten von Berichtselementen abseits von Textfeldern und den anderen eingebauten Steuerelementen vieles erreichen, was sonst unm&ouml;glich scheint.<\/p>\n<p>Ein gutes Beispiel daf&uuml;r liefert der Beitrag <b>Termine in Berichten darstellen <\/b>(Shortlink 660). Dort erfahren Sie, wie Sie Outlook-&auml;hnliche Tages&uuml;bersichten mit den aktuellen Terminen in optisch ansprechender Weise per Bericht ausgeben.<\/p>\n<p>Beim Umgang mit der <b>Print<\/b>-Methode ist es wichtig, dass die jeweils g&uuml;ltigen Schrift- und Positionseigenschaften verwendet werden. Wenn Sie nach dem Drucken einer Zeile f&uuml;r die folgende eine andere Schriftart verwenden m&ouml;chten, dann m&uuml;ssen Sie diese &uuml;ber die entsprechenden Font-Eigenschaften des <b>Report<\/b>-Objekts explizit angeben. Die <b>CurrentX<\/b>&#8211; und <b>CurrentY<\/b>-Eigenschaften enthalten jeweils die aktuelle Position, an der Texte, Punkte, Linien, Rechtecke oder Kreise eingef&uuml;gt werden. Auch diese Eigenschaften m&uuml;ssen Sie per Code einstellen, wenn Sie die Position ver&auml;ndern m&ouml;chten.<\/p>\n<p class=\"kastentabelleheader\">Listing 2: Drucken des kleinen 1&#215;1 mit normierter H&ouml;he und Breite<\/p>\n<p class=\"kastentabelleheader\">Listing 3: Drucken des Preises einer Position, der an der letzten Zeile der jeweiligen Position ausgerichtet ist<\/p>\n<pre>Private Sub Detailbereich_Print(Cancel As Integer, &micro;\r\n    PrintCount As Integer)\r\n    Dim sngPositionHeight As Single\r\n    Dim sngHeight As Single\r\n    sngPositionHeight = Me!Position.Height\r\n    sngHeight = Me.TextHeight(Me!Preis)\r\n    Me.CurrentY = sngPositionHeight - sngHeight - 20\r\n    Me.CurrentX = Me.ScaleWidth - &micro;\r\n    Me.TextWidth(Format(Me!Preis, &quot;0.00 EUR&quot;))\r\n    Me.FontName = Me!Position.FontName\r\n    Me.FontSize = Me!Position.FontSize\r\n    Me.Print Format(Me.Preis, &quot;0.00 EUR&quot;)\r\n    End Sub\r\nDim i As Integer\r\nDim j As Integer\r\nMe.ScaleWidth = 11\r\nMe.ScaleHeight = 12\r\nMe.Print &quot;Kleines 1x1&quot;\r\nFor i = 1 To 10\r\n    Me.CurrentX = i\r\n    Me.CurrentY = 1\r\n    Me.Print i\r\n    For j = 1 To 10\r\n        If i = 1 Then\r\n            Me.CurrentX = 0\r\n            Me.CurrentY = j + 1\r\n            Me.Print j\r\n        End If\r\n        Me.CurrentX = i\r\n        Me.CurrentY = j + 1\r\n        Me.Print i * j\r\n    Next j\r\nNext i\r\nMe.Line (0, 2)-(Me.ScaleWidth, 2)\r\nMe.Line (1, 1)-(1, Me.ScaleHeight)<\/pre>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>BerichteManuellFuellen.mdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/{746FA50F-F0BD-4243-9AF0-5CF43BFD4FA9}\/aiu_659.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Auch wenn man Berichte meist erst gegen Ende eines Projekts programmiert und diese gegen&uuml;ber der Benutzeroberfl&auml;che oft stiefm&uuml;tterlich behandelt, wei&szlig; man doch, wie man diese mit Inhalt f&uuml;llt: N&auml;mlich durch Datenbindung des Berichts an eine Tabelle oder Abfrage und der in den verschiedenen Bereichen eingef&uuml;gten Feldern zur Anzeige der Daten. Es geht aber auch anders: Mit dem Print-Befehl des Report-Objekts drucken Sie Texte an beliebige Stellen der einzelnen Berichtsbereiche. Wie das funktioniert und was Sie damit anstellen k&ouml;nnen, lesen Sie in diesem Beitrag.<\/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":[66022009,662009,44000024],"tags":[],"class_list":["post-55000659","post","type-post","status-publish","format-standard","hentry","category-66022009","category-662009","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>Berichte manuell f&uuml;llen - 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\/Berichte_manuell_fuellen\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Berichte manuell f&uuml;llen\" \/>\n<meta property=\"og:description\" content=\"Auch wenn man Berichte meist erst gegen Ende eines Projekts programmiert und diese gegen&uuml;ber der Benutzeroberfl&auml;che oft stiefm&uuml;tterlich behandelt, wei&szlig; man doch, wie man diese mit Inhalt f&uuml;llt: N&auml;mlich durch Datenbindung des Berichts an eine Tabelle oder Abfrage und der in den verschiedenen Bereichen eingef&uuml;gten Feldern zur Anzeige der Daten. Es geht aber auch anders: Mit dem Print-Befehl des Report-Objekts drucken Sie Texte an beliebige Stellen der einzelnen Berichtsbereiche. Wie das funktioniert und was Sie damit anstellen k&ouml;nnen, lesen Sie in diesem Beitrag.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Berichte_manuell_fuellen\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-22T22:22:24+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg02.met.vgwort.de\/na\/c539cd0a5e9d473aaf38970164e01681\" \/>\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\\\/Berichte_manuell_fuellen\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Berichte_manuell_fuellen\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Berichte manuell f&uuml;llen\",\"datePublished\":\"2020-05-22T22:22:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Berichte_manuell_fuellen\\\/\"},\"wordCount\":2867,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Berichte_manuell_fuellen\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/c539cd0a5e9d473aaf38970164e01681\",\"articleSection\":[\"2\\\/2009\",\"2009\",\"Berichte und Reporting\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Berichte_manuell_fuellen\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Berichte_manuell_fuellen\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Berichte_manuell_fuellen\\\/\",\"name\":\"Berichte manuell f&uuml;llen - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Berichte_manuell_fuellen\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Berichte_manuell_fuellen\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/c539cd0a5e9d473aaf38970164e01681\",\"datePublished\":\"2020-05-22T22:22:24+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Berichte_manuell_fuellen\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Berichte_manuell_fuellen\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Berichte_manuell_fuellen\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/c539cd0a5e9d473aaf38970164e01681\",\"contentUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/c539cd0a5e9d473aaf38970164e01681\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Berichte_manuell_fuellen\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Berichte manuell f&uuml;llen\"}]},{\"@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":"Berichte manuell f&uuml;llen - 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\/Berichte_manuell_fuellen\/","og_locale":"de_DE","og_type":"article","og_title":"Berichte manuell f&uuml;llen","og_description":"Auch wenn man Berichte meist erst gegen Ende eines Projekts programmiert und diese gegen&uuml;ber der Benutzeroberfl&auml;che oft stiefm&uuml;tterlich behandelt, wei&szlig; man doch, wie man diese mit Inhalt f&uuml;llt: N&auml;mlich durch Datenbindung des Berichts an eine Tabelle oder Abfrage und der in den verschiedenen Bereichen eingef&uuml;gten Feldern zur Anzeige der Daten. Es geht aber auch anders: Mit dem Print-Befehl des Report-Objekts drucken Sie Texte an beliebige Stellen der einzelnen Berichtsbereiche. Wie das funktioniert und was Sie damit anstellen k&ouml;nnen, lesen Sie in diesem Beitrag.","og_url":"https:\/\/access-im-unternehmen.de\/Berichte_manuell_fuellen\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-22T22:22:24+00:00","og_image":[{"url":"http:\/\/vg02.met.vgwort.de\/na\/c539cd0a5e9d473aaf38970164e01681","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\/Berichte_manuell_fuellen\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Berichte_manuell_fuellen\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Berichte manuell f&uuml;llen","datePublished":"2020-05-22T22:22:24+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Berichte_manuell_fuellen\/"},"wordCount":2867,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Berichte_manuell_fuellen\/#primaryimage"},"thumbnailUrl":"http:\/\/vg02.met.vgwort.de\/na\/c539cd0a5e9d473aaf38970164e01681","articleSection":["2\/2009","2009","Berichte und Reporting"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Berichte_manuell_fuellen\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Berichte_manuell_fuellen\/","url":"https:\/\/access-im-unternehmen.de\/Berichte_manuell_fuellen\/","name":"Berichte manuell f&uuml;llen - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Berichte_manuell_fuellen\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Berichte_manuell_fuellen\/#primaryimage"},"thumbnailUrl":"http:\/\/vg02.met.vgwort.de\/na\/c539cd0a5e9d473aaf38970164e01681","datePublished":"2020-05-22T22:22:24+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Berichte_manuell_fuellen\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Berichte_manuell_fuellen\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Berichte_manuell_fuellen\/#primaryimage","url":"http:\/\/vg02.met.vgwort.de\/na\/c539cd0a5e9d473aaf38970164e01681","contentUrl":"http:\/\/vg02.met.vgwort.de\/na\/c539cd0a5e9d473aaf38970164e01681"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Berichte_manuell_fuellen\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Berichte manuell f&uuml;llen"}]},{"@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\/55000659","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=55000659"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000659\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000659"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000659"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000659"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}