Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Mehrere Variable in VBA SQL

Mehrere Variable in VBA SQL
07.05.2014 10:19:27
Andy
Hallo zusammen,
ich versuche mich seit einigen Tagen, eine Datenbankabfrage aus eiem externen System (AS 400) in Excel zu integrieren. Hierbei soll die Auswahl der Datensätze über eine vorherige Eingabe von Daten erfolgen (Eingabe der Daten in Tabelle "Abfrage" D7 und D8, Ausgabe der Daten ind Tabelle "Datentabelle").
Jedoch erhalte ich bei dem Befehl ".Refresh BackgroundQuery:=False" immer die Fehlermeldung "Laufzeitfehler '1004': SQL-Syntaxfehler". Ich vermute, das ich bei dem Integrieren der Variablen im SQL-Strin einen Fehler habe, finde den aber nicht. Anbei der Komplette Sub:
Sub data_query()
Dim command_sql, host, host_user, PW, library, conection As String, von, bis As Integer
von = Range("D7").Value
bis = Range("D8").Value
command_sql = "SELECT TPKUSR, TPDTKE, Sum(PTPKMEN) as [Menge], Sum(tptdau/3600) as [Stunden], Sum(tpkmen)/Sum(tptdau)*3600 as DS " & _
"FROM xxx.xxx.PHISTTP PHISTTP " & _
"WHERE (TPKONZ='WGL') AND (TPFIRM='001') AND TPDTE>= " & bis & " And TPDTE "group by tpkusr, tpdtke " & _
"order by tpkusr, tpdtke, Menge, Stunden, DS "
host = "xxx"
host_user = "xxx"
PW = "xxx"
library = "xxx"
conection = "ODBC;DRIVER={iSeries Access ODBC Driver};UID=" & host_user & _
";PWD=" & PW & ";SYSTEM=" & host & ";DBQ=" & library & ";DFTPKGLIB=QGPL;" & _
"LANGUAGEID=ENU;PKG=QGPL/DEFAULT(IBM)," & _
"2,0,1,0,512;SIGNON=1"
With Sheets("Datentabelle").QueryTables.Add(Connection:=conection, Destination:=Sheets("Datentabelle").Range("A3"))
.CommandText = command_sql
.Refresh BackgroundQuery:=False
End With
Danke.
Gruss Andy

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Sind von und bis Datum, Text oder Zahlen? (owT)
07.05.2014 10:55:53
und

AW: Sind von und bis Datum, Text oder Zahlen? (owT)
07.05.2014 12:34:31
und
Hi,
von und bis sind Zahlen.

AW: Sind von und bis Datum, Text oder Zahlen? (owT)
07.05.2014 12:46:14
und
Hallo Andy,
Dann sehe ich im Moment keinen syntaktischen Fehler im SQL.
Drucke mal, nach dem Konstruieren, mit (Debug.Print command_sql) den Inhalt in ein Direktfenster aus, kopiere diesen SQL und versuche über ein SQL-Navigator o.ä. den Befehl direkt an die DB abzusetzen.
Gruess Hansueli

AW: Sind von und bis Datum, Text oder Zahlen? (owT)
07.05.2014 15:33:15
und
Hallo,
Vielen Dank trotzdem. Habe das SQL nun in MS Qery-Manager eingesetzt, entsprechend angepasst(anführungszeichen gelöschet, Zeilenzeichen entfernt usw) und rufe per VBA nur noch MS Query auf. Nun funktioniert es, und ich bekomme alle Daten zurück.
Gruss Andy

Anzeige
.Refresh BackgroundQuery:=False
07.05.2014 11:32:29
Rudi
Hallo,
das QueryTables-Objekt kennt nur die Eigenschaft BackgroundQuery.
fehlen hier nicht [] um DS?
....)*3600 as DS "
Gruß
Rudi

AW: .Refresh BackgroundQuery:=False
07.05.2014 12:49:00
Andy
Hi,
ja, fehlt zwar (Danke für den Hinweis)aber löst das Problem nicht.

322 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige