padawan
02-07-10, 12:20
Hallo,
V5R4 und ADO
Ich habe wie in diesem Forum beschrieben in der Qry bei Sätze auswählen eine Variable gesetzt --> WVLDAT LE :VAR1 --> dabei hat das Feld WVLDAT das Format Decimal 6 0
Folgender Befehl in der Befehlszeile auf der AS400 funktioniert:
STRQMQRY QMQRY(TRUMPFH/TTRWLSVST1) OUTPUT(*OUTFILE) OUTFILE(TRUMPFH/TTRWLSVST1) ALWQRYDFN(*YES) SETVAR((VAR1 100626))
Jetzt möchte ich diesen Befehl über ADO aufführen. In ADO habe ich folgendes gemacht, wobei STRQMQRY nicht funktioniert:
datbb = "26.06.2010"
t = Left(datbb, 2)
m = Mid(datbb, 4, 2)
j = Right(datbb, 2)
datbb = j & m & t
'datb = "X'0" & datbb & "C'"
VAR1 = datb 'VAR1 ist jetzt 100626
'************************************************* ************
'Daten holen
'************************************************* ************
Dim cnn As ADODB.Connection
Dim con_str AsString
Dim CallCmd AsNew ADODB.Command
cnn = New ADODB.Connection
VAR99 = "STRQMQRY QMQRY(TRUMPFH/TTRWLSVST1) OUTPUT(*OUTFILE) OUTFILE(TRUMPFH/TTRWLSVST1) ALWQRYDFN(*YES) SETVAR((VAR1 " & VAR1 & "))"
'anderer Versuch
'VAR99 = "STRQMQRY QMQRY(TRUMPFH/TTRWLSVST1) OUTPUT(*OUTFILE) OUTFILE(TRUMPFH/TTRWLSVST1) ALWQRYDFN(*YES) SETVAR((VAR1 ('''' *CAT " & VAR1 & " *CAT '''')))"
' oder SETVAR((VAR1 ('''' *CAT &VAR1 *CAT '''')))
con_str = "Driver={iSeries Access ODBC Driver};System=ICHAS;Uid=TRUMPFH;Pwd=tobias;"
cnn.Open(con_str)
CallCmd = New ADODB.Command
OnErrorResumeNext
CallCmd.CommandText = VAR99
CallCmd.ActiveConnection = cnn
CallCmd.Execute(cnn)
cnn.Close()
Irgendwie übergebe ich die Variable bei SETVAR nicht korrekt. Was mache ich falsch?
Vielen Dank.
Gruss
Tobias
V5R4 und ADO
Ich habe wie in diesem Forum beschrieben in der Qry bei Sätze auswählen eine Variable gesetzt --> WVLDAT LE :VAR1 --> dabei hat das Feld WVLDAT das Format Decimal 6 0
Folgender Befehl in der Befehlszeile auf der AS400 funktioniert:
STRQMQRY QMQRY(TRUMPFH/TTRWLSVST1) OUTPUT(*OUTFILE) OUTFILE(TRUMPFH/TTRWLSVST1) ALWQRYDFN(*YES) SETVAR((VAR1 100626))
Jetzt möchte ich diesen Befehl über ADO aufführen. In ADO habe ich folgendes gemacht, wobei STRQMQRY nicht funktioniert:
datbb = "26.06.2010"
t = Left(datbb, 2)
m = Mid(datbb, 4, 2)
j = Right(datbb, 2)
datbb = j & m & t
'datb = "X'0" & datbb & "C'"
VAR1 = datb 'VAR1 ist jetzt 100626
'************************************************* ************
'Daten holen
'************************************************* ************
Dim cnn As ADODB.Connection
Dim con_str AsString
Dim CallCmd AsNew ADODB.Command
cnn = New ADODB.Connection
VAR99 = "STRQMQRY QMQRY(TRUMPFH/TTRWLSVST1) OUTPUT(*OUTFILE) OUTFILE(TRUMPFH/TTRWLSVST1) ALWQRYDFN(*YES) SETVAR((VAR1 " & VAR1 & "))"
'anderer Versuch
'VAR99 = "STRQMQRY QMQRY(TRUMPFH/TTRWLSVST1) OUTPUT(*OUTFILE) OUTFILE(TRUMPFH/TTRWLSVST1) ALWQRYDFN(*YES) SETVAR((VAR1 ('''' *CAT " & VAR1 & " *CAT '''')))"
' oder SETVAR((VAR1 ('''' *CAT &VAR1 *CAT '''')))
con_str = "Driver={iSeries Access ODBC Driver};System=ICHAS;Uid=TRUMPFH;Pwd=tobias;"
cnn.Open(con_str)
CallCmd = New ADODB.Command
OnErrorResumeNext
CallCmd.CommandText = VAR99
CallCmd.ActiveConnection = cnn
CallCmd.Execute(cnn)
cnn.Close()
Irgendwie übergebe ich die Variable bei SETVAR nicht korrekt. Was mache ich falsch?
Vielen Dank.
Gruss
Tobias