Tabellen importieren per Tabellenereignis

Wenn Sie ein Abonnement des Magazins 'Access im Unternehmen' besitzen, können Sie sich anmelden und den kompletten Artikel lesen.
Anderenfalls können Sie das Abonnement hier im Shop erwerben.

Tabellen importieren per Tabellenereignis

Die neuen Tabellenereignisse, die mit Access 2010 eingeführt wurden, erlauben beispielsweise das automatische Ausführen von Makros beim Einfügen, Ändern oder Löschen von Datensätzen. Dies machen wir uns in diesem Beitrag einmal auf ungewöhnliche Weise zunutze: Wir wollen Daten per Copy and Paste aus einer anderen Quelle, also etwa einer Excel-Tabelle, in die Datenbank importieren. Dabei sollen diese gleich analysiert und in die richtigen Tabellen eingefügt werden. Dies erledigen wir am Beispiel von Artikeln und Kategorien, wobei beide gleich auf die entsprechenden Tabellen aufgeteilt und verknüpft werden sollen.

In der Praxis kommt es gelegentlich vor, dass Sie Daten aus anderen Quellen nur auf Umwegen direkt aus der Quelle in eine Access-Datenbank importieren können. Bei Daten aus Excel-Tabellen ist dies sicher kein Problem, denn dies lässt sich in der Regel automatisieren.

Dennoch wollen wir der Einfachheit halber in diesem Beitrag davon ausgehen, dass wir die Daten aus der Excel-Tabelle aus Bild 1 in eine Access-Datenbank importieren möchten.

Diese Daten sollen in die Access-Datenbank importiert werden.

Bild 1: Diese Daten sollen in die Access-Datenbank importiert werden.

Der Ablauf soll so aussehen, dass Sie die Daten aus der Quelle in die Zwischenablage kopieren, dann zu einer speziell zu diesem Zweck angelegten Access-Tabelle wechseln und die Daten dort einfügen. Das Ergebnis sieht dann etwa wie in Bild 2 aus.

Einfügen der Daten in die Übergangstabelle der Access-Datenbank

Bild 2: Einfügen der Daten in die Übergangstabelle der Access-Datenbank

Das ist nun noch kein Hexenwerk. Der Clou folgt erst noch: Beim Einfügen sollen wie durch Zauberhand die entsprechenden Datensätze in den beiden Tabellen tblArtikel und tblKategorien angelegt werden, die wie in Bild 3 miteinander verknüpft sind. Dazu sind ein paar Schritte nötig, die man sonst per VBA durchführen würde. Dies ist zwar auch machbar, aber wenn man die Daten ohnehin von Hand in die Hilfstabelle tblArtikelimport kopiert, wäre es natürlich praktisch, wenn diese Daten auch direkt automatisch auf die Zieltabellen aufgeteilt würden.

Die beiden Zieltabellen des Imports

Bild 3: Die beiden Zieltabellen des Imports

Bild 4 zeigt, wie das Ergebnis nach dem Import aussehen soll. Die in das Feld Kategorie eines in die Tabelle tblTabellenimport importierten Datensatzes soll, soweit noch nicht vorhanden, in der Tabelle tblKategorien angelegt werden.

Die automatisch in die Zieltabellen aufgeteilten Daten

Bild 4: Die automatisch in die Zieltabellen aufgeteilten Daten

Dann muss der Primärschlüsselwert entweder des eingefügten Datensatzes der Tabelle tblKategorien ermittelt werden oder der entsprechende Wert des bereits vorhandenen Datensatzes.

Dieser landet dann gemeinsam mit der Bezeichnung des Artikels in der Tabelle tblArtikel. Die KategorieID stellt in diesem Fall das Fremdschlüsselfeld für die Verknüpfung zwischen den Tabellen tblArtikel und tblKategorien her.

Makro anlegen

Das Makro können Sie auf zwei Arten anlegen: Entweder in der Datenblattansich der Tabelle oder in der Entwurfsansicht. Wenn Sie die Datenblattansicht dazu nutzen möchten, verwenden Sie den Ribbon-Eintrag Ta­bel­le|Nach­folgeereignis­se|Nach Ein­fü­gung, um ein Makro anzulegen, das durch das Einfügen eines Datensatzes ausgelöst wird (s. Bild 5).

Anlegen des Makros, das beim Einfügen eines Datensatzes ausgelöst wird

Bild 5: Anlegen des Makros, das beim Einfügen eines Datensatzes ausgelöst wird

Alternativ können Sie auch die Entwurfsansicht nutzen. In diesem Fall finden Sie den benötigten Ribbon-Eintrag unter Entwurf|Feld-, Datensatz- und Ta­bel­len­er­eig­nis­se|Da­ten­mak­ros er­stel­len|Nach Einfügung (s. Bild 6).

Einfügen des Makros über die Entwurfsansicht der Tabelle

Bild 6: Einfügen des Makros über die Entwurfsansicht der Tabelle

Nach dem Aufruf eines dieser Ribbon-Befehle erscheint der Entwurf für ein neues Makro. Dieses füllen Sie nun wie in Bild 7.

Makro zum Aufteilen der frisch importierten Daten

Bild 7: Makro zum Aufteilen der frisch importierten Daten

Dies war die Leseprobe dieses Artikels.
Melden Sie sich an, um auf den vollständigen Artikel zuzugreifen.

Bitte geben Sie die Zeichenfolge in das nachfolgende Textfeld ein

Die mit einem * markierten Felder sind Pflichtfelder.

Neues aus unseren Magazinen
Listenfeld: Reihenfolge mehrerer Einträge...

Wir haben bereits in mehreren Beiträgen beschrieben, wie Sie die individuelle Reihenfolge von Elementen einer Tabelle über den Inhalt eines Feldes etwa namens »ReihenfolgeID« einstellen können –... [mehr]

Diagramme mit gefilterten Daten

In Ausgabe 2/2019 haben wir in zwei Artikeln die modernen Diagramme von Access vorgestellt. Im vorliegenen Beitrag zeigen wir Ihnen, wie Sie diese abhängig von den in einem Formular angezeigten... [mehr]

Benutzerverwaltung mit verschlüsselten...

Wenn Sie in einer Access-Anwendung Benutzer verwalten wollen, die sich per Benutzername und Kennwort an die Anwendung anmelden, sollten Sie sehr sensibel mit den in der Anwendung gespeicherten... [mehr]

HTML-Tabellen mit fester Kopfzeile

In den vorherigen Ausgaben von Access im Unternehmen und in der aktuellen Ausgabe arbeiten wir in einigen Beiträgen mit dem Webbrowser-Steuerelement und stellen Daten, die wir mit den Bordmitteln... [mehr]

Flexible HTML-Tabellen mit fester Kopfzeile

Im Beitrag »HTML-Tabellen mit fester Kopfzeile« haben wir gezeigt, wie Sie Daten aus einer bestimmten Abfrage in einem Webbrowser-Steuerelement so anzeigen, dass die Spaltenköpfe oben fixiert... [mehr]

Berechtigungen per HTML verwalten

Im Beitrag »Benutzerverwaltung mit verschlüsselten Kennwörtern« stellen wir eine Lösung vor, in der wir die Berechtigungen von Benutzergruppen an Datenbankobjekten definieren. Dort benötigen wir... [mehr]

Benutzer und Berechtigungen ermitteln

In den Beiträgen »Benutzerverwaltung mit verschlüsselten Kennwörtern« und »Berechtigungen per HTML verwalten« haben wir die Voraussetzungen für eine Benutzerverwaltung geschaffen. Im vorliegenden... [mehr]

Zugriffsrechte mit Datenmakros

Es gibt verschiedene Möglichkeiten, auf Basis des aktuell angemeldeten Benutzers sicherzustellen, dass dieser nur die für ihn vorgesehenen Aktionen mit Daten durchführen darf – beispielsweise durch... [mehr]

Kennwörter generieren

Für den einen oder anderen Zweck möchten Sie vielleicht Kennwörter generieren oder in einer Benutzeroberfläche die Möglichkeit zum Generieren von Kennwörtern anbieten. Wenn Sie etwa Benutzer zu... [mehr]

Neuer Datensatz von Frontend zu Backend

Für manche Themen gibt es keine kurze, prägnante Überschrift. In diesem Fall wollen wir zeigen, wie Sie einen neuen Datensatz anlegen, der in einer temporären Tabelle im Frontend gespeichert wird,... [mehr]