Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Funkcja wywoływania VBA przez VBA i ADO

Pobierz wartość zwracaną przez funkcję za pomocą OLEDB

Szukałem tego wysoko i nisko, ale w końcu sam rozwiązałem problem.
Moje rozwiązanie jest w VBScript, ale przedstawiłem je w (nieprzetestowanym) kodzie poniżej.

Sztuczka polega na tym, że pierwszy parametr to wartość zwracana .

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wstawianie dat przed rokiem 1950 w Oracle

  2. VARCHAR(MAX) kontra VARCHAR(n) w Oracle

  3. Manipulowanie kolekcjami

  4. PDO_OCI - w pole kloba

  5. Zaktualizuj za pomocą wyzwalacza po wstawieniu na tym samym stole