Excel in Access importieren

Hallo brauche wieder mal eure Hilfe!

Ich habe eine Datenbank. In Access habe ich eine Tabelle, in der stehen eine eindeutige Nummer (Primärschlüssel), Name und eine Spalte in die Noten kommen. Nummer und Name sind ausgefüllt und die Zensuren Spalte ist leer. Zusätzlich habe ich eine Exceltabelle mit drei Spalten, in der ersten und zweiten stehen genau die gleichen Nummern und Namen wie in Access. In der dritten stehen Zensuren.

Das Problem:
Die Zensuren sollen in Access importiert werden und müssen dabei in Bezug zu der jeweiligen Nummer und dem Namen stehen.
Damit jeder Nummer auch die richtige Note zugeordnet wird.

Habe das wer-weiss-was-Forum durchforstet, aber leider keine passende Antwort gefunden.
Hoffe ihr könnt mir helfen, Danke!

Hallo, Emma!

Importiere (oder verknüpfe) die Excel-Tabelle in Deine Datenbank, und dann solltest Du mit einer einfachen Aktualisierungsabfrage Deine Access-Daten mit denen aus der importierten aktualisieren/füllen können.

Das ganze lässt sich beliebig „oberflächlich“ manuell unter Access bis hin zu hübsch über VBA und Formulare steuern.

Was brauchst Du denn?

Gruß, Manfred

Hi Emma,

empfehle Dir bei Access einfach den Importfilter für Excel nach zu installieren. Anschließend kannst du die Excel Tabelle einfach in Access verknüpfen (rechte Maustaste im Abschnitt ‚Tabelle‘). Danach kannst Du in Access einfach eine Abfrage definieren, mit der Du die entsprechende Tabelle erzeugst.

Gruß Andreas

Hallo Manfred!

Danke für deine schnelle Antwort.

Da später der Import von Excel in Access automatisch per Button laufen soll, wäre der VBA Code für mich günstiger, oder?

Hast du vielleicht schon eine Idee für einen Code und wenn wohin muss ich ihn schreiben?
Bin total ratlos, habe nämlich noch nicht soviel mit VBA programmiert.

Hallo, Emma!

Da später der Import von Excel in Access automatisch per
Button laufen soll, wäre der VBA Code für mich günstiger,
oder?
Hast du vielleicht schon eine Idee für einen Code und wenn
wohin muss ich ihn schreiben?
Bin total ratlos, habe nämlich noch nicht soviel mit VBA
programmiert.

Das wäre dann die Frage. Hast Du ein Formular mit Button drauf? Hast Du immer die gleiche Excel-Tabelle am gleichen Ort, oder willst Du die per Dialog auswählen?

Der Code wäre dann relativ einfach, der Kern ist ein Dreizeiler:

' temporäre Excel-Import-Tabelle (in Access-DB) löschen
DoCmd.RunSQL "DROP TABLE TempExcelImport"
' Dann Deine Excel-Tabelle importieren
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, \_
 TempExcelImport, "C:\Temp\DeineDatei.xls", True
' und jetzt die Noten in Deiner Access-Tabelle anpassen
DoCmd.RunSQL "UPDATE DeineAccessTabelle INNER JOIN TempExcelImport " \_
 & " ON DeineAccessTabelle.Keyfeld = TempExcelImport.Keyfeld " \_
 & " SET DeineAccessTabelle.Note = TempExcelImport.Note"

So ungefähr eben. Kommst Du damit weiter?

Gruß, Manfred

Das wäre dann die Frage. Hast Du ein Formular mit Button
drauf? Hast Du immer die gleiche Excel-Tabelle am gleichen
Ort, oder willst Du die per Dialog auswählen?

Der Code wäre dann relativ einfach, der Kern ist ein
Dreizeiler:

’ temporäre Excel-Import-Tabelle (in Access-DB) löschen
DoCmd.RunSQL „DROP TABLE TempExcelImport“
’ Dann Deine Excel-Tabelle importieren
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, _
TempExcelImport, „C:\Temp\DeineDatei.xls“, True
’ und jetzt die Noten in Deiner Access-Tabelle anpassen
DoCmd.RunSQL „UPDATE DeineAccessTabelle INNER JOIN
TempExcelImport " _
& " ON DeineAccessTabelle.Keyfeld = TempExcelImport.Keyfeld
" _
& " SET DeineAccessTabelle.Note =
TempExcelImport.Note“

So ungefähr eben. Kommst Du damit weiter?

Gruß, Manfred

Danke Manfred,

ich habe 3 Formulare, auf denen jeweils ein Button soll. Da es nicht immer die gleiche Exceltabelle ist, bräuchte ich vielleicht dieses Windowsfenster, um die Datei auszuwählen. Ich bekomme pro Accessspalte (in einer Tabelle ca. 8 Spalten) eine Exceltabelle.

Ich bräuchte dringend deine Hilfe, da ich einfach nicht weiterkomme.
Diesen Code müßte ich dann beim Button, „beim Klicken“ hinterlegen, richtig?

Gruß Emma