ich möchte gerne eine tabelle aus access nach excel importieren.
ich habe mir den code mit dem makro rekorder auf genommen und ihn etwas abgeändert so
das ich hierraus eine funktion machen kann.
aber es funtzt nicht...( im einzel schritt steigt er bei .Refresh BackgroundQuery:=False aus)
Sub MDBtoTabelle(strTabelle As String, strMDB As String)
Dim strtempFolder As String, strMDBPlus As String, strMDBinkl As String
If Worksheets("Prog").Cells(1, 1).Value = "Local" Then
strtempFolder = ThisWorkbook.path & "\Daten"
Else
strtempFolder = Worksheets("Prog").Cells(3, 1).Value
End If
strMDBPlus = "\" & strMDB
strMDBinkl = "\" & strMDB & ".mdb"
With ActiveSheet.QueryTables.Add(Connection:=Array( _
"OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source= _
strtempFolder & strmdbinkl" _
, _
";Mode=Share Deny Write;Extended Properties="""";Jet OLEDB:System database="""";Jet _
OLEDB:Registry Path="""";Jet OLEDB:Database Passw" _
, _
"ord="""";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global _
Partial Bulk Ops=2;Jet OLEDB:Global Bulk Trans" _
, _
"actions=1;Jet OLEDB:New Database Password="""";Jet OLEDB:Create System Database=False; _
Jet OLEDB:Encrypt Database=False;Jet OLEDB:D" _
, _
"on't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet _
OLEDB:SFP=False" _
), Destination:=Range("A1"))
.CommandType = xlCmdTable
.CommandText = Array(strTabelle)
.Name = strMDB
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.SourceDataFile = strtempFolder & strMDBinkl
.Refresh BackgroundQuery:=False
End With
End Sub
kann mir jemand helfen?
gruß
swen