sql >> Databáze >  >> RDS >> Oracle

Funkce volání VBA přes VBA a ADO

Získejte návratovou hodnotu funkce pomocí OLEDB

Hledal jsem to vysoko i nízko, ale nakonec jsem problém vyřešil sám.
Moje řešení je ve VBScriptu, ale reprezentoval jsem ho v (netestovaném) kódu níže.

Trik je v tom, že první parametr je návratová hodnota .

Private Sub test()
Dim Oracon As ADODB.Connection
Dim cmd As New ADODB.Command
Dim param1 As New ADODB.Parameter
Dim param0 As New ADODB.Parameter
Dim objErr As ADODB.Error

Set Oracon = CreateObject("ADODB.Connection")
mujuser = "xxxx"
mujPWD = "xxxxx"

  strConn = "UID=" & mujuser & ";PWD=" & mujPWD & ";driver={Microsoft ODBC for Oracle};" & _
              "SERVER=xx.xxx;"
Oracon.ConnectionString = strConn
Oracon.Open
cmd.ActiveConnection = Oracon
 cmd.CommandText = "el_test"
   cmd.CommandType = adCmdStoredProc

Set param0 = cmd.CreateParameter("P0", adLongVarChar, adParamReturnValue, 256)
Set param1 = cmd.CreateParameter("P1", adLongVarChar, adParamInput, 256)
cmd.Parameters.Append param0
cmd.Parameters.Append param1

cmd.Execute

Dim result As String
result = param0.Value  ' Use the variable you set. Same as cmd.Parameters(1).Value '

End Sub


  1. mysql GROUP_CONCAT

  2. Jak zajistit, aby Django fungovalo s nepodporovanými ovladači MySQL, jako je gevent-mysql nebo ovladač MySQL společnosti Concurrence?

  3. PHP krátké generování jedinečného ID pomocí auto_increment?

  4. Oracle:zadání výchozí hodnoty pro sloupec typu objektu