{"id":55001554,"date":"2025-08-01T00:00:00","date_gmt":"2025-10-06T21:17:12","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=1554"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Tabellen_und_Abfragen_im_Unterformular_anzeigen","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\/","title":{"rendered":"Tabellen und Abfragen im Unterformular anzeigen"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg01.met.vgwort.de\/na\/cd7bb2519b97402988a45f987c40ac22\" width=\"1\" height=\"1\" alt=\"\"><b>Unterformulare in der Datenblattansicht nutzen wir normalerweise, wenn wir die Daten einer festen Datenquelle passend zu den Daten im Hauptformular anzeigen wollen &#8211; zum Beispiel f&uuml;r Kunden im Hauptformular und ihre Bestellungen im Unterformular. Manchmal m&ouml;chte man aber auch einfach mal schnell Daten aus beliebigen Tabellen einsehen. Warum dann nicht einfach die Tabelle oder Abfrage in der Datenblattansicht anzeigen? Weil wir dann im Gegensatz zum Haupt-\/Unterformular viel weniger M&ouml;glichkeiten haben, was zum Beispiel den Einsatz von VBA angeht. Wenn wir uns etwa die L&ouml;sung aus dem Beitrag &#8222;Markierte Datens&auml;tze aus dem Datenblatt einlesen&#8220; (www.access-im-unternehmen.de\/1548) anschauen, k&ouml;nnen wir dort per VBA die aktuell markierten Datens&auml;tze auslesen. Das ist bei Tabellen oder Abfragen, die wir alleinstehend &ouml;ffnen, nicht m&ouml;glich. Deshalb zeigen wir in diesem Beitrag zun&auml;chst, wie wir beliebige Tabellen oder Abfragen komfortabel &uuml;ber ein Kombinationsfeld ausw&auml;hlen und dann im Unterformular einblenden k&ouml;nnen. Anschlie&szlig;end bauen wir noch die L&ouml;sung aus dem oben genannten Beitrag ein.<\/b><\/p>\n<h2>Tabellen und Abfragen im Unterformular<\/h2>\n<p>In Microsoft Access gibt es schon lange die M&ouml;glichkeit, f&uuml;r ein Unterformular &uuml;ber die Eigenschaft <b>Herkunftsobjekt <\/b>nicht nur Formulare, sondern auch Tabellen oder Abfragen direkt in der Datenblattansicht anzuzeigen.<\/p>\n<p>F&uuml;r Formulare selbst gibt es diese Eigenschaft nicht, diese wird nur f&uuml;r das Unterformular-Steuerelement bereitgestellt.<\/p>\n<p>Das k&ouml;nnen wir leicht testen, indem wir einem neuen, leeren Formular ein Unterformular-Steuerelement hinzuf&uuml;gen. Klicken wir dieses an, zeigt das Eigenschaftenblatt im Register <b>Daten <\/b>die Eigenschaft <b>Herkunftsobjekt <\/b>an, mit dem wir neben den Formularen auch alle vorhandenen Tabellen und Abfragen ausw&auml;hlen k&ouml;nnen (siehe Bild 1).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2025_04\/pic_1554_001.png\" alt=\"Klassische Auswahl der Tabelle oder Abfrage f&uuml;r ein Unterformular\" width=\"599,559\" height=\"368,369\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Klassische Auswahl der Tabelle oder Abfrage f&uuml;r ein Unterformular<\/span><\/b><\/p>\n<p>Um zwischen den verschiedenen Objekttypen unterscheiden zu k&ouml;nnen, wird diesen noch die Objektbezeichnung vorangestellt, zum Beispiel Formular, Tabelle oder Abfrage. Danach folgt, durch einen Punkt getrennt, der eigentliche Name des Objekts.<\/p>\n<p>W&auml;hlen wir hier beispielsweise den Eintrag <b>Tabelle.tblMitarbeiter<\/b> aus, sehen wir den Namen dieses Eintrags anschlie&szlig;end auch im Unterformular-Steuerelement (siehe Bild 2).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2025_04\/pic_1554_002.png\" alt=\"Das gew&auml;hlte Objekt wird im Unterformular angezeigt.\" width=\"549,559\" height=\"230,6185\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Das gew&auml;hlte Objekt wird im Unterformular angezeigt.<\/span><\/b><\/p>\n<p>Im Gegensatz zur Verwendung eines Formulars als Unterformular, das nach dem Schlie&szlig;en und erneutem &Ouml;ffnen des Formulars in der Entwurfsansicht angezeigt wird, sehen wir bei Verwendung einer Tabelle oder Abfrage nach wie vor nur die Bezeichnung.<\/p>\n<p>Wenn wir jedoch in die Formularansicht wechseln, erscheint die Datenblattansicht der gew&auml;hlten Tabelle oder Abfrage im Unterformular (siehe Bild 3).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2025_04\/pic_1554_003.png\" alt=\"Eine Tabelle im Unterformular\" width=\"549,559\" height=\"254,1836\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: Eine Tabelle im Unterformular<\/span><\/b><\/p>\n<h2>Tabelle oder Abfrage komfortabel ausw&auml;hlen<\/h2>\n<p>Wir erstellen nun ein neues Formular, dem wir zus&auml;tzlich zu dem Unterformular-Steuerelement namens <b>sfm <\/b>noch ein Kombinationsfeld namens <b>cboTabellenUndAbfragen <\/b>hinzuf&uuml;gen (siehe Bild 4).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2025_04\/pic_1554_004.png\" alt=\"Aufbau unseres Beispielformulars\" width=\"699,559\" height=\"432,0249\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 4: Aufbau unseres Beispielformulars<\/span><\/b><\/p>\n<p>Dieses Kombinationsfeld soll alle Tabellen und Abfragen der Datenbank zur Auswahl anbieten, die wir auch im Navigationsbereich von Access sehen k&ouml;nnen.<\/p>\n<h2>Abfrage mit allen Tabellen und Abfragen<\/h2>\n<p>Dazu erstellen wir eine Abfrage als Datensatzherkunft des Kombinationsfeldes, welche die Systemtabelle <b>MSysObjekts <\/b>als Quelle verwendet (siehe Bild 5).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2025_04\/pic_1554_005.png\" alt=\"Abfrage, die alle Tabellen und Abfragen liefert\" width=\"549,559\" height=\"393,5486\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 5: Abfrage, die alle Tabellen und Abfragen liefert<\/span><\/b><\/p>\n<p>Um diese Tabelle in den Abfrageentwurf ziehen zu k&ouml;nnen, m&uuml;ssen wir in den Optionen des Navigationsbereichs die Option <b>Systemobjekte anzeigen <\/b>aktivieren.<\/p>\n<p>Danach f&uuml;gen wir diese Tabelle zum Abfrageentwurf hinzu und ziehen die beiden Felder <b>Name <\/b>und <b>Type <\/b>in das Entwurfsraster.<\/p>\n<p>Das Feld <b>Type <\/b>verwenden wir, um nur die Tabellen und Abfragen der Datenbank anzuzeigen. Tabellen haben einen der Typen <b>1<\/b>, <b>4 <\/b>oder <b>6 <\/b>(f&uuml;r lokale Tabellen, ODBC-Tabellen oder andere verkn&uuml;pfte Datenquellen), Abfragen werden dem Typ <b>5 <\/b>zugeordnet.<\/p>\n<p>Aber auch die Tabellen und Abfragen m&uuml;ssen wir noch weiter filtern, um nur die relevanten Objekte zu erhalten. Wir m&ouml;chten zum Beispiel keine Systemtabellen sehen. Au&szlig;erdem sollen keine tempor&auml;ren Objekte sichtbar sein. Dazu stellen wir in der Zeile <b>Kriterium <\/b>f&uuml;r das Feld <b>Name <\/b>den folgenden Ausdruck ein:<\/p>\n<pre>Nicht Wie ''~*'' Und Nicht Wie ''MSys*'' Und Nicht Wie ''f_*''<\/pre>\n<p>Schlie&szlig;lich sortieren wir das Feld <b>Name <\/b>noch in aufsteigender Reihenfolge.<\/p>\n<p>Nach dem Wechsel in die Formularansicht zeigt das Kombinationsfeld nun alle gew&uuml;nschten Elemente der Datenbank an (siehe Bild 6).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2025_04\/pic_1554_006.png\" alt=\"Das Kombinationsfeld zeigt nun alle gew&uuml;nschten Tabellen und Abfragen an.\" width=\"649,559\" height=\"401,1465\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 6: Das Kombinationsfeld zeigt nun alle gew&uuml;nschten Tabellen und Abfragen an.<\/span><\/b><\/p>\n<h2>Inhalt der gew&auml;hlten Tabelle oder Abfrage im Unterformular anzeigen<\/h2>\n<p>Nun wollen wir daf&uuml;r sorgen, dass nach der Auswahl eines der Eintr&auml;ge die entsprechende Tabelle oder Abfrage im Unterformular angezeigt wird.<\/p>\n<p>Dazu hinterlegen wir f&uuml;r die Ereignisprozedur <b>Nach Aktualisierung <\/b>die Prozedur aus Listing 1.<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>cboTabellenAbfragen_AfterUpdate()\r\n     <span style=\"color:blue;\">Dim <\/span>lngType<span style=\"color:blue;\"> As Long<\/span>\r\n     lngType = DLookup(\"Type\", \"MSysObjects\", \"Name = ''\" & Me.cboTabellenAbfragen & \"''\")\r\n     Select Case lngType\r\n         <span style=\"color:blue;\">Case <\/span>1, 4, 6\r\n             Me.sfm.SourceObject = \"Table.\" & Me.cboTabellenAbfragen\r\n             KontextmenueAnpassen \"Table\"\r\n         <span style=\"color:blue;\">Case <\/span>5\r\n             Me.sfm.SourceObject = \"Query.\" & Me.cboTabellenAbfragen\r\n             KontextmenueAnpassen \"Query\"\r\n     <span style=\"color:blue;\">End Select<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 1: Prozedur zum Anzeigen der gew&auml;hlten Tabelle oder Abfrage im Unterformular<\/span><\/b><\/p>\n<p>Die Prozedur ermittelt zuerst den Typ des jeweiligen Elements, indem sie diesen per <b>DLookup <\/b>aus der Tabelle <b>MSysObjects <\/b>ausliest.<\/p>\n<p>Wir h&auml;tten den Wert dieses Feldes auch in einer Spalte des Kombinationsfeldes bereitstellen und ihn dann von dort auslesen k&ouml;nnen, aber wir haben uns f&uuml;r diesen Weg entschieden.<\/p>\n<p>Den Typ speichern wir in der Variablen <b>lngType<\/b>. Diesen werten wir in der folgenden <b>Select Case<\/b>-Bedingung aus, wo wir im ersten Teil die Tabellen zuweisen und im zweiten die Abfragen.<\/p>\n<p>Warum k&ouml;nnen wir die Elemente nicht einfach &uuml;ber den Namen zuweisen? Weil wir diesem zuvor noch den Typ mit einer der Zeichenketten <b>Tabelle <\/b>oder <b>Abfrage <\/b>voranstellen m&uuml;ssen &#8211; genau wie in der Eigenschaft <b>Herkunftstyp<\/b>.<\/p>\n<p>Genau genommen wollen wir dies vorsichtshalber international gestalten, denn wenn wir diesen Code in einer englischen Version von Access ausf&uuml;hren, k&ouml;nnte es Probleme geben.<\/p>\n<p>Also f&uuml;gen wir f&uuml;r die Tabellen den Text <b>Table<\/b> voran und f&uuml;r die Abfragen den Text <b>Query<\/b>.<\/p>\n<p>Hier finden wir direkt noch den Aufruf einer Prozedur namens <b>KontextmenueAnpassen<\/b>, der ebenfalls entweder den Wert <b>Table <\/b>oder <b>Query <\/b>als Parameter erh&auml;lt. Was es damit auf sich hat, erl&auml;utern wir weiter unten.<\/p>\n<p>Das Ergebnis nach der Auswahl einer Tabelle sehen wir in Bild 7. Wir k&ouml;nnen auf diese Weise nun schnell beliebige Tabellen oder Abfragen im Unterformular anzeigen.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2025_04\/pic_1554_007.png\" alt=\"Anzeige einer Tabelle im Unterformular\" width=\"699,559\" height=\"432,0249\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 7: Anzeige einer Tabelle im Unterformular<\/span><\/b><\/p>\n<h2>Anwendungszweck: Runtime<\/h2>\n<p>Die Runtime-Version von Access erlaubt uns nicht das &Ouml;ffnen von Tabellen oder Abfragen &uuml;ber den Navigationsbereich, da dieser dort nicht vorhanden ist.<\/p>\n<p>Also k&ouml;nnen wir dieses Formular zum Beispiel versteckt zu Runtime-Versionen unserer Anwendungen hinzuf&uuml;gen, um zu Debugging-Zwecken schnell die Inhalte von Tabellen oder Abfragen zu untersuchen.<\/p>\n<h2>Anwendungszweck: Programmierbarkeit von Tabellen und Abfragen<\/h2>\n<p>Wir haben bereits die L&ouml;sung aus dem Beitrag <b>Markierte Datens&auml;tze aus dem Datenblatt einlesen <\/b>(<b>www.access-im-unternehmen.de\/1548<\/b>) angesprochen. Hier beschreiben wir, wie man die in einem Unterformular markierten Datens&auml;tze auslesen und mit diesen weitere Aktionen ausf&uuml;hren kann.<\/p>\n<p>Das gelingt nat&uuml;rlich mit einfachen Tabellen oder Abfragen nicht. Im Kontext eines Unterformulars k&ouml;nnen wir jedoch auch die Tabellen oder Abfragen per VBA programmieren, da diese dort auf spezielle Art angezeigt werden. Also erweitern wir das Beispiel so, dass wir die Techniken aus dem oben genannten Beitrag darauf anwenden k&ouml;nnen.<\/p>\n<h2>Kontextmen&uuml; zum Abfragen der aktuellen Selektion<\/h2>\n<p>Weiter oben haben wir den Aufruf der Prozedur <b>KontextmenueAnpassen <\/b>gesehen. Diese Prozedur aus Listing 2 f&uuml;gt dem Kontextmen&uuml; f&uuml;r das aktuelle Objekt im Unterformular einen Befehl namens <b>Auswahl verarbeiten <\/b>hinzu. Diese Prozedur mussten wir gegen&uuml;ber dem Original ein wenig anpassen. Der Grund ist, dass wir uns dort auf das Kontextmen&uuml; f&uuml;r ein Formular in der Datenblattansicht konzentriert haben (<b>Form Datasheet Row<\/b>).<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>KontextmenueAnpassen(strObjekttyp<span style=\"color:blue;\"> As String<\/span>)\r\n      <span style=\"color:blue;\">Dim <\/span>cbr<span style=\"color:blue;\"> As <\/span>CommandBar\r\n      <span style=\"color:blue;\">Dim <\/span>strCommandBar<span style=\"color:blue;\"> As String<\/span>\r\n      strCommandBar = strObjekttyp & \" Design Datasheet Row\"\r\n      <span style=\"color:blue;\">Set<\/span> cbr = CommandBars(strCommandBar)\r\n      On Error Resume <span style=\"color:blue;\">Next<\/span>\r\n      cbr.Controls(\"Auswahl verarbeiten\").Delete\r\n      <span style=\"color:blue;\">On Error GoTo<\/span> 0\r\n      <span style=\"color:blue;\">Set<\/span> cbbTableQueryDatasheetRow = _\r\n          cbr.Controls.Add(msoControlButton, , , , <span style=\"color:blue;\">True<\/span>)\r\n      <span style=\"color:blue;\">With<\/span> cbbTableQueryDatasheetRow\r\n          .Caption = \"Auswahl verarbeiten\"\r\n      End <span style=\"color:blue;\">With<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 2: Prozedur zum Anpassen des Kontextmen&uuml;s<\/span><\/b><\/p>\n<p>Dieses Kontextmen&uuml; wird aber, wenn wir mit der rechten Maustaste in die Tabelle oder Abfrage im Unterformular klicken, nicht angezeigt.<\/p>\n<p>Hier erscheint stattdessen entweder das Kontextmen&uuml; <b>Table Design Datasheet Row <\/b>(f&uuml;r Tabellen) oder <b>Query Design Datasheet Row <\/b>(f&uuml;r Abfragen).<\/p>\n<p>Dies m&uuml;ssen wir ber&uuml;cksichtigen, indem wir den notwendigen Eintrag jeweils in das Kontextmen&uuml; f&uuml;r das aktuell angezeigte Element, also f&uuml;r eine Tabelle oder Abfrage, einf&uuml;gen.<\/p>\n<p>Das anzulegende Element l&ouml;schen wir zuerst mit der <b>Delete<\/b>-Methode und f&uuml;gen es anschlie&szlig;end mit <b>Add <\/b>erneut hinzu.<\/p>\n<p>Die Variable <b>cbbTableQueryDatasheetRow<\/b>, mit der wir das Steuerelement referenzieren, deklarieren wir modulweit im Klassenmodul des Hauptformulars mit der folgenden Anweisung:<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>WithEvents cbbTableQueryDatasheetRow<span style=\"color:blue;\"> As <\/span>CommandBarButton<\/pre>\n<p>Daf&uuml;r hinterlegen wir die folgende <b>Click<\/b>-Ereignisprozedur:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>cbbFormDatasheetRow_Click(ByVal Ctrl<span style=\"color:blue;\"> As <\/span>_\r\n          Office.CommandBarButton, CancelDefault<span style=\"color:blue;\"> As Boolean<\/span>)\r\n      <span style=\"color:blue;\">Call<\/span> DatenDerMarkierungErmitteln\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Die Ereignisprozedur ruft die Prozedur <b>DatenDerMarkierung <\/b>auf, die wir bereits aus dem oben genannten Beitrag kennen (siehe Listing 3).<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>DatenDerMarkierungErmitteln()\r\n      <span style=\"color:blue;\">Dim <\/span>sfm<span style=\"color:blue;\"> As <\/span>Form\r\n      <span style=\"color:blue;\">Dim <\/span>rstClone<span style=\"color:blue;\"> As <\/span>DAO.Recordset\r\n      <span style=\"color:blue;\">Dim <\/span>i<span style=\"color:blue;\"> As Long<\/span>\r\n      <span style=\"color:blue;\">Dim <\/span>lngSelTop<span style=\"color:blue;\"> As Long<\/span>\r\n      <span style=\"color:blue;\">Dim <\/span>lngSelHeight<span style=\"color:blue;\"> As Long<\/span>\r\n      <span style=\"color:blue;\">Dim <\/span>lngCount<span style=\"color:blue;\"> As Long<\/span>\r\n      <span style=\"color:blue;\">Dim <\/span>arrBookmarks()<span style=\"color:blue;\"> As Variant<\/span>\r\n      <span style=\"color:blue;\">Set<\/span> sfm = Me.sfm.Form\r\n      <span style=\"color:blue;\">Set<\/span> rstClone = sfm.RecordsetClone\r\n      lngSelTop = sfm.SelTop\r\n      lngSelHeight = sfm.SelHeight\r\n      <span style=\"color:blue;\">If <\/span>lngSelHeight &gt; 0<span style=\"color:blue;\"> Then<\/span>\r\n          ReDim arrBookmarks(1 To lngSelHeight)\r\n          rstClone.MoveFirst\r\n          For i = 1 To lngSelTop - 1\r\n              rstClone.Move<span style=\"color:blue;\">Next<\/span>\r\n          <span style=\"color:blue;\">Next<\/span> i\r\n          lngCount = lngSelHeight\r\n          \r\n          For i = 1 To lngSelHeight\r\n              <span style=\"color:blue;\">If <\/span>rstClone.AbsolutePosition = -1<span style=\"color:blue;\"> Then<\/span>\r\n                  lngCount = lngSelHeight - 1\r\n                  <span style=\"color:blue;\">Exit For<\/span>\r\n              <span style=\"color:blue;\">End If<\/span>\r\n              arrBookmarks(i) = rstClone.Bookmark\r\n              rstClone.Move<span style=\"color:blue;\">Next<\/span>\r\n          <span style=\"color:blue;\">Next<\/span> i\r\n          For i = 1 To lngCount\r\n              rstClone.Bookmark = arrBookmarks(i)\r\n              <span style=\"color:blue;\">Debug.Print<\/span> rstClone.Fields(0).Value\r\n          <span style=\"color:blue;\">Next<\/span> i\r\n      <span style=\"color:blue;\">Else<\/span>\r\n          <span style=\"color:blue;\">MsgBox<\/span> \"Bitte mindestens einen Datensatz markieren.\"\r\n      <span style=\"color:blue;\">End If<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 3: Prozedur zum Weiterverarbeiten der markierten Eintr&auml;ge<\/span><\/b><\/p>\n<p>Hier k&ouml;nnen wir an Stelle der Anweisung <b>Debug.Print rstClone.Fields(0).Value <\/b>die von uns gew&uuml;nschten Befehle zum Weiterverarbeiten der markierten Datens&auml;tze unterbringen.<\/p>\n<h2>Downloads zu diesem Beitrag<\/h2>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>TabellenUndAbfragenEinfachImUnterformularAnzeigen.accdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/0B2DE162-8F64-46AC-A2ED-D707541202A0\/aiu_1554.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Unterformulare f&uuml;r die Datenblattansicht nutzen wir normalerweise, wenn wir die Daten einer festen Datenquelle passend zu den Daten im Hauptformular anzeigen wollen &#8211; zum Beispiel f&uuml;r Kunden im Hauptformular und ihre Bestellungen im Unterformulare. Manchmal m&ouml;chte man aber auch einfach mal schnell Daten aus beliebigen Tabellen einsehen. Warum dann nicht einfach die Tabelle oder Abfrage in der Datenblattansicht anzeigen? Weil wir dann im Gegensatz zum Haupt-\/Unterformular viel weniger M&ouml;glichkeiten haben, was den zum Beispiel den Einsatz von VBA angeht. Wenn wir uns etwa die L&ouml;sung aus dem Beitrag Markierte Datens&auml;tze aus dem Datenblatt einlesen (www.access-im-unternehmen.de\/1548) anschauen, k&ouml;nnen wir dort per VBA die aktuell markierten Datens&auml;tze auslesen. Das ist bei Tabellen oder Abfragen, die wir alleinstehend &ouml;ffnen, nicht m&ouml;glich. Deshalb zeigen wir in diesem Beitrag zun&auml;chst, wie wir beliebige Tabellen oder Abfragen komfortabel per &uuml;ber ein Kombinationsfeld ausw&auml;hlen und dann im Unterformular einblenden k&ouml;nnen. Anschlie&szlig;end bauen wir noch die L&ouml;sung aus dem oben genannten Beitrag ein.<\/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":[662025,66042025,44000023],"tags":[],"class_list":["post-55001554","post","type-post","status-publish","format-standard","hentry","category-662025","category-66042025","category-Mit_Formularen_arbeiten"],"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>Tabellen und Abfragen im Unterformular 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\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tabellen und Abfragen im Unterformular anzeigen\" \/>\n<meta property=\"og:description\" content=\"Unterformulare f&uuml;r die Datenblattansicht nutzen wir normalerweise, wenn wir die Daten einer festen Datenquelle passend zu den Daten im Hauptformular anzeigen wollen - zum Beispiel f&uuml;r Kunden im Hauptformular und ihre Bestellungen im Unterformulare. Manchmal m&ouml;chte man aber auch einfach mal schnell Daten aus beliebigen Tabellen einsehen. Warum dann nicht einfach die Tabelle oder Abfrage in der Datenblattansicht anzeigen? Weil wir dann im Gegensatz zum Haupt-\/Unterformular viel weniger M&ouml;glichkeiten haben, was den zum Beispiel den Einsatz von VBA angeht. Wenn wir uns etwa die L&ouml;sung aus dem Beitrag Markierte Datens&auml;tze aus dem Datenblatt einlesen (www.access-im-unternehmen.de\/1548) anschauen, k&ouml;nnen wir dort per VBA die aktuell markierten Datens&auml;tze auslesen. Das ist bei Tabellen oder Abfragen, die wir alleinstehend &ouml;ffnen, nicht m&ouml;glich. Deshalb zeigen wir in diesem Beitrag zun&auml;chst, wie wir beliebige Tabellen oder Abfragen komfortabel per &uuml;ber ein Kombinationsfeld ausw&auml;hlen und dann im Unterformular einblenden k&ouml;nnen. Anschlie&szlig;end bauen wir noch die L&ouml;sung aus dem oben genannten Beitrag ein.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-06T21:17:12+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg01.met.vgwort.de\/na\/cd7bb2519b97402988a45f987c40ac22\" \/>\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=\"9\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Tabellen und Abfragen im Unterformular anzeigen\",\"datePublished\":\"2025-10-06T21:17:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\\\/\"},\"wordCount\":1471,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg01.met.vgwort.de\\\/na\\\/cd7bb2519b97402988a45f987c40ac22\",\"articleSection\":[\"2025\",\"4\\\/2025\",\"Mit Formularen arbeiten\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\\\/\",\"name\":\"Tabellen und Abfragen im Unterformular anzeigen - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg01.met.vgwort.de\\\/na\\\/cd7bb2519b97402988a45f987c40ac22\",\"datePublished\":\"2025-10-06T21:17:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg01.met.vgwort.de\\\/na\\\/cd7bb2519b97402988a45f987c40ac22\",\"contentUrl\":\"http:\\\/\\\/vg01.met.vgwort.de\\\/na\\\/cd7bb2519b97402988a45f987c40ac22\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tabellen und Abfragen im Unterformular 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":"Tabellen und Abfragen im Unterformular 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\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\/","og_locale":"de_DE","og_type":"article","og_title":"Tabellen und Abfragen im Unterformular anzeigen","og_description":"Unterformulare f&uuml;r die Datenblattansicht nutzen wir normalerweise, wenn wir die Daten einer festen Datenquelle passend zu den Daten im Hauptformular anzeigen wollen - zum Beispiel f&uuml;r Kunden im Hauptformular und ihre Bestellungen im Unterformulare. Manchmal m&ouml;chte man aber auch einfach mal schnell Daten aus beliebigen Tabellen einsehen. Warum dann nicht einfach die Tabelle oder Abfrage in der Datenblattansicht anzeigen? Weil wir dann im Gegensatz zum Haupt-\/Unterformular viel weniger M&ouml;glichkeiten haben, was den zum Beispiel den Einsatz von VBA angeht. Wenn wir uns etwa die L&ouml;sung aus dem Beitrag Markierte Datens&auml;tze aus dem Datenblatt einlesen (www.access-im-unternehmen.de\/1548) anschauen, k&ouml;nnen wir dort per VBA die aktuell markierten Datens&auml;tze auslesen. Das ist bei Tabellen oder Abfragen, die wir alleinstehend &ouml;ffnen, nicht m&ouml;glich. Deshalb zeigen wir in diesem Beitrag zun&auml;chst, wie wir beliebige Tabellen oder Abfragen komfortabel per &uuml;ber ein Kombinationsfeld ausw&auml;hlen und dann im Unterformular einblenden k&ouml;nnen. Anschlie&szlig;end bauen wir noch die L&ouml;sung aus dem oben genannten Beitrag ein.","og_url":"https:\/\/access-im-unternehmen.de\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\/","og_site_name":"Access im Unternehmen","article_published_time":"2025-10-06T21:17:12+00:00","og_image":[{"url":"http:\/\/vg01.met.vgwort.de\/na\/cd7bb2519b97402988a45f987c40ac22","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"9\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Tabellen und Abfragen im Unterformular anzeigen","datePublished":"2025-10-06T21:17:12+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\/"},"wordCount":1471,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\/#primaryimage"},"thumbnailUrl":"http:\/\/vg01.met.vgwort.de\/na\/cd7bb2519b97402988a45f987c40ac22","articleSection":["2025","4\/2025","Mit Formularen arbeiten"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\/","url":"https:\/\/access-im-unternehmen.de\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\/","name":"Tabellen und Abfragen im Unterformular anzeigen - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\/#primaryimage"},"thumbnailUrl":"http:\/\/vg01.met.vgwort.de\/na\/cd7bb2519b97402988a45f987c40ac22","datePublished":"2025-10-06T21:17:12+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\/#primaryimage","url":"http:\/\/vg01.met.vgwort.de\/na\/cd7bb2519b97402988a45f987c40ac22","contentUrl":"http:\/\/vg01.met.vgwort.de\/na\/cd7bb2519b97402988a45f987c40ac22"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Tabellen_und_Abfragen_im_Unterformular_anzeigen\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Tabellen und Abfragen im Unterformular 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\/55001554","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=55001554"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001554\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55001554"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55001554"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55001554"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}