Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 1/2013.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Zusammenfassung

Erfahren Sie, wie Sie Daten zweier Tabellen zusammenführen, Berichte mehrfach ausdrucken und Haupt- und Unterformulare synchronisieren.

Techniken

Tabellen, Abfragen, Berichte, VBA

Voraussetzungen

Access 2000 und höher

Beispieldateien

TippsUndTricks.mdb

Shortlink

www.access-im-unternehmen.de/873

Tipps und Tricks

André Minhorst, Duisburg

In dieser Folge unserer Tipps und Tricks erfahren Sie, wie Sie Datensätze zweier Tabellen in einer einzigen Abfrage zusammenführen, wie Sie Berichte mehrfach drucken und wie Sie die Daten in Haupt- und Unterformular synchron anzeigen - so, dass das Hauptformular jeweils den im Unterformular markierten Datensatz anzeigt und umgekehrt.

Daten zusammenführen per Abfrage

Manchmal geschehen beim Entwickeln ungeplante Dinge. So kann es beispielsweise geschehen, dass Sie zwei Versionen einer Datenbank besitzen - zum Beispiel eine veraltete, archivierte Version und eine aktuelle. Wenn Sie dann durch Zufall (etwa durch versehentliches Öffnen der älteren Version) die alte Version weiterentwickeln, aber in der anderen die Daten pflegen, können Sie am einfachsten die aktuellen Daten in die weiterentwickelte Version übernehmen.

Sie könnten dann natürlich schnell alle Datensätze löschen und mit den Daten der neuen Tabelle füllen oder die komplette Tabelle löschen und neu anlegen. Beides führt zu Problemen: Beim Neuerstellen der Datensätze stimmen Beziehungen nicht mehr oder die Beziehungen müssen gar für eine komplett neu angelegte Tabelle neu aufgebaut werden.

Einfacher ist die folgende Methode, die in zwei Schritten nicht mehr vorhandene Datensätze der alten Version entfernt und die vorhandenen Datensätze aktualisiert.

Das Beispiel bezieht sich auf die Tabellen tblArtikel und tblArtikel_Geaendert, wobei tblArtikel den alten Datenbestand repräsentiert und tblArtikel_Geaendert den neuen, geänderten Datenbestand. Dabei gibt es gelöschte, geänderte und neu angelegte Datensätze.

Die Tabelle tblArtikel_Geaendert können Sie dabei in die Zieldatenbank kopieren oder einfach nur eine Verknüpfung erstellen - wir haben diese einfach kopiert.

Zunächst kümmern wir uns darum, die in der Tabelle tblArtikel_Geaendert gelöschten Datensätze auch aus der Tabelle tblArtikel zu löschen.

Das Entfernen der Datensätze aus der Tabelle tblArtikel, die zwischenzeitlich aus der Tabelle tblArtikel_Geaendert gelöscht wurden, übernimmt die Aktionsabfrage aus Abb. 1. Diese enthält die Tabelle tblArtikel als Datenherkunft. Um alle Artikel dieser Tabelle zu ermitteln, die nicht mehr in der Tabelle tblArtikel_Geaendert vorhanden sind, verwenden wir eine Unterabfrage. Diese lautet SELECT ArtikelID FROM tblArtikel_Geaendert und liefert alle noch vorhandenen Datensätze. Das Feld ArtikelID eines jeden Datensatzes der Tabelle tblArtikel wird nun mit den ermittelten Werten verglichen. Ist der Wert nicht vorhanden, ist die Bedingung erfüllt und der Datensatz kann gelöscht werden.

pic001.png

Abb. 1: Löschen der nicht mehr vorhandenen Datensätze

Danach werfen wir einen Blick auf die geänderten und neu hinzugefügten Datensätze. Genau genommen gehen wir dabei nicht sonderlich differenziert vor, sondern gleichen einfach die kompletten Daten ab. Der Clou liegt hierbei darin, beide Vorgänge in einem Rutsch zu erledigen, sprich: mit einer einzigen UPDATE-Abfrage und ohne INSERT INTO-Abfrage.

Dazu erstellen Sie eine neue, leere Abfrage und ziehen die Ziel- und die Quelltabelle in die Entwurfsansicht. Damit jeder Datensatz mit seinem Pendant abgeglichen wird, erstellen Sie eine Beziehung zwischen den Feldern ArtikelID der beiden Tabellen tblArtikel und tblArtikel_Geaendert. Damit liefert das Abfrageergebnis aber nur solche Artikel, bei denen die ArtikelID in beiden Tabellen vorkommt. Wir wollen jedoch auch die Artikel im Ergebnis der Abfrage sehen, die zwar in der Tabelle tblArtikel_Geaendert enthalten sind, aber nicht in der Tabelle tblArtikel - also alle Artikel, die neu hinzugekommen sind.

Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

Sind Sie Abonnent?Jetzt einloggen ...
 

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

© 2003-2015 André Minhorst Alle Rechte vorbehalten.