{"id":55000848,"date":"2012-08-01T00:00:00","date_gmt":"2020-05-22T21:47:52","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=848"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Kreuztabellen_in_Berichten_anzeigen","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Kreuztabellen_in_Berichten_anzeigen\/","title":{"rendered":"Kreuztabellen in Berichten anzeigen"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg05.met.vgwort.de\/na\/112651a0bbf84b74879b90a4dcd931cf\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Kreuztabellenabfragen erlauben die zweidimensionale Gruppierung und Berechnung von Daten. Leider ist standardm&auml;&szlig;ig nur die Datenblattansicht vorgesehen. Mit ein paar Tricks zeigen Sie das Ergebnis von Kreuztabellenabfragen jedoch auch in Berichten an. Dieser Beitrag zeigt, wie Sie Berichte f&uuml;r verschiedene Kreuztabellen erstellen, und erl&auml;utert, welche besonderen Kniffe f&uuml;r die Darstellung von Daten mit dynamischen Spalten&uuml;berschriften n&ouml;tig sind.<\/b><\/p>\n<p>Das erste Beispiel soll die Ums&auml;tze der Mitarbeiter &uuml;ber die einzelnen Kategorien auflisten. Das gew&uuml;nschte Ergebnis finden Sie in Bild 2.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2012_04\/KreuztabellenInBerichten-web-images\/pic001.png\" alt=\"pic001.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1: Darstellung einer Kreuztabelle in einem Access-Bericht<\/span><\/b><\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2012_04\/KreuztabellenInBerichten-web-images\/pic002.png\" alt=\"pic002.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2: Diese Kreuztabelle dient als Datenherkunft f&uuml;r den Bericht<\/span><\/b><\/p>\n<p><b>Aufbau des Berichts<\/b><\/p>\n<p>Wie bekommen wir nun die Daten der Kreuztabellenabfrage in den Bericht Grunds&auml;tzlich gelingt dies wie bei einem herk&ouml;mmlichen Bericht. Dazu fassen wir das Abfrageergebnis unabh&auml;ngig davon, dass es sich hierbei um eine Kreuztabellenabfrage handelt, als ganz normales Abfrageergebnis mit Feldnamen und Datens&auml;tzen auf.<\/p>\n<p>Der erste Unterschied zu einem herk&ouml;mmlichen Bericht ist, dass die Spalten&uuml;berschriften nicht den Feldnamen der zugrunde liegenden Abfrage entsprechen, sondern den per Kreuztabellenabfrage ermittelten Spalten&uuml;berschriften. <\/p>\n<p>Der zweite Unterschied ist, dass auch die Textfelder zur Anzeige der Daten im Detailbereich nicht an echte Felder einer Tabelle gebunden werden, sondern an Ausdr&uuml;cke, die auf den Spalten&uuml;berschriften der Kreuztabellenabfrage basieren &#8211; in diesem Fall also beispielsweise Getr&auml;nke, Gew&uuml;rze et cetera.<\/p>\n<p>Bedeutet das nun Mehraufwand Nein! Sie brauchen der Eigenschaft <b>Datenherkunft <\/b>des Berichts einfach nur den Namen der Kreuztabellenabfrage zuzuweisen. Danach stehen die generischen Felder in der Feldliste zur Verf&uuml;gung, sodass Sie diese einfach nur wie gewohnt in den Detailbereich des Berichtsentwurfs ziehen und anschlie&szlig;end anordnen m&uuml;ssen (s. Bild 3). Fertig &#8211; der erste Bericht auf Basis einer Kreuztabellenabfrage steht!<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2012_04\/KreuztabellenInBerichten-web-images\/pic003.png\" alt=\"pic003.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3: Entwurfsansicht des Kreuztabellenberichts<\/span><\/b><\/p>\n<p><b>Spalten&uuml;berschriften einschr&auml;nken<\/b><\/p>\n<p>Steigern wir den Schwierigkeitsgrad ein wenig. Zum Beispiel, indem wir den Benutzer festlegen lassen, welche Kategorien im Bericht ber&uuml;cksichtigt werden sollen. Wenn der Benutzer nun also entscheidet, dass statt der vorhandenen acht Kategorien nur zwei Kategorien in der Kreuztabelle und somit auch im Bericht abgebildet werden sollen, k&ouml;nnen wir den soeben erstellten Bericht nicht so einfach weiterverwenden. Immerhin w&auml;re ein Eingriff in den Entwurf des Berichts notwendig, da ja nur noch sechs Felder mit Ums&auml;tzen angezeigt werden sollen.<\/p>\n<p>Zun&auml;chst einmal muss dazu die zugrunde liegende Abfrage angepasst werden. Dies erreichen Sie, indem Sie ein Kriterium f&uuml;r das Feld <b>Kategoriename<\/b> festlegen (s. Bild 4). Dies k&ouml;nnen Sie direkt unter dem als Spalten&uuml;berschrift festgelegten Element im Entwurf der Kreuztabellenabfrage erledigen, indem Sie dort einen Ausdruck wie <b>IN(&quot;Getr&auml;nke&quot;;&quot;Gew&uuml;rze&quot;)<\/b> eintragen.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2012_04\/KreuztabellenInBerichten-web-images\/pic004.png\" alt=\"pic004.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 5: Kreuztabellenabfrage mit eingeschr&auml;nkter Spaltenzahl<\/span><\/b><\/p>\n<p>Das Kriterium wird aber nach dem Speichern und erneuten &Ouml;ffnen der Abfrage in ein eigenes Feld mit der Funktion <b>Bedingung <\/b>ausgegliedert.<\/p>\n<p>Das Ergebnis der Abfrage in der Datenblattansicht liefert schon einmal die gew&uuml;nschten Werte (s. Bild 5). Nun m&uuml;ssen wir dieses noch in den Bericht &uuml;bertragen. Dass dies in der aktuellen Konfiguration nicht funktioniert, war abzusehen &#8211; es erscheint eine Fehlermeldung, dass einer der Kategorienamen nicht als g&uuml;ltiger Feldname erkannt werden kann.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2012_04\/KreuztabellenInBerichten-web-images\/pic005.png\" alt=\"pic005.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 6: Entwurf des Berichts mit nur noch zwei Kategorien der Kreuztabellenabfrage<\/span><\/b><\/p>\n<p>Kein Wunder: Der Bericht enth&auml;lt immer noch sechs Textfelder, deren Eigenschaft <b>Steuerelementinhalt <\/b>auf die Felder der per Kriterium ausgeblendeten Spalten&uuml;berschriften der Kreuztabellenabfrage zeigt. Wenn Sie die notwendigen &auml;nderungen manuell durchf&uuml;hren wollten, m&uuml;ssten Sie schlicht und einfach die &uuml;berz&auml;hligen Felder entfernen, in diesem Fall also alle Felder au&szlig;er <b>Getr&auml;nke <\/b>und <b>Gew&uuml;rze<\/b>.<\/p>\n<p>Der Entwurf sieht nun wie in Bild 6 aus. Damit w&auml;re das Problem grunds&auml;tzlich gel&ouml;st, allerdings nur f&uuml;r diese spezielle Konstellation. F&uuml;r jede andere Zusammenstellung der Kategorien m&uuml;ssen Sie nun erneut in den Entwurf des Berichts eingreifen.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2012_04\/KreuztabellenInBerichten-web-images\/pic006.png\" alt=\"pic006.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 4: Einschr&auml;nkung der Spalten&uuml;berschriften einer Kreuztabellenabfrage<\/span><\/b><\/p>\n<p><b>Dynamische Berichtserstellung<\/b><\/p>\n<p>Der erste Ansatz, dieses Problem zu l&ouml;sen, ist das dynamische Erstellen eines Berichts in Abh&auml;ngigkeit von den gew&auml;hlten Kategorien. Das hei&szlig;t, dass der Bericht bei jedem Aufruf gel&ouml;scht und neu erstellt wird. Diese L&ouml;sung finden Sie in <span class=\"verweis-ohneumbruch\"><a href=\"#anker-44-anchor\">Listing 1<\/a><\/span>.<\/p>\n<p class=\"listingueberschrift\">Listing 1: Erstellen eines Kreuztabellenberichts per VBA<\/p>\n<pre>Public Sub Kreuztabellenbericht_Erstellen(strDatenherkunft As String, intAnzahlZeilenueberschriften As Integer)\r\n    Dim db As DAO.Database\r\n    Dim rst As DAO.Recordset\r\n    Dim rpt As Report\r\n    Dim ctl As Control\r\n    Dim i As Integer\r\n    Dim strBericht As String, strBerichtTemp As String\r\n    Dim sngSpaltenbreite As Single\r\n    strBericht = Replace(strDatenherkunft, &quot;qry&quot;, &quot;rst&quot;)\r\n    Set db = CurrentDb\r\n    Set rst = db.OpenRecordset(&quot;SELECT * FROM &quot; &amp; strDatenherkunft &amp; &quot; WHERE 1=2&quot;, dbOpenDynaset)\r\n    Set rpt = Application.CreateReport\r\n    On Error Resume Next\r\n    DoCmd.Close acReport, strBericht\r\n    DoCmd.DeleteObject acReport, strBericht\r\n    On Error GoTo 0\r\n    strBerichtTemp = rpt.Name\r\n    rpt.RecordSource = strDatenherkunft\r\n    rpt.Section(acPageHeader).Height = 400\r\n    rpt.Section(acDetail).Height = 330\r\n    sngSpaltenbreite = 1400\r\n    For i = 0 To rst.Fields.Count - 1\r\n         Set ctl = Application.CreateReportControl(strBerichtTemp, acLabel, acPageHeader, , , _\r\n            i * sngSpaltenbreite, 200, sngSpaltenbreite, 300)\r\n        ctl.FontSize = 9\r\n        ctl.TextAlign = 2\r\n        ctl.ForeColor = &amp;H0\r\n        ctl.FontBold = True\r\n        ctl.Caption = rst.Fields(i).Name\r\n        ctl.Name = &quot;lbl&quot; &amp; rst.Fields(i).Name\r\n        ctl.BorderStyle = 0\r\n        If i &lt; intAnzahlZeilenueberschriften Then\r\n            ctl.TextAlign = 1\r\n        End If\r\n        Set ctl = Application.CreateReportControl(strBerichtTemp, acTextBox, acDetail, , , _\r\n            i * sngSpaltenbreite, 0, sngSpaltenbreite, 300)\r\n        ctl.FontSize = 9\r\n        ctl.TextAlign = 2\r\n        ctl.ForeColor = &amp;H0\r\n        ctl.ControlSource = rst.Fields(i).Name\r\n        ctl.Name = &quot;txt&quot; &amp; rst.Fields(i).Name\r\n        ctl.BorderStyle = 0\r\n        If i &lt; intAnzahlZeilenueberschriften Then\r\n            ctl.FontBold = True\r\n            ctl.TextAlign = 1\r\n        Else\r\n            ctl.TextAlign = 3\r\n        End If\r\n    Next i\r\n    rpt.Printer.Orientation = acPRORLandscape\r\n    DoCmd.Save acReport, strBerichtTemp\r\n    DoCmd.Close acReport, strBerichtTemp\r\n    DoCmd.Rename strBericht, acReport, strBerichtTemp\r\n    DoCmd.OpenReport strBericht, acDesign\r\nEnd Sub<\/pre>\n<p><!--30percent--><\/p>\n<p>Die Prozedur erwartet als Parameter den Namen der Kreuztabellenabfrage, deren Daten der Bericht anzeigen soll, sowie die Anzahl der enthaltenen Zeilen&uuml;berschriften. Ein Beispielaufruf k&ouml;nnte etwa so aussehen:<\/p>\n<pre>Kreuztabellenbericht_Erstellen &quot;qryUmsatzNachKategorieUndMitarbeiter_Kreuz&quot;, 1<\/pre>\n<p>Die Prozedur legt zun&auml;chst den Namen des zu erstellenden Berichts fest. Dazu verwendet sie schlicht und einfach den Namen der Abfrage und ersetzt <b>qry <\/b>durch <b>rpt<\/b> &#8211; so wird aus <b>qryUmsatzNachKategorieUndMitarbeiter_Kreuz <\/b>beispielsweise <b>rptUmsatzNachKategorieUndMitarbeiter_Kreuz<\/b>. Dann &ouml;ffnet sie eine Datensatzgruppe auf Basis der per Parameter &uuml;bergebenen Nachfrage, die allerdings keine Datens&auml;tze enthalten soll (Kriterium <b>1=2<\/b>). Danach erstellt die Prozedur mit der <b>CreateReport<\/b>-Methode einen neuen Bericht und weist diesen der Objektvariablen <b>rpt <\/b>zu. Sollte der zu erstellende Bericht bereits vorhanden sein, wird dieser geschlossen und gel&ouml;scht. Der Name des neu erstellten Berichts (&uuml;blicherweise <b>Bericht1 <\/b>oder &auml;hnlich) wird in der Variablen <b>strBerichtTemp <\/b>gespeichert.<\/p>\n<p>Nun beginnen die Arbeiten am neu erstellten Bericht. Dieser erh&auml;lt den Namen der &uuml;bergebenen Abfrage als Datenherkunft, au&szlig;erdem wird die H&ouml;he des Seitenkopfbereichs auf <b>400 <\/b>Pixel eingestellt. F&uuml;r die Breite der einzelnen Spalten nimmt die Prozedur den Wert <b>1400<\/b> an. Diesen k&ouml;nnen Sie gegebenenfalls anpassen, als Parameter &uuml;bergeben oder auch dynamisch anhand der enthaltenen Daten ermitteln. Die H&ouml;he des Detailbereiches erh&auml;lt den Wert <b>330<\/b>.<\/p>\n<p>Nun folgt die Erstellung der Bezeichnungsfelder im Seitenkopf und der Textfelder im Detailbereich. Beides kann in einer einzigen Schleife &uuml;ber alle Felder der Datenherkunft geschehen. Die Schleife startet mit dem Erstellen eines neuen Bezeichnungsfeldes &uuml;ber die Methode <b>CreateReportControl<\/b>. Diese erwartet den Namen des Zielberichtes, den Steuerelementtyp, den Zielbereich sowie einige optionale Parameter. Dazu geh&ouml;ren die Position und die Gr&ouml;&szlig;e des Steuerelements. Die Breite liefert die Variable <b>sngSpaltenbreite<\/b>, den Abstand vom linken Rand eine Formel, welche die Gesamtbreite der bereits angelegten Steuerelemente ermittelt. Der Abstand zum oberen Rand sowie die H&ouml;he werden mit festen Zahlenwerten angegeben. Der Verweis auf das frisch erstellte Bezeichnungsfeld wird in der Variablen <b>ctl <\/b>gespeichert. Auf diese Weise kann die Prozedur noch weitere Eigenschaften einstellen, zum Beispiel <b>Schriftart<\/b>, <b>Textausrichtung<\/b>, <b>Beschriftung<\/b>, <b>Name<\/b> et cetera. Sollte es sich bei dem Bezeichnungsfeld um die Zeilen&uuml;berschrift handeln, wird die Eigenschaft <b>Textausrichtung <\/b>auf den Wert <b>Linksb&uuml;ndig <\/b>eingestellt.<\/p>\n<p>Im gleichen Schleifendurchlauf erstellt die Prozedur auch noch das entsprechende Textfeld im Detailbereich des Berichts. Dies geschieht auf die gleiche Weise wie beim Bezeichnungsfeld. Es gibt nur einen Unterschied: Die Eigenschaft <b>Steuerelementinhalt <\/b>(<b>ControlSource<\/b>) muss zus&auml;tzlich festgelegt werden. Das ist aber kein Problem, da diese dem Feldnamen des soeben durchlaufenen Feldes der Datensatzgruppe entspricht. Auch hier werden einige spezielle Formatierungen f&uuml;r die Zeilen&uuml;berschriften durchgef&uuml;hrt.<\/p>\n<p>Schlie&szlig;lich stellt die Prozedur noch die Ausrichtung des Berichts auf den Wert <b>acPRORLandscape <\/b>ein, was schlicht Querformat bedeutet und f&uuml;r dieses Beispiel sinnvoll ist. Der noch unter dem tempor&auml;ren Namen (etwa <b>Bericht1<\/b>) bekannte Bericht wird gespeichert und geschlossen, entsprechend dem weiter oben zusammengesetzten Berichtsnamen umbenannt und zur Kontrolle in der Entwurfsansicht ge&ouml;ffnet.<\/p>\n<p>Auf diese Weise erstellen Sie sehr schnell einen Bericht, der sogar eine Einschr&auml;nkung der in der Kreuztabellenabfrage enthaltenen Spalten&uuml;berschriften ber&uuml;cksichtigt.<\/p>\n<p><b>Dynamische Berichtsanpassung<\/b><\/p>\n<p>Dem gegen&uuml;ber steht die dynamische Anpassung eines bestehenden Berichts an die flexible Auswahl der Spaltenk&ouml;pfe. Grundlage f&uuml;r dieses Beispiel ist eine Kreuztabellenabfrage, die alle Kategorien anzeigt und die erst zur Laufzeit mit einem entsprechenden Kriterium ausgestattet wird.<\/p>\n<p>Au&szlig;erdem ben&ouml;tigen Sie einen Bericht, dessen Bezeichnungsfelder und Textfelder noch nicht beschriftet beziehungsweise mit einer Datenherkunft versehen sind. Dieser sieht wie in Bild 7 aus und wird durch die Prozedur <b>Kreuztabellenbericht_Dynamisch <\/b>des Moduls <b>mdlBerichtErstellen <\/b>angelegt. Diese Prozedur arbeitet genau so wie die zuvor beschriebene. Es gibt nur wenige Unterschiede: Die Bezeichnungsfelder hei&szlig;en <b>lbl1<\/b>, <b>lbl2 <\/b>und so weiter, die Textfelder entsprechend <b>txt1<\/b>, <b>txt2 <\/b>&#8230; Au&szlig;erdem enthalten die Textfelder noch keinen Wert f&uuml;r die Eigenschaft <b>Steuerelementinhalt<\/b> und der Bericht enth&auml;lt noch keine Datenherkunft.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2012_04\/KreuztabellenInBerichten-web-images\/pic007.png\" alt=\"pic007.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 7: Berichtsentwurf f&uuml;r eine variable Anzahl Kategorien<\/span><\/b><\/p>\n<p>Diese soll erst beim &Ouml;ffnen des Berichts zusammengestellt werden, und zwar auf Basis der vom Benutzer gew&auml;hlten Kategorien. Diese w&auml;hlt er mit dem Formular <b>frmBerichtMitVariablenKategorien <\/b>aus Bild 8 aus. Das Listenfeld verwendet die folgende Abfrage als Datenherkunft:<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2012_04\/KreuztabellenInBerichten-web-images\/pic008.png\" alt=\"pic008.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 8: Formular zur Auswahl der Kategorien f&uuml;r den Kreuztabellenbericht<\/span><\/b><\/p>\n<pre>SELECT tblKategorien.Kategoriename\r\nFROM tblKategorien;<\/pre>\n<p>Au&szlig;erdem stellen Sie die Eigenschaft <b>Mehrfachauswahl <\/b>des Listenfeldes auf <b>Einzeln <\/b>ein (oder <b>Erweitert<\/b>, je nach Wunsch). Ein Klick auf die Schaltfl&auml;che <b>cmdBerichtOeffnen<\/b> soll einen Ausdruck f&uuml;r die <b>In<\/b>-Klausel der Bedingung f&uuml;r die Datenherkunft des Berichts zusammenstellen und diese beim &Ouml;ffnen des Berichts per <b>OpenArgs<\/b>-Parameter an diesen &uuml;bergeben. Dies erledigt die Prozedur aus <span class=\"verweis-ohneumbruch\"><a href=\"#anker-47-anchor\">Listing 2<\/a><\/span>.<\/p>\n<p class=\"listingueberschrift\">Listing 2: Zusammenstellen eines Kriteriums und &Ouml;ffnen des Kreuztabellenberichts<\/p>\n<pre>Private Sub cmdBerichtOeffnen_Click()\r\n    Dim i As Integer\r\n    Dim intIndex As Integer\r\n    Dim strKategorie As String\r\n    Dim strKategorien As String\r\n    For i = 0 To Me!lstKategorien.ItemsSelected.Count - 1\r\n        intIndex = Me!lstKategorien.ItemsSelected(i)\r\n        strKategorie = Me!lstKategorien.ItemData(intIndex)\r\n        strKategorien = strKategorien &amp; &quot;;&quot; &amp; Chr(34) &amp; strKategorie &amp; Chr(34)\r\n    Next i\r\n    If Len(strKategorien) &gt; 0 Then\r\n        strKategorien = Mid(strKategorien, 2)\r\n        DoCmd.OpenReport &quot;rstUmsatzNachKategorieUndMitarbeiter_Kreuz_Dynamisch&quot;, _\r\n            View:=acViewPreview, OpenArgs:=strKategorien\r\n    End If\r\nEnd Sub<\/pre>\n<p>Der Bericht muss nun beim &Ouml;ffnen folgende Aufgaben erledigen:<\/p>\n<ul>\n<li class=\"aufz-hlung\">Zusammenstellen einer Datenherkunft auf Basis des SQL-Ausdrucks der Tabelle und der &uuml;bergebenen Kategorienliste<\/li>\n<li class=\"aufz-hlung\">Einstellen der Bezeichnungs- und Textfelder an die Datenherkunft<\/li>\n<\/ul>\n<p>Zun&auml;chst ben&ouml;tigen Sie den SQL-Ausdruck der Abfrage mit dem Platzhalter f&uuml;r das Kriterium. Und um es vorwegzunehmen: Sie ben&ouml;tigen noch einen zweiten Platzhalter, denn wenn Sie eine Kreuztabellenabfrage mit Bedingung in einem Bericht darstellen m&ouml;chten, m&uuml;ssen Sie sowohl die Bedingung als auch eine Liste der fixierten Spalten&uuml;berschriften angeben. Wenn Sie der Kreuztabellenabfrage von oben (<b>qryUmsatzNachKategorieUndMitarbeiterKreuz<\/b>) den Ausdruck <b>IN ([ ]) <\/b>als Kriterium f&uuml;r das Feld <b>Kategoriename <\/b>&uuml;bergeben und f&uuml;r die Eigenschaft <b>Fixierte Spalten&uuml;berschriften <\/b>den Ausdruck <b>[ ] <\/b>eingetragen haben, wechseln Sie zur SQL-Ansicht der Abfrage. Diese zeigt in der drittletzten Zeile den Platzhalter f&uuml;r das Kriterium und in der letzten Zeile den Platzhalter f&uuml;r die fixierten Spalten&uuml;berschriften an (s. Bild 9).<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2012_04\/KreuztabellenInBerichten-web-images\/pic009.png\" alt=\"pic009.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 9: SQL-Ansicht der Kreuztabellenabfrage mit Platzhaltern f&uuml;r die IN-Klausel<\/span><\/b><\/p>\n<p>Diesen Ausdruck kopieren Sie und f&uuml;gen diesen als String in die Ereignisprozedur des Berichts <b>rstUmsatzNachKategorieUndMitarbeiter_Kreuz_Dynamisch <\/b>ein, die beim &Ouml;ffnen des Berichts ausgel&ouml;st wird (s. <span class=\"verweis-ohneumbruch\"><a href=\"#anker-49-anchor\">Listing 3<\/a><\/span>). Diese Prozedur ersetzt zun&auml;chst die beiden Platzhalter (<b>[ ]<\/b>) im SQL-Ausdruck und weist den SQL-Ausdruck der Eigenschaft <b>Datenherkunft <\/b>des Berichts zu. Danach erstellt sie eine Datensatzgruppe auf Basis dieses SQL-Ausdrucks und durchl&auml;uft die enthaltenen Felder in einer Schleife von <b>0 <\/b>bis <b>9<\/b>. Je nach der Auswahl des Benutzers kann die Datensatzgruppe drei bis zehn Felder enthalten &#8211; die Zeilen&uuml;berschrift, die Gesamtsumme je Zeile und ein bis acht Kategorien.<\/p>\n<p class=\"listingueberschrift\">Listing 3: Vorbereiten der Datenherkunft und Einstellen der Steuerelemente des Kreuztabellenberichts<\/p>\n<pre>Private Sub Report_Open(Cancel As Integer)\r\n    Dim strSQL As String\r\n    Dim strKategorien As String\r\n    Dim db As DAO.Database\r\n    Dim rst As DAO.Recordset\r\n    Dim i As Integer\r\n    Set db = CurrentDb\r\n    strKategorien = Me.OpenArgs\r\n    strSQL = strSQL &amp; &quot;TRANSFORM Sum([tblBestelldetails].[Einzelpreis]&quot; _\r\n        &amp; &quot;*[Anzahl]*(1-CCur([Rabatt]))) AS Umsatz&quot; &amp; vbCrLf\r\n    strSQL = strSQL &amp; &quot;SELECT [Nachname] &amp; &quot;&quot;, &quot;&quot; &amp; [Vorname] AS Personal, &quot; &amp; vbCrLf\r\n    strSQL = strSQL &amp; &quot;Sum([Umsatz]) AS Gesamtsumme&quot; &amp; vbCrLf\r\n    strSQL = strSQL &amp; &quot;FROM tblPersonal &quot; &amp; vbCrLf\r\n    strSQL = strSQL &amp; &quot;INNER JOIN (tblBestellungen &quot; &amp; vbCrLf\r\n    strSQL = strSQL &amp; &quot;INNER JOIN ((tblKategorien &quot; &amp; vbCrLf\r\n    strSQL = strSQL &amp; &quot;INNER JOIN tblArtikel &quot; &amp; vbCrLf\r\n    strSQL = strSQL &amp; &quot;ON tblKategorien.KategorieID = tblArtikel.KategorieID) &quot; &amp; vbCrLf\r\n    strSQL = strSQL &amp; &quot;INNER JOIN tblBestelldetails &quot; &amp; vbCrLf\r\n    strSQL = strSQL &amp; &quot;ON tblArtikel.ArtikelID = tblBestelldetails.ArtikelID) &quot; &amp; vbCrLf\r\n    strSQL = strSQL &amp; &quot;ON tblBestellungen.BestellungID = tblBestelldetails.BestellungID) &quot; &amp; vbCrLf\r\n    strSQL = strSQL &amp; &quot;ON tblPersonal.PersonalID = tblBestellungen.PersonalID&quot; &amp; vbCrLf\r\n    strSQL = strSQL &amp; &quot;WHERE (((tblKategorien.Kategoriename) IN ([])))&quot; &amp; vbCrLf\r\n    strSQL = strSQL &amp; &quot;GROUP BY [Nachname] &amp; &quot;&quot;, &quot;&quot; &amp; [Vorname]&quot; &amp; vbCrLf\r\n    strSQL = strSQL &amp; &quot;PIVOT tblKategorien.Kategoriename IN ([]);&quot; &amp; vbCrLf\r\n    strSQL = Replace(strSQL, &quot;[]&quot;, strKategorien)\r\n    Me.RecordSource = strSQL\r\n    Set rst = db.OpenRecordset(strSQL, dbOpenDynaset)\r\n    For i = 0 To 9\r\n        If i &lt; rst.Fields.Count Then\r\n            Me(&quot;lbl&quot; &amp; i + 1).Caption = rst.Fields(i).Name\r\n            Me(&quot;txt&quot; &amp; i + 1).ControlSource = rst.Fields(i).Name\r\n        Else\r\n            Me(&quot;lbl&quot; &amp; i + 1).Visible = False\r\n            Me(&quot;txt&quot; &amp; i + 1).Visible = False\r\n        End If\r\n    Next i\r\nEnd Sub<\/pre>\n<p>Warum durchl&auml;uft die <b>For&#8230;Next<\/b>-Schleife dann immer die Zahlen von <b>0 <\/b>bis <b>9<\/b> Genau genommen durchl&auml;uft sie nicht die Felder der Datenherkunft, sondern die Steuerelemente. Ist der Wert von <b>i <\/b>kleiner als die Anzahl der Felder der Datensatzgruppe, werden die beiden zum aktuellen Wert von <b>i + 1 <\/b>passenden Steuerelemente angepasst: Das Bezeichnungsfeld erh&auml;lt den Kategorienamen als Beschriftung, das Textfeld den gleichen Ausdruck als Steuerelementinhalt.<\/p>\n<p>Ist der Wert von <b>i <\/b>gr&ouml;&szlig;er oder gleich der Anzahl der Felder der Datensatzgruppe, liegt kein Feld mehr f&uuml;r das korrespondierende Steuerelementpaar aus Bezeichnungsfeld und Textfeld mehr vor. In diesem Fall werden beide Steuerelemente ausgeblendet. Bild 10 zeigt, dass der Bericht genau die Kategoriennamen anzeigt, die der Benutzer im Formular ausgew&auml;hlt hat.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2012_04\/KreuztabellenInBerichten-web-images\/pic010.png\" alt=\"pic010.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 10: Ausgabe von Kategorien entsprechend der Benutzerauswahl<\/span><\/b><\/p>\n<p><b>Zusammenfassung und Ausblick<\/b><\/p>\n<p>Die Darstellung von Kreuztabellen in Berichten ist je nach Anforderung mehr oder weniger aufwendig. Stehen die Spalten&uuml;berschriften fest, l&auml;sst sich der Bericht wie ein herk&ouml;mmlicher Bericht anfertigen, falls nicht, ist einiger Code n&ouml;tig, um den Bericht mit den gew&uuml;nschten Daten zu f&uuml;llen. Der vorliegende Beitrag hat beide Varianten vorgestellt, sodass Sie nun die erl&auml;uterten Techniken f&uuml;r eigene Anwendungsf&auml;lle umsetzen k&ouml;nnen.<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>KreuztabellenInBerichten.mdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/{8FD58FB3-F586-4F67-BA9D-ADCFB6F646B9}\/aiu_848.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kreuztabellenabfragen erlauben die zweidimensionale Gruppierung und Berechnung von Daten. Leider ist standardm&auml;&szlig;ig nur die Datenblattansicht vorgesehen. Mit ein paar Tricks zeigen Sie das Ergebnis von Kreuztabellenabfragen jedoch auch in Berichten an. Dieser Beitrag zeigt, wie Sie Berichte f&uuml;r verschiedene Kreuztabellen erstellen und erl&auml;utert, welche besonderen Kniffe f&uuml;r die Darstellung von Daten mit dynamischen Spalten&uuml;berschriften n&ouml;tig sind.<\/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":[662012,66042012,44000024],"tags":[],"class_list":["post-55000848","post","type-post","status-publish","format-standard","hentry","category-662012","category-66042012","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>Kreuztabellen in Berichten anzeigen - 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\/Kreuztabellen_in_Berichten_anzeigen\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kreuztabellen in Berichten anzeigen\" \/>\n<meta property=\"og:description\" content=\"Kreuztabellenabfragen erlauben die zweidimensionale Gruppierung und Berechnung von Daten. Leider ist standardm&auml;&szlig;ig nur die Datenblattansicht vorgesehen. Mit ein paar Tricks zeigen Sie das Ergebnis von Kreuztabellenabfragen jedoch auch in Berichten an. Dieser Beitrag zeigt, wie Sie Berichte f&uuml;r verschiedene Kreuztabellen erstellen und erl&auml;utert, welche besonderen Kniffe f&uuml;r die Darstellung von Daten mit dynamischen Spalten&uuml;berschriften n&ouml;tig sind.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Kreuztabellen_in_Berichten_anzeigen\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-22T21:47:52+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg05.met.vgwort.de\/na\/112651a0bbf84b74879b90a4dcd931cf\" \/>\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=\"13\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Kreuztabellen_in_Berichten_anzeigen\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Kreuztabellen_in_Berichten_anzeigen\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Kreuztabellen in Berichten anzeigen\",\"datePublished\":\"2020-05-22T21:47:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Kreuztabellen_in_Berichten_anzeigen\\\/\"},\"wordCount\":2072,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Kreuztabellen_in_Berichten_anzeigen\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg05.met.vgwort.de\\\/na\\\/112651a0bbf84b74879b90a4dcd931cf\",\"articleSection\":[\"2012\",\"4\\\/2012\",\"Berichte und Reporting\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Kreuztabellen_in_Berichten_anzeigen\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Kreuztabellen_in_Berichten_anzeigen\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Kreuztabellen_in_Berichten_anzeigen\\\/\",\"name\":\"Kreuztabellen in Berichten anzeigen - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Kreuztabellen_in_Berichten_anzeigen\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Kreuztabellen_in_Berichten_anzeigen\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg05.met.vgwort.de\\\/na\\\/112651a0bbf84b74879b90a4dcd931cf\",\"datePublished\":\"2020-05-22T21:47:52+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Kreuztabellen_in_Berichten_anzeigen\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Kreuztabellen_in_Berichten_anzeigen\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Kreuztabellen_in_Berichten_anzeigen\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg05.met.vgwort.de\\\/na\\\/112651a0bbf84b74879b90a4dcd931cf\",\"contentUrl\":\"http:\\\/\\\/vg05.met.vgwort.de\\\/na\\\/112651a0bbf84b74879b90a4dcd931cf\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Kreuztabellen_in_Berichten_anzeigen\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kreuztabellen in Berichten anzeigen\"}]},{\"@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":"Kreuztabellen in Berichten anzeigen - 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\/Kreuztabellen_in_Berichten_anzeigen\/","og_locale":"de_DE","og_type":"article","og_title":"Kreuztabellen in Berichten anzeigen","og_description":"Kreuztabellenabfragen erlauben die zweidimensionale Gruppierung und Berechnung von Daten. Leider ist standardm&auml;&szlig;ig nur die Datenblattansicht vorgesehen. Mit ein paar Tricks zeigen Sie das Ergebnis von Kreuztabellenabfragen jedoch auch in Berichten an. Dieser Beitrag zeigt, wie Sie Berichte f&uuml;r verschiedene Kreuztabellen erstellen und erl&auml;utert, welche besonderen Kniffe f&uuml;r die Darstellung von Daten mit dynamischen Spalten&uuml;berschriften n&ouml;tig sind.","og_url":"https:\/\/access-im-unternehmen.de\/Kreuztabellen_in_Berichten_anzeigen\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-22T21:47:52+00:00","og_image":[{"url":"http:\/\/vg05.met.vgwort.de\/na\/112651a0bbf84b74879b90a4dcd931cf","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"13\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Kreuztabellen_in_Berichten_anzeigen\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Kreuztabellen_in_Berichten_anzeigen\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Kreuztabellen in Berichten anzeigen","datePublished":"2020-05-22T21:47:52+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Kreuztabellen_in_Berichten_anzeigen\/"},"wordCount":2072,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Kreuztabellen_in_Berichten_anzeigen\/#primaryimage"},"thumbnailUrl":"http:\/\/vg05.met.vgwort.de\/na\/112651a0bbf84b74879b90a4dcd931cf","articleSection":["2012","4\/2012","Berichte und Reporting"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Kreuztabellen_in_Berichten_anzeigen\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Kreuztabellen_in_Berichten_anzeigen\/","url":"https:\/\/access-im-unternehmen.de\/Kreuztabellen_in_Berichten_anzeigen\/","name":"Kreuztabellen in Berichten anzeigen - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Kreuztabellen_in_Berichten_anzeigen\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Kreuztabellen_in_Berichten_anzeigen\/#primaryimage"},"thumbnailUrl":"http:\/\/vg05.met.vgwort.de\/na\/112651a0bbf84b74879b90a4dcd931cf","datePublished":"2020-05-22T21:47:52+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Kreuztabellen_in_Berichten_anzeigen\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Kreuztabellen_in_Berichten_anzeigen\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Kreuztabellen_in_Berichten_anzeigen\/#primaryimage","url":"http:\/\/vg05.met.vgwort.de\/na\/112651a0bbf84b74879b90a4dcd931cf","contentUrl":"http:\/\/vg05.met.vgwort.de\/na\/112651a0bbf84b74879b90a4dcd931cf"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Kreuztabellen_in_Berichten_anzeigen\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Kreuztabellen in Berichten anzeigen"}]},{"@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\/55000848","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=55000848"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000848\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000848"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000848"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000848"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}