Hallo, ich hoffe ihr könnt mir helfen!
Ich möchte mit VBA ein SQL Befehl ausführen. Dafür habe ich folgenden Code bentzt:
With ActiveSheet.QueryTables.Add(Connection:=Array( _
"ODBC;DSN=xxx;UID=xxx;PWD=xxx;DBQ=xxx ;"), Destination:=Range("I22"))
.CommandText = Array( _
"SELECT * FROM (SELECT NVL(t1.mandant_1, t1.mandant_2 )FROM tabelle t1")
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
Application.CommandBars("External Data").Visible = False
in kurz Fassung.
Jetzt bekomme ich eine Fehlermeldung das er ein Type Miss Match hat.
Wenn ich für t1.mandant_2 irgendeinen String eignebe, funktioniert es ohne Probleme und wenn ich t1.mandant_1, t1.mandant_2 mir einzelnd ausgeben lasse, funktioniert das auch, wo ist das Problem????
Vielen Dank im vorraus
Gruß Torben |