Hallo miteinander,
ich möchte Datensätze aus einer Excel Tabelle an eine Access Tabelle "tab" anfügen.
tab beinhaltet einen Primärschlüssel mit IDNr als Autowert (Inkrement).
tab ist in referenzieller Integrität mit anderen Tabellen verbunden.
Beim Öffnen von tab wird als neuer Datensatz IDNr (neu) angezeigt (und nicht die nächste Inkrement Nummer).
Beim Versuch, einen Datensatz aus einer Excel Tabelle an tab anzufügen treten Importfehler auf, die zu importierenden Datensätze werden in Tabelle Importfehler importiert.
Das liegt sicherlich daran, dass in der Excel Tabelle kein IDNr vergeben ist (da unbekannt).
Ich weiß auch nicht, ob in Excel Tabelle die Spalte IDNr eingerichtet sein muss und keinen Wert besitzen soll.
Kann mir bitte jemand helfen und mitteilen, wie die Datensätze erfolgreich angefügt werden?
Vielen Dank für eure Kommentare!
Gruß ToBu
Hallo,
das Anfügen darf die Spalte für den Autowert nicht enthalten. Der Autowert wird dann automatisch weiter gezählt.
Wie genau importierst Du die Exceldaten ?
Ich importiere die Daten über die Icons von Access:
Externe Daten, importieren aus Excel Tabelle, Pfad aussuchen, Excel Tabelle bestimmen, Anfügen an "tab" und fertigstellen.
Das gefällt mir auch nicht so richtig! Viel eleganter wäre natürlich das alle per VBa Code zu machen, aber dafür besitze ich leider noch immer zu wenige Sprachkenntnisse!
Wie könnte das gelingen?
Gruß ToBu
Hallo,
die Exceltabelle solltet Du nur Verlinken, nicht importieren. Aus der verlinkten Excel werden dann die Daten per Anfügeabfrage an die Access Tabelle übertragen. Die Autowert Spalte bleibt dabei unberücksichtigt.
ZitatViel eleganter wäre natürlich das alle per VBa Code zu machen
nein, das wäre ganz sicher nicht eleganter, sondern eher umständlicher. Mit der Abfrage wird VBA dazu nicht benötigt.
Verlinken verstehe ich als Verknüpfen. Das habe ich gerade versucht, leider muss ich mich an der Stelle dann entscheiden, ob ich die Zieltabelle überschreiben möchte oder nicht. Bei nicht dreht sich die Geschichte! bei Überschreiben kommt die Fehlermeldung Zieltablle kann nicht überschrieben werden.
Ich verzweifle wieder einmal!
Gruß ToBu
Hallo,
wenn Du verknüpfst/verlinkst, kann es doch eine Zieltabelle geben. Du musst also die importierte Exceltabelle löschen, die wird ja nicht gebraucht.
Hallo Klaus,
ich habe einen neuen Namen vergeben. Damit klappt auch die Verknüpfung. Die verknüpfte Tabelle habe ich Erhebung genannt. Darin befindet sich 1 Datensatz. In meiner Anfügeabfrage habe ich diese Tabelle (Erhebung) als Quelldaten eingerichtet und die entsprechende Zieltabelle tab eingegeben. Bei Ausführung der Anfügeabfrage kommen alle normalen Meldungen: Daten werden verändert, Sie sind dabei 1 Datensätze anzufügen. Wenn ich das nun bestätige, kommt die Fehlermeldung: es wurden nicht alle Felder übertragen. 0 Datensätze angefügt.
Ich vermute, dass das irgendwie doch mit dem Primärschlüssel für IDNr als Autowert zu tun hat.
Möglich wäre auch, dass die Quelltabelle Erhebung.xls nicht alle Formate unterstützt, die in Access 2019 in der Version 2003 gewählt wurde.
Um in dieser Hinsicht sicherzugehen, hatte ich zunächst die Access Tab tab, an die angefügt werden soll, exportiert, alle Datensätze darin gelöscht und 1 neuen DS eingegeben. Die Spalte IDNr habe ich auch gelöscht. Beim Speichern von Erhebung.xls kommt allerdings auch eine Fehlermeldung: einige Formate können nicht übernommen werden (oder so ähnlich).
Was habe ich noch nicht berücksichtigt?
Gruß ToBu
Hallo,
Mit dem Autowert (PS) hat das nichts zu tun. Du musst auch auf die richtigen Datentypen achten. Z.B. ein Datumsfeld muss auch immer ein gültiges Datum haben. Und in eine Zahlenspalte kann man keinen Text einfügen. Ggf. musst Du in der Anfügeabfrage die Typanpassungen vornehmen.
Mache mal (zu Testzwecken) aus der Anfügeabfrage eine Tabellenerstellungsabfrage und dann siehst Du in der erstellten Tabelle mal die Felder im Entwurf an.
Das kann ein ziemliches Gefrickel geben, aber da musst Du durch. Aber, wenn die Exceltabelle immer gleich ist (in der Struktur) ist das ja ein einmaliger Aufwand.
Ja, das war eine gute Idee!!! Im Entwurf der Erstellungsabfrage sind 2 Abweichungen, von denen ich 1 von Zahl auf Text geändert habe. Aber die Internetadresse in tab erwartet einen link! Beim Formatieren des Feldes Internet finde ich jedoch nicht die Option link! Kann ich das über Benutzerdefiniert hinkriegen?
Gruß ToBu
Hallo Klaus,
ich habe tatsächlich entdeckt, dass in tab ein Format Datum, kurz und eine Eingabeform dafür definiert war, die in der anzufügenden Tabelle leer sind. Das war der Übeltäter! Nachdem ich die Formate für das Datum in tab (Access) entsprechend geleert habe, funktioniert das Anfügen tadellos!
Vielen Dank, Klaus, dass du dich meiner so angenommen und die Lösung mir nahegelegt hast! Ich bewundere euch Profis, wie ihr euch in alles so hineindenken könnt, was die irgendwie artikulierten Probleme angeht! Wunderbar!!! Nochmals vielen Dank!
Gruß
ToBu
Den Button "Sag danke" im Posting habe ich leider nicht gefunden!
Daher :) :) :)