ich habe folgendes Problem:
Daten, die in Access erstellt werden, müssen in Excel ausgewertet werden. Der Name der Access-Datei ändert sich, die Struktur aber nicht.
Ich habe ein Makro (s.u.) erstellt (aufgezeichnet und anschließend editiert), was den Dateinamen mit GetOpenFile in eine Variable liest und diese Variable dann bei dem Importvorgang überall einsetzt.
Dummerweise kommt immer die Fehlermeldung, dass die Datei (die in der Variable steht / Kontrolle durch MsgBox) nicht gefunden wurde. Es wird sogar eine Alternativdatei angeboten, die den gleichen Namen trägt.
Ich komm nicht weiter ... bitte helft mir!
----------------------
Das Makro: (Dateivariable ist 'datei')
______________________
Sub Import()
datei = Application.GetOpenFilename
MsgBox datei
With ActiveSheet.QueryTables.Add(Connection:=Array( _
"OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=datei;Mode=Share Deny Write;Extended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLED" _
, _
"B:Database Password="""";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:G" _
, _
"lobal Bulk Transactions=1;Jet OLEDB:New Database Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=F" _
, _
"alse;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False" _
), Destination:=Range("A1"))
.CommandType = xlCmdTable
.CommandText = Array("Drops")
.Name = "Daten"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.SourceDataFile = datei
.Refresh BackgroundQuery:=False
End With
End Sub