window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-TCJTE9L38H');

Anlage-Felder und VBA

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Anlage-Felder bieten bereits ohne den Einsatz von VBA echten Nutzen. Wenn es jedoch darum geht, größere Operationen durchzuführen, um etwa eine Reihe von Bildern aus verschiedenen Verzeichnissen in ein oder mehrere Anlage-Felder zu kopieren, werden Sie dies kaum von Hand erledigen wollen. Stattdessen erstellen Sie eine VBA-Abfrage, die das Einfügen, Löschen oder Entfernen der Dateien in und aus dem Anlage-Feld erledigen soll.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1309_Anlagefelder.accdb.

Hinweise

Anlage-Felder wurden mit Access 2007 eingeführt. Voraussetzung ist außerdem ein Verweis auf die Bibliothek Microsoft Office x.0 Access Database Engine Object Library, der normalerweise bei Datenbanken des Typs .accdb bereits voreingestellt sein sollte.

Sollte die Datenbank aus irgendwelchen Gründen den Verweis auf die Bibliothek Microsoft DAO 3.6 Object Library enthalten, entfernen Sie diesen Sie über den Verweise-Dialog (VBA-Editor, Menü Extras|Verweise) und fügen den Verweis auf die oben genannte Bibliothek hinzu (siehe Bild 1).

Verweis auf die neue DAO-Bibliothek

Bild 1: Verweis auf die neue DAO-Bibliothek

Struktur von Anlage-Feldern

Bevor wir uns mit VBA an das Lesen und Bearbeiten eines Anlage-Feldes heranwagen, schauen wir uns die zugrunde liegende Struktur an. Am besten gelingt dies, wenn Sie eine neue Abfrage erstellen und eine Tabelle als Datenherkunft hinzufügen, die ein Anlage-Feld enthält. Dies sieht etwa wie in Bild 2 aus.

Das Anlage-Feld im Abfrageentwurf

Bild 2: Das Anlage-Feld im Abfrageentwurf

Wechseln Sie zur Datenblattansicht dieser Abfrage, erkennen Sie, dass jeder Datensatz für jede enthaltene Anlage je einmal erscheint (siehe Bild 3). Der Datensatz mit dem Wert 3 im Feld DateiID enthält beispielsweise fünf Dateien im Anlagefeld. Dementsprechend erscheint der Datensatz fünf Mal, jeweils mit einer anderen Anlage.

Abfrage, die jeden Datensatz entsprechend der Anzahl der enthaltenen Anlagen anzeigt.

Bild 3: Abfrage, die jeden Datensatz entsprechend der Anzahl der enthaltenen Anlagen anzeigt.

Dies weist darauf hin, dass die in Anlage-Feldern gespeicherten Daten möglicherweise in einer weiteren, für Benutzeraugen nicht sichtbaren, Tabelle gespeichert werden. In der Tat findet sich in einer Datenbank, nachdem Sie eine Tabelle mit einem Anlage-Feld hinzugefügt haben, eine zusätzliche Tabelle mit einem kryptischen Namen wie f_AE1ADE703D174BDAADDFFEBC068B79C8_Test (diese lässt sich allerdings nicht öffnen).

Und wenn die Daten des Anlage-Feldes schon in einer verknüpften Tabelle landen, finden wir sicher auch unter DAO einen alternativen Weg für den Zugriff auf diese Daten.

Nur lesen

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

Testzugang

eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar