Kann mir jemand erklären wie ich eine Access Abfrage mit einem Pfad, den ich in einer Zelle hinterlege einlese? Ich komm da nicht mehr weiter. Wenn ich die Abfrage mit dem Recorder aufzeichne funktioniert das sehr gut. Allerdings ist dann der Pfad (c:\...) fest. Ich würde gerde den Pfaf aus einer Zeller heraus lesen lassen.
Das Makro das ich aufgezeichnet habe sieht so aus:
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=Microsoft Access-Datenbank;DBQ=D:\DB_fuer_KTL.mdb;DefaultDir=D:;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;" _
, Destination:=Range("A1"))
.CommandText = Array( _
"SELECT AKL_SNR.mad_mat_no1, AKL_SNR.mal_mad_title, AKL_SNR.mad_pref_area" & Chr(13) & "" & Chr(10) & "FROM `D:\DB_fuer_KTL`.AKL_SNR AKL_SNR" _
)
.Name = "Abfrage von Microsoft Access-Datenbank_1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
End Sub
Ich denke dass es ungefähr so funktionieren sollt - was es aber nicht tut :-(
Dim DBstamm as String
DBstamm = Range("A1")
sheets("DB").select
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=Microsoft Access-Datenbank;DBQ=DBstamm;DefaultDir=D:;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;" _
, Destination:=Range("A1"))
.CommandText = Array( _
"SELECT AKL_SNR.mad_mat_no1, AKL_SNR.mal_mad_title, AKL_SNR.mad_pref_area" & Chr(13) & "" & Chr(10) & "FROM `DBstamm`.AKL_SNR AKL_SNR" _
)
.Name = "Abfrage von Microsoft Access-Datenbank_1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
End Sub
Vielleich kann mir da jemand auf die Sprünge helfen. Einlesen einer Text-Datei funktioniert so in ähnlicher Weise sehr gut.....
Gruß Stefan