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:
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.