News & Tipps zu Microsoft Access

Lesen Sie hier einige der besten Beiträge aus SmartTools Access Weekly sowie ausgewählte Inhalte anderer E-Mail-Newsletter von SmartTools Publishing rund um Microsoft Access.

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.