tw89
19-02-10, 09:18
Guten Tag,
ich möchte mich per ADODB von MS Access aus eine Verbindung zur AS400 öffnen und anschließend eine Funktion mit mehreren Parameter aufrufen, die mir anschließend Werte zurückgibt.
Wie man eine Verbindung aufbaut, das weiß ich bereits nur das mit den Funktionen klappt noch nicht so ganz.
Hier der Code:
Public Function fct_getDataRelist(strIPAS400 As String, strIPUSER As String, strIPPASS As String)
Dim cnAS400 As ADODB.Connection, cmdAS400SQL As ADODB.Command, rsAS400 As ADODB.Recordset
Set cnAS400 = CreateObject("ADODB.Connection")
cnAS400.Provider = "IBMDA400"
cnAS400.Properties("data source") = strIPAS400
cnAS400.Properties(2) = strIPUSER
cnAS400.Properties("Password") = strIPPASS
cnAS400.Open
Set cmdAS400SQL = CreateObject("ADODB.Command")
Set rsAS400 = CreateObject("ADODB.recordset")
rsAS400.CursorType = adOpenDynamic
rsAS400.CursorLocation = adUseServer
rsAS400.LockType = adLockReadOnly
Set cmdAS400SQL.ActiveConnection = cnAS400
cmdAS400SQL.CommandText = "{call ILS_ABRUF.ILS_ADD_Abrufpack (?, ?, ?)}"
cmdAS400SQL.CommandType = adCmdText
cmdAS400SQL.Parameters.Append = cmdAS400SQL.CreateParameter("@nPackStueckId", adInteger, adParamInput)
cmdAS400SQL.Parameters.Append = cmdAS400SQL.CreateParameter("@nAbrufId", adInteger, adParamInputOutput)
cmdAS400SQL.Parameters.Append = cmdAS400SQL.CreateParameter("@nError", adInteger, adParamOutput)
Set rsAS400 = cmdAS400SQL.Execute
Do Until rsAS400.EOF = True
Debug.Print "Test - Datensätze sind vorhanden."
rsAS400.MoveNext
Loop
End Function
Wäre nett wenn mir jemand helfen könnte :(. Ist wichtig.
danke
thomas.
ich möchte mich per ADODB von MS Access aus eine Verbindung zur AS400 öffnen und anschließend eine Funktion mit mehreren Parameter aufrufen, die mir anschließend Werte zurückgibt.
Wie man eine Verbindung aufbaut, das weiß ich bereits nur das mit den Funktionen klappt noch nicht so ganz.
Hier der Code:
Public Function fct_getDataRelist(strIPAS400 As String, strIPUSER As String, strIPPASS As String)
Dim cnAS400 As ADODB.Connection, cmdAS400SQL As ADODB.Command, rsAS400 As ADODB.Recordset
Set cnAS400 = CreateObject("ADODB.Connection")
cnAS400.Provider = "IBMDA400"
cnAS400.Properties("data source") = strIPAS400
cnAS400.Properties(2) = strIPUSER
cnAS400.Properties("Password") = strIPPASS
cnAS400.Open
Set cmdAS400SQL = CreateObject("ADODB.Command")
Set rsAS400 = CreateObject("ADODB.recordset")
rsAS400.CursorType = adOpenDynamic
rsAS400.CursorLocation = adUseServer
rsAS400.LockType = adLockReadOnly
Set cmdAS400SQL.ActiveConnection = cnAS400
cmdAS400SQL.CommandText = "{call ILS_ABRUF.ILS_ADD_Abrufpack (?, ?, ?)}"
cmdAS400SQL.CommandType = adCmdText
cmdAS400SQL.Parameters.Append = cmdAS400SQL.CreateParameter("@nPackStueckId", adInteger, adParamInput)
cmdAS400SQL.Parameters.Append = cmdAS400SQL.CreateParameter("@nAbrufId", adInteger, adParamInputOutput)
cmdAS400SQL.Parameters.Append = cmdAS400SQL.CreateParameter("@nError", adInteger, adParamOutput)
Set rsAS400 = cmdAS400SQL.Execute
Do Until rsAS400.EOF = True
Debug.Print "Test - Datensätze sind vorhanden."
rsAS400.MoveNext
Loop
End Function
Wäre nett wenn mir jemand helfen könnte :(. Ist wichtig.
danke
thomas.