Supportnet / Forum / Datenbanken
Daten von Excel nach Access
Frage
Hallo zusammen,
ich möchte Daten aus Excel nach Access importieren. Die Exceldateien werden monatlich aktualisiert, kommen per Mail an und sollen anschließend per Knopfdruck (auf dem zum importierenden Excelblatt) in eine bestehende Tabelle in Access importiert werden.
Kann mir jemand sagen, wie sich das über VBA realisieren lässt?
Antwort 1 von Teddy7
etwa so: (stark vereinfacht)
.........Definitionen.............
´ Um auf Excel zugreifen zu können wird eine Objekt-Variable benötigt
Dim objExcel As Excel.Application
´ Tabelle tblLieferungen ansprechen
Dim ttab1 As DAO.Recordset
Dim ktab1 As String
´ Recordset anlegen
Set ttab1 = CurrentDb.OpenRecordset("Select * from tblLieferungen", dbOpenDynaset)
´ neue Excel-Instanz anlegen
Set objExcel = New Excel.Application
´ um mitverfolgen zu können, was in Excel passiert, kann Excel eingeblendet werden
´objExcel.Visible = True
´ Öffnen der Excel-Datei
xwei = " "
On Error GoTo fehlerhandler1
objExcel.Workbooks.Open xdatei, 0
objExcel.activeworkbook.Sheets(1).Select
On Error GoTo fehlerhandler
For xcol = 3 To lastcol
ttab1.AddNew
ttab1!Datum = objExcel.Cells(1, xcol).value
ttab1!KdNr = objExcel.Cells(2, xcol).value
ttab1.update
Next xcol
verlassen:
On Error Resume Next
´ alle von der Anwendung angelegten Objekte sollen auch von ihr wieder
´ zerstört werden. Deshalb hier ein Clean-Up
objExcel.Workbooks(xdatei).Close SaveChanges:=False
objExcel.Quit
Set objExcel = Nothing
ttab1.Close
Set ttab1 = Nothing
.........Definitionen.............
´ Um auf Excel zugreifen zu können wird eine Objekt-Variable benötigt
Dim objExcel As Excel.Application
´ Tabelle tblLieferungen ansprechen
Dim ttab1 As DAO.Recordset
Dim ktab1 As String
´ Recordset anlegen
Set ttab1 = CurrentDb.OpenRecordset("Select * from tblLieferungen", dbOpenDynaset)
´ neue Excel-Instanz anlegen
Set objExcel = New Excel.Application
´ um mitverfolgen zu können, was in Excel passiert, kann Excel eingeblendet werden
´objExcel.Visible = True
´ Öffnen der Excel-Datei
xwei = " "
On Error GoTo fehlerhandler1
objExcel.Workbooks.Open xdatei, 0
objExcel.activeworkbook.Sheets(1).Select
On Error GoTo fehlerhandler
For xcol = 3 To lastcol
ttab1.AddNew
ttab1!Datum = objExcel.Cells(1, xcol).value
ttab1!KdNr = objExcel.Cells(2, xcol).value
ttab1.update
Next xcol
verlassen:
On Error Resume Next
´ alle von der Anwendung angelegten Objekte sollen auch von ihr wieder
´ zerstört werden. Deshalb hier ein Clean-Up
objExcel.Workbooks(xdatei).Close SaveChanges:=False
objExcel.Quit
Set objExcel = Nothing
ttab1.Close
Set ttab1 = Nothing

