{"id":55000951,"date":"2014-10-01T00:00:00","date_gmt":"2021-02-11T21:28:27","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=951"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Tabellen_importieren_per_Tabellenereignis","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Tabellen_importieren_per_Tabellenereignis\/","title":{"rendered":"Tabellen importieren per Tabellenereignis"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg07.met.vgwort.de\/na\/9ea0ed25e88a47b99215b92f4d2c518b\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Die neuen Tabellenereignisse, die mit Access 2010 eingef&uuml;hrt wurden, erlauben beispielsweise das automatische Ausf&uuml;hren von Makros beim Einf&uuml;gen, &auml;ndern oder L&ouml;schen von Datens&auml;tzen. Dies machen wir uns in diesem Beitrag einmal auf ungew&ouml;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&uuml;gt werden. Dies erledigen wir am Beispiel von Artikeln und Kategorien, wobei beide gleich auf die entsprechenden Tabellen aufgeteilt und verkn&uuml;pft werden sollen.<\/b><\/p>\n<p>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&ouml;nnen. Bei Daten aus Excel-Tabellen ist dies sicher kein Problem, denn dies l&auml;sst sich in der Regel automatisieren.<\/p>\n<p>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&ouml;chten.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2014_05\/pic_951_001.png\" alt=\"Diese Daten sollen in die Access-Datenbank importiert werden.\" width=\"425\" height=\"480,0104\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Diese Daten sollen in die Access-Datenbank importiert werden.<\/span><\/b><\/p>\n<p>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&uuml;gen. Das Ergebnis sieht dann etwa wie in Bild 2 aus.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2014_05\/pic_951_002.png\" alt=\"Einf&uuml;gen der Daten in die &uuml;bergangstabelle der Access-Datenbank\" width=\"425\" height=\"406,9754\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Einf&uuml;gen der Daten in die &uuml;bergangstabelle der Access-Datenbank<\/span><\/b><\/p>\n<p>Das ist nun noch kein Hexenwerk. Der Clou folgt erst noch: Beim Einf&uuml;gen sollen wie durch Zauberhand die entsprechenden Datens&auml;tze in den beiden Tabellen <b>tblArtikel <\/b>und <b>tblKategorien <\/b>angelegt werden, die wie in Bild 3 miteinander verkn&uuml;pft sind. Dazu sind ein paar Schritte n&ouml;tig, die man sonst per VBA durchf&uuml;hren w&uuml;rde. Dies ist zwar auch machbar, aber wenn man die Daten ohnehin von Hand in die Hilfstabelle <b>tblArtikelimport <\/b>kopiert, w&auml;re es nat&uuml;rlich praktisch, wenn diese Daten auch direkt automatisch auf die Zieltabellen aufgeteilt w&uuml;rden.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2014_05\/pic_951_003.png\" alt=\"Die beiden Zieltabellen des Imports\" width=\"425\" height=\"207,6582\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: Die beiden Zieltabellen des Imports<\/span><\/b><\/p>\n<p>Bild 4 zeigt, wie das Ergebnis nach dem Import aussehen soll. Die in das Feld <b>Kategorie <\/b>eines in die Tabelle <b>tblTabellenimport <\/b>importierten Datensatzes soll, soweit noch nicht vorhanden, in der Tabelle <b>tblKategorien <\/b>angelegt werden.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2014_05\/pic_951_005.png\" alt=\"Die automatisch in die Zieltabellen aufgeteilten Daten\" width=\"650\" height=\"655,207\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 4: Die automatisch in die Zieltabellen aufgeteilten Daten<\/span><\/b><\/p>\n<p>Dann muss der Prim&auml;rschl&uuml;sselwert entweder des eingef&uuml;gten Datensatzes der Tabelle <b>tblKategorien<\/b> ermittelt werden oder der entsprechende Wert des bereits vorhandenen Datensatzes.<\/p>\n<p>Dieser landet dann gemeinsam mit der Bezeichnung des Artikels in der Tabelle <b>tblArtikel<\/b>. Die <b>KategorieID <\/b>stellt in diesem Fall das Fremdschl&uuml;sselfeld f&uuml;r die Verkn&uuml;pfung zwischen den Tabellen <b>tblArtikel <\/b>und <b>tblKategorien<\/b> her.<\/p>\n<p><b>Makro anlegen<\/b><\/p>\n<p>Das Makro k&ouml;nnen Sie auf zwei Arten anlegen: Entweder in der Datenblattansich der Tabelle oder in der Entwurfsansicht. Wenn Sie die Datenblattansicht dazu nutzen m&ouml;chten, verwenden Sie den Ribbon-Eintrag <b>Ta-bel-le|Nach-folgeereignis-se|Nach Ein-f&uuml;-gung<\/b>, um ein Makro anzulegen, das durch das Einf&uuml;gen eines Datensatzes ausgel&ouml;st wird (s. Bild 5).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2014_05\/pic_951_006.png\" alt=\"Anlegen des Makros, das beim Einf&uuml;gen eines Datensatzes ausgel&ouml;st wird\" width=\"650\" height=\"383,3089\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 5: Anlegen des Makros, das beim Einf&uuml;gen eines Datensatzes ausgel&ouml;st wird<\/span><\/b><\/p>\n<p>Alternativ k&ouml;nnen Sie auch die Entwurfsansicht nutzen. In diesem Fall finden Sie den ben&ouml;tigten Ribbon-Eintrag unter <b>Entwurf|Feld-, Datensatz- und Ta-bel-len-er-eig-nis-se|Da-ten-mak-ros er-stel-len|Nach Einf&uuml;gung <\/b>(s. Bild 6).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2014_05\/pic_951_007.png\" alt=\"Einf&uuml;gen des Makros &uuml;ber die Entwurfsansicht der Tabelle\" width=\"650\" height=\"249,3038\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 6: Einf&uuml;gen des Makros &uuml;ber die Entwurfsansicht der Tabelle<\/span><\/b><\/p>\n<p>Nach dem Aufruf eines dieser Ribbon-Befehle erscheint der Entwurf f&uuml;r ein neues Makro. Dieses f&uuml;llen Sie nun wie in Bild 7.<\/p>\n<p class=\"image\"><img loading=\"lazy\" decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2014_05\/pic_951_004.png\" alt=\"Makro zum Aufteilen der frisch importierten Daten\" width=\"575\" height=\"783\" \/><\/p>\n<p><!--30percent--><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 7: Makro zum Aufteilen der frisch importierten Daten<\/span><\/b><\/p>\n<p>Das Makro legt zun&auml;chst eine lokale Variable namens <b>varKategorieID <\/b>fest und f&uuml;llt diese mit dem Wert <b>0<\/b>. Danach sucht sie in der Tabelle <b>tblKategorien <\/b>nach einem Datensatz, dessen Feld <b>Kategorie <\/b>den Wert des gleichnamigen Feldes des neuen Datensatzes der Tabelle <b>tblArtikelimport <\/b>enth&auml;lt.<\/p>\n<p>Findet diese Makroaktion einen Datensatz, f&uuml;llt die folgende den Wert des Feldes <b>KategorieID <\/b>des gefundenen Datensatzes in die lokale Variable <b>varKategorieID<\/b>.<\/p>\n<p>Die folgende <b>Wenn&#8230;Dann<\/b>-Bedingung pr&uuml;ft, ob <b>varKategorieID <\/b>danach immer noch den Wert <b>0 <\/b>enth&auml;lt. Dies ist nur der Fall, wenn kein Datensatz gefunden wurde.<\/p>\n<p>Dies f&uuml;hrt dazu, dass das Makro einen neuen Datensatz in der Tabelle <b>tblKategorien <\/b>anlegt. Das Feld <b>Kategorie <\/b>erh&auml;lt dabei den Wert des gleichnamigen Feldes des neuen Datensatzes der Tabelle <b>tblArtikelimport<\/b>.<\/p>\n<p>Wieder legt die folgende Makroaktion den Wert der lokalen Variablen <b>varKategorieID <\/b>auf einen Prim&auml;rschl&uuml;ssel fest &#8211; diesmal auf den des neu zur Tabelle <b>tblKategorien <\/b>hinzugef&uuml;gten Datensatzes. Damit haben wir nun auf jeden Fall ein Prim&auml;rschl&uuml;sselfeld eines Datensatzes der Tabelle <b>tblKategorien <\/b>&#8211; egal, ob dieses neu angelegt wurde oder bereits ein entsprechender Datensatz vorhanden war.<\/p>\n<p>Nun muss das Makro nur noch den neuen Datensatz zur Tabelle <b>tblArtikel<\/b> hinzuf&uuml;gen. Dabei tr&auml;gt es in das Feld <b>Artikel <\/b>den Wert des entsprechenden Feldes der Tabelle <b>tblArtikelimport <\/b>ein.  Das Fremdschl&uuml;sselfeld <b>KategorieID <\/b>hingegen wird mit dem in der lokalen Variablen <b>varKategorieID <\/b>gespeicherten Prim&auml;rschl&uuml;sselwert des entsprechenden Datensatzes aus der Tabelle <b>tblKategorien<\/b> gef&uuml;llt.<\/p>\n<p><b>Variante mit eigenem Makro zum Ermitteln der Kategorie<\/b><\/p>\n<p>Dieses Makro k&ouml;nnen wir noch etwas verfeinern, da es ja auch einmal vorkommen kann, dass von mehreren Stellen aus neue Kategorien angelegt oder ermittelt werden sollen.<\/p>\n<p>In diesem Fall sollten Sie, &auml;hnlich wie man es auch unter VBA mit Funktionen macht, die Makroaktionen, die zum Ermitteln der <b>KategorieID <\/b>dienen, in ein eigenes Makro auslagern.<\/p>\n<p>Der Aufruf und die Weiterverarbeitung erfolgen aber nach wie vor in dem Makro, das durch das Tabellenereignis <b>Nach Einf&uuml;gung <\/b>der Tabelle <b>tblArtikelimport <\/b>ausgel&ouml;st wird.<\/p>\n<p>Ein neues benanntes Makro legen Sie mit dem Ribbon-Befehl <b>Tabelle|Benannte Makros|Benanntes Makro|Benanntes Makro erstellen <\/b>an (s. Bild 8).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2014_05\/pic_951_010.png\" alt=\"Einf&uuml;gen eines benannten Makros &uuml;ber die Datenblattansicht der Zieltabelle\" width=\"700\" height=\"226,2774\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 8: Einf&uuml;gen eines benannten Makros &uuml;ber die Datenblattansicht der Zieltabelle<\/span><\/b><\/p>\n<p>Wenn Sie dieses sp&auml;ter bearbeiten wollen, verwenden Sie den Ribbon-Eintrag <b>Ta-bel-le|Be-nann-te Mak-ros|Be-nann-tes Ma-kro|Be-nann-tes Mak-ro bearbeiten|dmcKategorie-Er-mit-teln-An-le-gen<\/b>.<\/p>\n<p>Werfen wir zun&auml;chst einen Blick auf das Datenmakro. Dieses sieht im fertigen Zustand wie in Bild 9 aus. Als Erstes legen Sie f&uuml;r dieses Makro einen Parameter fest, mit dem das Makro die Bezeichnung der Kategorie entgegennehmen kann. Der Parameter soll <b>prmKategorie <\/b>hei&szlig;en. Danach legt das Makro f&uuml;r die lokale Variable <b>lngKategorieIDTemp <\/b>den Wert <b>0 <\/b>fest.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2014_05\/pic_951_009.png\" alt=\"Das benannte Makro zum Anlegen oder Ermitteln einer Kategorie\" width=\"575\" height=\"770,418\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 9: Das benannte Makro zum Anlegen oder Ermitteln einer Kategorie<\/span><\/b><\/p>\n<p>Das folgende Makro <b>Datensatz nachschlagen in <\/b>durchsucht die Tabelle <b>tblKategorien <\/b>nach einem Datensatz, dessen Feld <b>Kategorie <\/b>dem mit dem Parameter <b>prmKategorie <\/b>&uuml;bergebenen Wert entspricht. Findet dieses einen Datensatz, f&uuml;llt die folgende Makroaktion <b>FestlegenLokaleVar <\/b>die Variable <b>lngKategorieIDTemp <\/b>mit dem Prim&auml;rschl&uuml;sselwert des gefundenen Datensatzes.<\/p>\n<p>Die anschlie&szlig;ende <b>Wenn<\/b>-Bedingung pr&uuml;ft, ob die lokale Variable <b>lngKategorieIDTemp <\/b>immer noch den Wert <b>0 <\/b>hat. Dies ist ein Zeichen daf&uuml;r, dass die per Parameter &uuml;bergebene Kategorie noch nicht vorhanden ist und neu angelegt werden muss.<\/p>\n<p>Die Makroaktion <b>Datensatz erstellen in <\/b>legt dann einen neuen Datensatz in der Tabelle <b>tblKategorien <\/b>an. Mit Festlegen <b>Feld <\/b>f&uuml;llt das Makro dann das Feld <b>Kategorie <\/b>mit dem Namen der neuen Kategorie. Die Funktion <b>LetztesErstellenDatensatzID <\/b>ermittelt den Autowert des zuletzt hinzugef&uuml;gten Datensatzes, der hier wie &uuml;blich dem Prim&auml;rschl&uuml;sselwert entspricht, und die Makroaktion <b>FestlegenLokaleVar <\/b>speichert diesen in der Variablen <b>lngKategorieIDTemp<\/b>.<\/p>\n<p>Die letzte Makroaktion <b>FestlegenR&uuml;ckgabevariable <\/b>schreibt dann den Inhalt der Variablen <b>lngKategorieIDTemp <\/b>in die R&uuml;ckgabevariable <b>lngKategorieID<\/b>.<\/p>\n<p>Damit brauchen wir nun nur noch das Makro, das dieses Datenmakro aufruft. Um dies zu realisieren, haben wir die Tabelle <b>tblArtikelimport <\/b>kopiert und unter dem Namen <b>tblArtikelimport_II <\/b>gespeichert. Das vorhandene Makro f&uuml;r das Ereignis <b>Nach Einf&uuml;gung <\/b>haben wir gel&ouml;scht und durch jenes aus Bild 10 ersetzt.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2014_05\/pic_951_008.png\" alt=\"Makro, das ein benanntes Makros der Tabelle tblKategorien aufruft\" width=\"575\" height=\"524,2985\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 10: Makro, das ein benanntes Makros der Tabelle tblKategorien aufruft<\/span><\/b><\/p>\n<p>Dieses ruft gleich mit der ersten Makroaktion das soeben angelegte Datenmakro <b>tblKategorien.cmdKategorieErmittelnAnlegen <\/b>auf. Wenn Sie die Makroaktion <b>Ausf&uuml;hrenDatenmakro<\/b> hinzugef&uuml;gt haben, w&auml;hlen Sie zun&auml;chst das auszuf&uuml;hrende Datenmakro aus.<\/p>\n<p>Dann erscheint darunter automatisch die Liste der Parameter dieses benannten Makros. Hier tragen wir den Ausdruck <b>[tblArtikelimport_II].[Kategorie] <\/b>ein, um den Namen der Kategorie f&uuml;r den neuen Datensatz zu &uuml;bergeben.<\/p>\n<p>Nachdem das benannte Makro ausgef&uuml;hrt wurde, f&auml;hrt Access mit der Abarbeitung der Makroaktionen des aufrufenden Makros fort. Hier folgt mit <b>FestlegenLokaleVar <\/b>die n&auml;chste Makroaktion, die den Wert der R&uuml;ckgabevariablen des aufgerufenen Makros einliest und in der lokalen Variablen <b>varKategorieID <\/b>speichert.<\/p>\n<p>Auf die R&uuml;ckgabevariable greifen Sie &uuml;ber den Ausdruck <b>[R&uuml;ck-ga-be-va-ri-ab-le]![Ka-te-go-rieID] <\/b>zu.<\/p>\n<p><b>Vorsicht: Ausrufezeichen und Punkt!<\/b><\/p>\n<p>An dieser Stelle ist der Hinweis erforderlich, dass Sie auf R&uuml;ckgabevariablen nur &uuml;ber die Ausrufezeichen-Syntax zugreifen k&ouml;nnen (hier etwa &uuml;ber <b>[R&uuml;ck-gabe-va-ri-able]![KategorieID]<\/b>).<\/p>\n<p>Bei anderen Ausdr&uuml;cken wie etwa dem Zugriff auf den Inhalt von Tabellenfeldern verwenden Sie die Punkt-Syntax, also etwa <b>[tblArtikelimport_II].[Kategorie]<\/b>.<\/p>\n<p>Schlie&szlig;lich folgt auch hier wieder die Makroaktion <b>Datensatz erstellen in<\/b>, wieder mit der Tabelle <b>tblArtikel <\/b>als Ziel. Auch hier wird wieder der Inhalt des Feldes <b>Artikel <\/b>der Ausgangstabelle sowie der Prim&auml;rschl&uuml;sselwert des entsprechenden Datensatzes der Tabelle <b>tblKategorien <\/b>eingetragen.<\/p>\n<p><b>Ort f&uuml;r benannte Makros<\/b><\/p>\n<p>Sie k&ouml;nnen benannte Makros &uuml;brigens im Kontext einer beliebigen Tabelle anlegen. Wichtig ist nur, dass Sie beim Zugriff auf das Makro &uuml;ber die Makroaktion <b>Ausf&uuml;hrenDatenmakro <\/b>nicht nur den Makronamen angeben, sondern auch noch den Tabellen voran stellen.<\/p>\n<p>Sinnvoll ist es aber nat&uuml;rlich, beispielsweise ein benanntes Makro, dass einen Datensatz in der Tabelle <b>tblKategorien <\/b>anlegt, auch in dieser Tabelle zu speichern.<\/p>\n<p><b>Debugging<\/b><\/p>\n<p>Es wird Ihnen wahrscheinlich nicht anders gehen als mir und das eine oder andere Makro funktioniert nicht auf Anhieb wie erwartet. Sollte gar nicht das geschehen, was Sie geplant haben, ist daf&uuml;r vermutlich ein Fehler verantwortlich. Solche Fehler finden Sie, indem Sie die Tabelle <b>USysApplicationLog <\/b>&ouml;ffnen &#8211; was am schnellsten &uuml;ber die Schaltfl&auml;che <b>Anwendungsprotokoll anzeigen <\/b>gelingt (s. Bild 11). Sollte ein Fehler aufgetreten sein, wird diese Schaltfl&auml;che au&szlig;erdem bereits farbig hervorgehoben.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2014_05\/pic_951_011.png\" alt=\"&ouml;ffnen der Tabelle zum Anzeigen der Fehlermeldungen\" width=\"650\" height=\"320,0757\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 11: &ouml;ffnen der Tabelle zum Anzeigen der Fehlermeldungen<\/span><\/b><\/p>\n<p><b>Zusammenfassung und Ausblick<\/b><\/p>\n<p>Mit der hier vorgestellten Technik k&ouml;nnen Sie nat&uuml;rlich nicht nur solch einfache Importvorg&auml;nge steuern, sondern auch komplexere. Wenn Sie etwa auf eine Excel-Tabelle sto&szlig;en, die in einer einzigen Zeile die Daten einer kompletten Bestellung inklusive Kundendaten enth&auml;lt, steht Ihnen nat&uuml;rlich schon eine anspruchsvollere Aufgabe bevor. Sie k&ouml;nnen immer noch entscheiden, dies per VBA zu erledigen. Aber das einfache Hineinkopieren der Daten, die zu den Tabellen hinzugef&uuml;gt werden sollen, hat durchaus seinen Reiz.<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>TabellenImportierenPerTabellenereignis.accdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/49B1D2A8-05C8-4224-9FB9-1D37490D129A\/aiu_951.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die neuen Tabellenereignisse, die mit Access 2010 eingef&uuml;hrt wurden, erlauben beispielsweise das automatische Ausf&uuml;hren von Makros beim Einf&uuml;gen, &Auml;ndern oder L&ouml;schen von Datens&auml;tzen. Dies machen wir uns in diesem Beitrag einmal auf ungew&ouml;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&uuml;gt werden. Dies erledigen wir am Beispiel von Artikeln und Kategorien, wobei beide gleich auf die entsprechenden Tabellen aufgeteilt und verkn&uuml;pft werden sollen.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662014,66052014,44000021],"tags":[],"class_list":["post-55000951","post","type-post","status-publish","format-standard","hentry","category-662014","category-66052014","category-Tabellen_und_Datenmodellierung"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Tabellen importieren per Tabellenereignis - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/Tabellen_importieren_per_Tabellenereignis\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tabellen importieren per Tabellenereignis\" \/>\n<meta property=\"og:description\" content=\"Die neuen Tabellenereignisse, die mit Access 2010 eingef&uuml;hrt wurden, erlauben beispielsweise das automatische Ausf&uuml;hren von Makros beim Einf&uuml;gen, &Auml;ndern oder L&ouml;schen von Datens&auml;tzen. Dies machen wir uns in diesem Beitrag einmal auf ungew&ouml;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&uuml;gt werden. Dies erledigen wir am Beispiel von Artikeln und Kategorien, wobei beide gleich auf die entsprechenden Tabellen aufgeteilt und verkn&uuml;pft werden sollen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Tabellen_importieren_per_Tabellenereignis\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-11T21:28:27+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg07.met.vgwort.de\/na\/9ea0ed25e88a47b99215b92f4d2c518b\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"9\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_importieren_per_Tabellenereignis\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_importieren_per_Tabellenereignis\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Tabellen importieren per Tabellenereignis\",\"datePublished\":\"2021-02-11T21:28:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_importieren_per_Tabellenereignis\\\/\"},\"wordCount\":1821,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_importieren_per_Tabellenereignis\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/9ea0ed25e88a47b99215b92f4d2c518b\",\"articleSection\":[\"2014\",\"5\\\/2014\",\"Tabellen und Datenmodellierung\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_importieren_per_Tabellenereignis\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_importieren_per_Tabellenereignis\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_importieren_per_Tabellenereignis\\\/\",\"name\":\"Tabellen importieren per Tabellenereignis - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_importieren_per_Tabellenereignis\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_importieren_per_Tabellenereignis\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/9ea0ed25e88a47b99215b92f4d2c518b\",\"datePublished\":\"2021-02-11T21:28:27+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_importieren_per_Tabellenereignis\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_importieren_per_Tabellenereignis\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_importieren_per_Tabellenereignis\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/9ea0ed25e88a47b99215b92f4d2c518b\",\"contentUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/9ea0ed25e88a47b99215b92f4d2c518b\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_importieren_per_Tabellenereignis\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tabellen importieren per Tabellenereignis\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Tabellen importieren per Tabellenereignis - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/Tabellen_importieren_per_Tabellenereignis\/","og_locale":"de_DE","og_type":"article","og_title":"Tabellen importieren per Tabellenereignis","og_description":"Die neuen Tabellenereignisse, die mit Access 2010 eingef&uuml;hrt wurden, erlauben beispielsweise das automatische Ausf&uuml;hren von Makros beim Einf&uuml;gen, &Auml;ndern oder L&ouml;schen von Datens&auml;tzen. Dies machen wir uns in diesem Beitrag einmal auf ungew&ouml;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&uuml;gt werden. Dies erledigen wir am Beispiel von Artikeln und Kategorien, wobei beide gleich auf die entsprechenden Tabellen aufgeteilt und verkn&uuml;pft werden sollen.","og_url":"https:\/\/access-im-unternehmen.de\/Tabellen_importieren_per_Tabellenereignis\/","og_site_name":"Access im Unternehmen","article_published_time":"2021-02-11T21:28:27+00:00","og_image":[{"url":"http:\/\/vg07.met.vgwort.de\/na\/9ea0ed25e88a47b99215b92f4d2c518b","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"9\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Tabellen_importieren_per_Tabellenereignis\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Tabellen_importieren_per_Tabellenereignis\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Tabellen importieren per Tabellenereignis","datePublished":"2021-02-11T21:28:27+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Tabellen_importieren_per_Tabellenereignis\/"},"wordCount":1821,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Tabellen_importieren_per_Tabellenereignis\/#primaryimage"},"thumbnailUrl":"http:\/\/vg07.met.vgwort.de\/na\/9ea0ed25e88a47b99215b92f4d2c518b","articleSection":["2014","5\/2014","Tabellen und Datenmodellierung"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Tabellen_importieren_per_Tabellenereignis\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Tabellen_importieren_per_Tabellenereignis\/","url":"https:\/\/access-im-unternehmen.de\/Tabellen_importieren_per_Tabellenereignis\/","name":"Tabellen importieren per Tabellenereignis - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Tabellen_importieren_per_Tabellenereignis\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Tabellen_importieren_per_Tabellenereignis\/#primaryimage"},"thumbnailUrl":"http:\/\/vg07.met.vgwort.de\/na\/9ea0ed25e88a47b99215b92f4d2c518b","datePublished":"2021-02-11T21:28:27+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Tabellen_importieren_per_Tabellenereignis\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Tabellen_importieren_per_Tabellenereignis\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Tabellen_importieren_per_Tabellenereignis\/#primaryimage","url":"http:\/\/vg07.met.vgwort.de\/na\/9ea0ed25e88a47b99215b92f4d2c518b","contentUrl":"http:\/\/vg07.met.vgwort.de\/na\/9ea0ed25e88a47b99215b92f4d2c518b"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Tabellen_importieren_per_Tabellenereignis\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Tabellen importieren per Tabellenereignis"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000951","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55000951"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000951\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000951"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000951"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000951"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}