Anzeige
Archiv - Navigation
336to340
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
336to340
336to340
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA >> SQL

VBA >> SQL
13.11.2003 11:11:30
Michael
Hallo zusammen,

ich habe folgendes Problem. Ich möchte in einem Skript Select abfragen generieren und nutze hierzu Variable die in einem Sheet gesetzt werden. Allerdings bekomme ich beim zusammensetzen des QuerryTables immer den Fehler 450, Anzahl der Argumente..... Ich habe mir schon alles Ausgeben lassen und konnte keinen Fehler finden.

'commandtext
sel = "select "
was = Range("c5")
from = " from " & Range("c6")
'tabl = Chr(10) & Range("c7")

'ODBC
con = ("Connection:=")
odb = Chr(34) & ("ODBC;")
ddsn = ("DSN=") & Range("c8") & ";"
uuid = ("UID=") & Range("c9") & ";"
ppwd = ("PWD=") & Range("c10") & Chr(34) & ","
dest = ("Destination:=")
rang = ("Range") & Chr(40) & Chr(34) & "a1" & Chr(34) & Chr(41)

With ActiveSheet.QueryTables.Add & Chr(40) & con & odb & ddsn & uuid & ppwd & dest & rang & Chr(41)
.CommandText = sel & was & from

gebe ich das 'With ActiveSheet.QueryTables.Add_(Connection:="ODBC;DSN=test;UID=test;PWD=test", Destination:=Range("a1"))
so an funktioniert es.

Vielleicht weiss jemand von euch eine Lösung

Vielen Dank
Michael

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA >> SQL
13.11.2003 11:58:11
Nayus
Hi,
wie die Fehlermeldung sagt, können die Argumente im String nicht aufgelöst werden.
Versuch's doch mal mit:

With ActiveSheet.QueryTables.Add(Connection:=odb & ddsn & uuid & ppwd, Destination:=Range("A1"), Sql:=sel & was & from)

So funktioniert es auf jeden Fall bei mir.

Viel Erfolg,
Nayus
AW: VBA >> SQL
13.11.2003 12:20:44
Michael
Danke Nayus,

aber so bekomme ich leider nur einen 1004 Fehler : "Anwendungs oder Objektdefinierter Fehler" zurück

Michael
AW: VBA >> SQL
13.11.2003 12:29:12
Nayus
Hi,
also dann hier das komplette Makro, das ich zu Testzwecken erstellt habe.
Bei funktioniert es (Mit ORACLE ODBC-Treiber gegen eine ORACLE-DB).
Bitte prüfen:
Stehen in den Zellen die korrekten Werte?


Sub crSelect()
Dim odb, ddsn, uuid, ppwd, sel, was, from As String
sel = "select "
was = Range("c5")
from = " from " & Range("c6")
odb = ("ODBC;")
ddsn = ("DSN=") & Range("c8") & ";"
uuid = ("UID=") & Range("c9") & ";"
ppwd = ("PWD=") & Range("c10")
With ActiveSheet.QueryTables.Add _
(Connection:=odb & ddsn & uuid & ppwd, Destination:=Range("A1"), _
Sql:=sel & was & from).Refresh
End With
End Sub


Viel Erfolg,
Nayus
Anzeige
AW: VBA >> SQL
13.11.2003 15:17:00
Michael
Danke Nayus,

jetzt funktioniert es.
Habe dooferweise vor die Variable odb ein CHR(34) gesetzt..... so kann das natürlich nicht gehen.

nochmals Danke

Michael

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige