Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
700to704
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
700to704
700to704
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Kriterien aus Abfrage von AS400 mit VBA setzen

Kriterien aus Abfrage von AS400 mit VBA setzen
25.11.2005 13:56:54
AS400
Hallo,
ich habe eine Abfrage auf eine externe Datenquelle gebastelt(AS400) und habe über den Query Assistenten bereit Daten gefiltert!
Jetzt ist meine Vision, dass ich im Kopf des Blatte Bestimmte Kriterien habe,
wie zum Beispiel ein Jahr oder ein Monat und diese Zellen als "Filterkriterien"
herangezogen werden!! Der Makrorekorder bringt mich da nicht wirklich weiter, weil zwar die Vebindungsdaten aufgezeichnet werden, aber nicht die "Filterkriterien" Hier mal der Code aus dem Makrorekorder, vieleicht hat ja jemand eine Idee!
Die Bibliothek auf der AS400 heißt: CTRL_HI05
und die Datei heißt: SD_STAT06
das Monatsfeld in der Datei heißt MMX
so und hier nun wirklich der Code:
With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
"ODBC;DRIVER={Client Access ODBC Driver (32-bit)};UID=TR142ROESE;SYSTEM=UNNASPED;DBQ=QGPL CTRL_HI05;DFTPKGLIB=QGPL;XLATEDLL=;LANGUAGE" _
), Array( _
"ID=ENU;SORTTABLE=;TRACEFILENAME=C:\Dokumente und Einstellungen\Gellermann\Eigene Dateien\IBM\Client Access\Service\Trace-Dateie" _
), Array( _
"n;PKG=QGPL/DEFAULT(IBM),2,0,1,0,512;QAQQINILIB=;DESC=Client Access Express ODBC-Datenquelle;TRANSLATE=1;" _
)), Destination:=Range("A1"))
.CommandText = Array( _
"SELECT SD_STAT06.FA, SD_STAT06.NDL, SD_STAT06.KZ, SD_STAT06.KST_Z, SD_STAT06.LAND, SD_STAT06.REL, SD_STAT06.REL_BEZ, SD_STAT06.PART_NR, SD_STAT06.PARTNER, SD_STAT06.SDG_NR, SD_STAT06.A_KDNR, SD_STAT06" _
, _
".A_NAME, SD_STAT06.A_LAND, SD_STAT06.A_PLZ, SD_STAT06.A_ORT, SD_STAT06.A_STR1, SD_STAT06.A_STR2, SD_STAT06.A_LAND_ABW, SD_STAT06.A_PLZ_ABW, SD_STAT06.A_ORT_ABW, SD_STAT06.E_KDNR, SD_STAT06.E_NAME, SD_" _
, _
"STAT06.E_LAND, SD_STAT06.E_PLZ, SD_STAT06.E_ORT, SD_STAT06.E_STR1, SD_STAT06.E_STR2, SD_STAT06.E_LAND_ABW, SD_STAT06.E_PLZ_ABW, SD_STAT06.E_ORT_ABW, SD_STAT06.F_KDNR, SD_STAT06.F_NAME, SD_STAT06.F_LAN" _
, _
"D, SD_STAT06.F_PLZ, SD_STAT06.F_ORT, SD_STAT06.F_STR1, SD_STAT06.F_STR2, SD_STAT06.FRK_ORI, SD_STAT06.FRK_TXT, SD_STAT06.A_BORDNR, SD_STAT06.E_BORDNR, SD_STAT06.JJJJX, SD_STAT06.MMX, SD_STAT06.TTX, SD" _
, _
"_STAT06.WOTAG, SD_STAT06.KW, SD_STAT06.A_REL, SD_STAT06.E_REL, SD_STAT06.NV_FZG, SD_STAT06.SDG, SD_STAT06.KG_TATS, SD_STAT06.KG_FRPF, SD_STAT06.KG_FR_ERF, SD_STAT06.KGFR_KD, SD_STAT06.KGFR_SPED, SD_ST" _
,,)
.Name = "Abfrage von SD_STAT06_4"
.FieldNames = True
.RowNumbers = False
.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
End Sub
Sehr merkwürdig find ich schon, dass der Teil ab " .CommandText = Array( _"
schon "rot/falsch" dargestellt wird, obwohl aufgezeichnet!
Vieleicht hat ja jemand eine Idee!
Danke
tor

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kriterien aus Abfrage von AS400 mit VBA setzen
25.11.2005 15:35:15
AS400
Hallo Röse
IMHO könnte die rote Befehlszeile (Array) zuviele Zeichen beinnhalten (1057).
Gruss Werner
AW: Kriterien aus Abfrage von AS400 mit VBA setzen
28.11.2005 22:09:51
AS400
Hallo tor,
Das SQL statement ist unvollständig.
Es fehlt zumindest die FROM clause.
Beispiel für Deine ersten 4 Felder müsste heissen
"SELECT x.FA, x.NDL, x.KZ, x.KST_Z FROM SD_STAT06 x"
Kannst Du den SQL isolieren (nicht aufzeichnen) und hier reinstellen ?
Gruss Hansueli
Probleme mit Syntax
25.11.2005 17:20:32
Röse
Hallo,
bin jetzt schon etwas weiter, habe aber jetzt Probleme sie Variable SQL syntaktisch
richtig zu verarbeiten! Das hier geht jedenfalls nicht, weiß jemand rat?
"WHERE (SD_STAT06.NDL='142') AND (SD_STAT06.MMX= 'SQL')" _
SQL hab ich weiter oben als SQL = "05" definiert
Danke
tor
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige