Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Access-Tabelle: Wie füge ich Felder an eine aus Excel übernommene Tabelle an?





Frage

Ich habe folgendes Problem: Ich habe in Access eine Tabelle, die mit einem Excel-File verknüpft ist, das täglich aktalisiert wird. Diese enthält die Seriennr eines Bauteiles, sowie verschiedene Informationen wie Zustand, Alter, etc. Da ich zu dieser Tabelle ja in Access direkt keine Auswahlfelder etc hinzufügen kann möchte ich eine zweite Access Tabelle erstellen, deren erste Spalte ebenfalls alle Serialnummern erhält und die dann mit der aus Excel verknüpften Tabelle verknüpft ist. Gibt es eine Möglichkeit, dass Access automatisch alle Datensätze (nur die Serialnummern) aus der ersten Tabelle übernimmt, bzw automatisch aktualisiert, wenn im Excelfile neue Serialnr hinzugefügt werden? Danke für alle Antworten!

Antwort 1 von Opa53

Hallo,

das ist eigentlich kein Problem. Du kannst eine neue Tabelle erstellen und diese zu der anderen in eine 'Beziehung' setzten. Dabei muss mindestens ein identisches Feld in beiden Tabellen existieren, da über dieses die Verknüpfung erstellt wird.

Nähere Informationen erhälst du in der Access-Hilfe unter den Stichwort 'Beziehungen'.

Gruß vom
Opa

Antwort 2 von Marie

Na ich denke mal, wenn im Ecxelfile Daten angefügt werden, dann ist die Accesstabelle nicht geöffnet?

ist das so, dann könnte man in der Autoexec beim Öffnen der Accesstabelle (ersatzweise natürlich auch an jeder anderen Stelle beim Öffnen eines Formulars oder auf Druck eines Buttons) prüfen, ob neue Datensätze vorhanden sind, deren Seriennummer noch nicht in der Accesstabelle vorhanden ist, wenn ja, dann anfügen.

Zum Beispiel so:
Dim strSQL as string

'Datensatz anlegen bei Vorhandensein von SNr in tblExcel ohne in tblAccess
strSQL = "INSERT INTO tblAccess ( SNr )" _
& " SELECT DISTINCTROW tblExcel.SNr" _
& " FROM tblExcel LEFT JOIN tblAccess ON tblExcel.SNr = tblAccess.SNr" _
& " WHERE (((tblAccess.SNr) Is Null))"
CurrentDb.Execute strSQL, dbFailOnError


Gruß Marie

Antwort 3 von RATLOS1000

Hallo Opa,

das Problem ist ja genau, dass ich um die Beziehung herzustellen, die Einträge im Feld Serialnr brauche. Da es sich dabei um weit über 1000 Datensätze handelt, die ich nicht alle manuell eintragen kann, suche ich eine Möglichkeit, diese automatisch in die neue access-Tabelle zu übernehmen...

Hallo Marie,
danke für den guten Hinweis, werde das gleich mal ausprobieren!

Antwort 4 von Marie

Bitte bitte, gern geschehen, einfach den Code kopieren und mit suchen ersetzen statt tblExcel den Namen Deiner Exceltabelle, statt tblAccess den Namen deiner Accesstabelle und statt SNr den Namen Deines Seriennummernfeldes eintragen.

Viel Glück und Gruß Marie

Antwort 5 von Opa53

@Ratlos,

da habe ich dich wohl gründlich missverstanden.

Gruß vom
Opa

Antwort 6 von RATLOS1000

@OPA Kein Problem, trotzdem danke für deine Antwort.

@Marie Danke nochmal, hat fantastisch geklappt!

Antwort 7 von Marie

Macht nix Opachen, passiert mir auch oft. Wer nix macht, macht nix verkehrt.

Gruß Marie