Readdy Write  
0,00 €
Your View Money
Views: Count
Self 20% 0
Your Content 60% 0

Users by Links 0
u1*(Content+Views) 10% 0
Follow-Follower 0
s2*(Income) 5% 0

Count
Followers 0
Login Register as User

Access: Excel Datei automatisch einlesen

09.12.2019 (👁14149)


Das folgende vba Code Beispiel zeigt, wie man unter Microsoft Access automatisch komplette Excel-Dateien importiert.

Import Formular

Hierzu habe ich ein Access Eingabe Formular mit einem Button in der Access Datenbank vorbereitet.

Der Button importiert mit vba Code dann das Excel Blatt.

Excel-Datei zum Importieren

Beim Excel sollten die Daten in Zelle A1 beginnen und in der ersten Zeile sollten die gleichen Spaltenbezeichnungen vorliegen, wie in der Import-Tabelle unter Access

Access-Import Tabelle

Mit dem vba Import Code werden die Daten direkt in die richtige Interne Tabelle in Access kopiert.

Mit einer definierten Import-Tabelle werden die Strukturen und Felder definiert. Das heißt, dass der Datentyp welcher hier in einem Feld vorliegt, dem Inhalt der Excel Zellen entsprechen sollte.

Ansonsten werden die nicht-passenden Daten als Importfehler unterdrückt und somit entfallen.

Vba Code zum Importieren von Excel Daten

Automatische Importiern.

Im ersten Schritt muss die Import-Tabelle geleert werden.

Hierzu verwendet man die DELETE Transact SQL

CurrentDb.Execute "DELETE * FROM _Import"

Anschliessend gilt unter Access der Excel Import mit TransferSpreadSheet

DoCmd.TransferSpreadsheet acImport, , TableName:="_Import", FileName:=sPath & "\" & sFilename, HasFieldNames:=True

Option Compare Database

Option Explicit On

Private Sub BtnImport_Click()

    '-----------< BtnImport_Click() >-----------

    '< get Filename >

    Dim sFilename As String

    sFilename = tbxFilename.Value

    Dim sPath As String

    sPath = CurrentProject.Path

    '</ get Filename >

    '--< Import_code_vba >--

    '*Delete old Import_Data

    CurrentDb.Execute "DELETE * FROM _Import"

    DoCmd.TransferSpreadsheet acImport, , TableName:="_Import", FileName:=sPath & "\" & sFilename, HasFieldNames:=True

    '--</ Import_code_vba >--

    MsgBox "Excel Data imported to _Import Table"

    '-----------</ BtnImport_Click() >-----------

End Sub

Die Datei ist als Beispiel zum Download bereit

Daten Beispiel zum Importieren von Excel Daten.

Dabei ist darauf zu achten, dass die richtigen Spaltenformate angewandt werden.

Das heißt, das Zahlen als Zahlen, Datum, Sonderformate, Text-Formate immer richtig eingelesen werden

Col1_Text

Col_Number

col_Date

col_Empty

col_Number_Text

ABC

1

01.01.1999

1

DE

2

02.02.1998

2

E

3

31.12.2019

3

F

3

G

4

H

4

xx

11

xx

9

xx

10

xx

11

xxxx

12

13

14

15

16

to the End

17

31.12.2020

17