scaricare e installare il Microsoft Data Access Components , se si utilizza Visual Basic 5.0. Per collegare Oracle con VBA , due ActiveX Data Objects , o ADO , sono necessari elementi - una tabella ( adooracle ) e una stored procedure ( adoinsert ) economici 2
 Inserire il codice seguente per creare i tuoi dati . tavolo chiamato " adooracle : " 
 
 CREATE tABLE adooracle ( 
 
NUMERO item_number ( 3) PRIMARY KEY , Stati
 NUMERO depot_number ( 3) ) ; 
 
 3 
 Inserire il seguente codice per creare la procedura di Oracle chiamato " adoinsert . " Questa procedura consente di estrarre i dati dalla tabella " adooracle " . 
 
 CREATE OR REPLACE PROCEDURE adoinsert ( 
 
insnum IN NUMERO , outnum OUT NUMBER ) per
 IS 
 
 BEGIN 
 
 INSERT INTO adooracle 
 
 ( item_number , Depot_Number ) 
 
 VALORI 
 
 ( insnum , 16) ; 
 
 outnum : = insnum /2 ; 
 
 END; 
 
 /
 4 
 Aprire un nuovo progetto in Visual Basic e aggiungere un " riferimento " per la libreria Microsoft ActiveX Data Objects per implementare la procedura di Oracle . Inserire i seguenti controlli del form : 
 
 controllo - Button, Button , Casella di testo , etichetta 
 
 Nome - cmdCheck , cmdSend , txtInput , lblInput 
 
 Testo /Caption - Controllare , Invia , ingresso 
 5 
 scegliere "Opzioni " dal menu Strumenti, scegliere l'opzione " completo modulo visualizzazione predefinita " e poi su " OK ". Questo vi permetterà di visualizzare tutto il codice del progetto . Incollare il codice riportato di seguito nella finestra del codice per eseguire il progetto di Oracle . 
 
 Option Explicit 
 
 Dim cn As ADODB.Connection Dim 
 
 CPw1 Come 
 ADODB.Command 
 Dim CPw2 Come ADODB.Command 
 
 Dim Rs come ADODB.Recordset 
 
 Dim Conn As String Dim 
 
 QSQL As String 
 
private Sub cmdCheck_Click ( ) per
CPw1 ( 0 ) = Val ( txtInput.Text ) per
 Set rs = CPw1.Execute 
 
 MsgBox " item_number = " & Rs ( 0 ) & " . Depot_Number = " & Rs ( 1) &" . " 
 
 rs.Close 
 
 End Sub private Sub 
 
cmdSend_Click ( ) per
CPw2 ( 0 ) = Val ( txtInput.Text ) per
 CPw2.Execute 
 
 MsgBox " valore di ritorno dalla procedura memorizzata è" & CPw2 ( 1) & " . " 
 
 End Sub 
 
private Sub Form_Load ( ) per
 ' sarà necessario sostituire il "*" con i valori appropriati 
 
 Conn = " UID = ***** ; . PWD = ** ** ; DRIVER = { Microsoft ODBC per Oracle }; "_ 
 
 & " SERVER = ***** ; " 
 
 Set Cn = New ADODB.Connection 
 
 con Cn 
 
 . ConnectionString = Conn 
 
 . CursorLocation = adUseClient 
 
 . Aperto 
 
 End With 
 
 QSQL = "Seleziona item_number , Depot_Number Da adooracle Dove " _ 
 
 &" item_number = ? " 
 
 CPw1 = New ADODB.Command 
 
 CPw1 
 
 . ActiveConnection = Cn 
 
 . CommandText = QSQL 
 
 . CommandType = adCmdText 
 
. . CreateParameter Parameters.Append ( , adInteger , adParamInput ) per
 End With 
 
 QSQL = " adoinsert " 
 
 CPw2 = New ADODB.Command 
 
 CPw2 
 
 . ActiveConnection = Cn 
 
 . CommandText = QSQL 
 
 . CommandType = adCmdStoredProc 
 
. Parameters.Append . CreateParameter ( , adInteger , adParamInput ) per
. Parameters.Append . CreateParameter ( , adDouble , adParamOutput ) per
 End con 
 
 End Sub 
 
privato Form_Unload Sub ( Cancel As Integer ) per
 cn.Close 
 
 Set Cn = Nothing 
 
 CPw1 = Nothing Set 
 
 CPw2 = Nothing End Sub 
 
 
 
              
software © www.354353.com