Nwlapcug.com


Come inserire Oracle in VBA



Tipi di oggetti di Oracle sono iniettabili in VBA o Visual Basic per applicazioni, per creare applicazioni funzionali, ad esempio clienti e ordini di acquisto, come oggetti di database. I tipi di oggetto da Oracle sono più flessibili, perché possono lavorare con dati complessi, ad esempio audio, immagini e video. Progetto VBA integrato con Oracle è ora anche compatibile con Java, PHP, SQL e PL/SQL, perché gli oggetti di Oracle sono tutti supportati da questi linguaggi di programmazione e piattaforme di database.

Istruzioni

1

Scaricare e installare Microsoft Data Access Components, se si utilizza Visual Basic 5.0. Per connetterti Oracle con VBA, due ActiveX Data Objects o ADO, sono necessari gli elementi-- una tabella (adooracle) e una stored procedure (adoinsert).

2

Inserire il codice seguente per creare una tabella di dati chiamata "adooracle:"

CREATE TABLE adooracle (

item_number NUMBER(3) PRIMARY KEY,

depot_number NUMBER(3));3

Inserire il codice seguente per creare la routine di Oracle chiamata "adoinsert." Questa procedura verrà estrarre i dati dalla tabella "adooracle".

CREARE o sostituire procedura adoinsert (

insnum IN NUMBER, outnum OUT NUMBER)

IS

BEGIN

INSERT INTO adooracle

(Item_Number, Depot_Number)

VALUES

(insnum, 16);

outnum := insnum/2;

END;

/4

Aprire un nuovo progetto in Visual Basic e aggiungere un "riferimento" alla libreria Microsoft ActiveX Data Objects per implementare la routine di Oracle. I seguenti controlli della maschera di input:

Controllo-- Pulsante, casella di testo etichetta

Nome-- cmdSend, cmdCheck, lblInput, txtInput

Didascalia di testo - verifica, inviare, ingresso

5

Scegliere "Opzioni" dal menu Strumenti, fare clic sull'opzione "Visualizza modulo intero predefinito" e quindi fare clic su "OK". Questo vi permetterà di visualizzare tutto il codice di progetto. Incollare il codice seguente nella finestra del codice per eseguire il progetto di Oracle.

Option Explicit

Dim Cn As ADODB.Connection

Dim CPw1 As ADODB.Command

Dim CPw2 As ADODB.Command

Dim Rs As ADODB.Recordset

Dim Conn As String

Dim QSQL As String

Private Sub cmdCheck_Click()

CPw1(0) = Val(txtInput.Text)

Set Rs = CPw1.Execute

MsgBox "Item_Number = " & Rs(0) & ". Depot_Number = " & Rs(1) & "."

Rs.Close

End Sub

Private Sub cmdSend_Click()

CPw2(0) = Val(txtInput.Text)

CPw2.Execute

MsgBox "Return value from stored procedure is " & CPw2(1) & "."

End Sub

Private Sub Form_Load()

'You will need to replace the "*" with the appropriate values.

Conn = "UID=*****;PWD=****;DRIVER={Microsoft ODBC for Oracle};" _

& "SERVER=*****;"

Set Cn = New ADODB.Connection

With Cn

.ConnectionString = Conn

.CursorLocation = adUseClient

.Open

End With

QSQL = "Select Item_Number, Depot_Number From adooracle Where " _

& "item_number = ?"

Set CPw1 = New ADODB.Command

With CPw1

.ActiveConnection = Cn

.CommandText = QSQL

.CommandType = adCmdText

.Parameters.Append .CreateParameter(, adInteger, adParamInput)

End With

QSQL = "adoinsert"

Set CPw2 = New ADODB.Command

With CPw2

.ActiveConnection = Cn

.CommandText = QSQL

.CommandType = adCmdStoredProc

.Parameters.Append .CreateParameter(, adInteger, adParamInput)

.Parameters.Append .CreateParameter(, adDouble, adParamOutput)

End With

End Sub

Private Sub Form_Unload(Cancel As Integer)

Cn.Close

Set Cn = Nothing

Set CPw1 = Nothing

Set CPw2 = Nothing

End Sub

Consigli & Avvertenze

  • Utilizzare "procedure" che dispongono di parametri di output e non "funzioni" quando si lavora con parametri Oracle e ADO. Funzioni vengono utilizzate per altre tecnologie di programmazione quali Java e AJAX.