Beitrag aus SmartTools Access Weekly
Daten aus mehreren Tabellen in einem Formular anzeigen
Access 365 2024 2021 2019 2016 2013 2010
FRAGE Wir nutzen eine Tabelle "A" mit sehr vielen Datensätzen, von denen ein großer Teil nur sehr selten benötigt wird. Wir möchten nun diese Datensätze in eine andere Tabelle (Tabelle "B", gleiche Struktur wie "Tabelle "A") auslagern, so dass nur die regelmäßig genutzten oder neu angelegten Datensätze gemäß Tabelle "A" im Formular angezeigt werden. Es soll aber möglich sein, im Formular sowohl die regelmäßig genutzten oder neu angelegten Datensätze aus Tabelle "A" als auch alle Datensätze zum Nachschlagen aus beiden Tabellen "A" und "B" anzuzeigen.
Diverse Anfragen
ANTWORT Um diese Anforderung umzusetzen, muss zunächst ein Weg gefunden werden, Daten aus zwei Tabellen zu selektieren. Das gelingt mit einer UNION-Abfrage. Legen Sie dazu eine normale Auswahlabfrage an und schalten Sie diese auf den Abfragetyp "UNION" um. Geben Sie eine SQL-Anweisung wie die folgende ein:
SELECT Feld1, Feld2, Feld3 FROM TabelleA
UNION ALL SELECT Feld1, Feld2, Feld3 FROM TabelleB;
Ersetzen Sie "Feld1, Feld2, Feld3" durch die Namen der Felder, die Sie in Ihrem Formular verwenden - das ist erforderlich, weil "SELECT *" in UNION-Abfragen dieser Art nicht verwendet werden kann. "TabelleA" und "TabelleB" ersetzen Sie durch die Namen der bei Ihnen verwendeten Tabellen. Speichern Sie die Abfrage beispielsweise unter dem Namen "UnionTabAB"
Im nächsten Schritt legen Sie im Formular zwei Schaltflächen (Name= "btnTabA" und "btnTabAB") an. In der Ereignisprozedur "Beim Klicken" der Schaltfläche "btnTabA" stellen Sie die aktuelle Datenbasis des Formulars wie folgt ein:
Me.RecordSource = "TabelleA"
In der Ereignisprozedur "Beim Klicken" der Schaltfläche "btnTabAB" weisen Sie die eben erstellte UNION-Abfrage als Datenquelle zu:
Me.RecordSource = "UnionTabAB"
Nun können Sie wahlweise nur die regelmäßig genutzten bzw. neu angelegten Datensätze oder alle Daten im Formular anzeigen.