Oracle objekttyper injiserbare i VBA eller Visual Basic for Applications , for å skape funksjonelle bruksområder , for eksempel kunder og bestillinger , som databaseobjekter . Objekttypene fra Oracle er mer fleksible fordi de kan arbeide med komplekse data , for eksempel lyd , bilder og video . VBA-prosjektet integrert med Oracle er nå også kompatibel med Java , PHP, SQL og PL /SQL fordi Oracle gjenstander er støttet av disse programmeringsspråk og database plattformer . Instruksjoner
en
Last ned og installer Microsoft Data Access Components hvis du bruker Visual Basic 5.0 . Å koble Oracle med VBA , to ActiveX Data Objects , eller ADO , er elementer som trengs - en tabell ( adooracle ) og en lagret prosedyre ( adoinsert )
2
Input følgende kode for å lage dine data . tabell kalt " adooracle : "
CREATE tABLE adooracle (
item_number NUMMER ( 3 ) PRIMARY KEY , etter
depot_number NUMMER ( 3 ));
3
Sett inn følgende kode for å opprette Oracle prosedyre som kalles " adoinsert . " Denne fremgangsmåten vil trekke ut data fra " adooracle " tabellen .
CREATE OR REPLACE PROSEDYRE adoinsert (
insnum i antall, outnum OUT NUMBER )
IS
< p > BEGIN
INSERT INTO adooracle
( Item_Number , Depot_Number )
VERDIER
( insnum , 16 ) ;
outnum : = insnum /2;
END ;
/
4
Åpne et nytt prosjekt i Visual Basic og legge til en "Reference " til Microsoft ActiveX data Objects biblioteket til implementere Oracle prosedyre . Input følgende kontroller i skjemaet :
Kontroll - Button , Button , Tekstboks , Label
Name - cmdCheck , cmdSend , txtInput , lblInput
Tekst /Caption - Sjekk , Send , Inngang
5
Velg "Options" fra Verktøy-menyen , klikk på " Standard Full Module Vis " og deretter "OK ". Dette vil la deg se alle dine prosjekt kode . Lim inn koden nedenfor i koden vinduet for å kjøre Oracle prosjektet .
Option Explicit
Dim Cn Som ADODB.Connection
Dim CPw1 Som ADODB.Command
< p> Dim CPw2 Som ADODB.Command
Dim Rs Som ADODB.Recordset
Dim Conn As String
Dim QSQL As String
Private Sub cmdCheck_Click ( )
CPw1 ( 0 ) = Val ( txtInput.Text )
Sett 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 verdi fra lagrede prosedyren er " & CPw2 ( 1 ) & " . "
End Sub
Private Sub Form_Load ( )
' Du må erstatte " *" med de aktuelle verdiene
Conn = " UID = ***** ; . PWD = ** ** ; DRIVER = { Microsoft ODBC for Oracle }; "_
&" SERVER = ***** ; "
Set Cn = Ny ADODB.Connection
med Cn
. ConnectionString = Conn
. CursorLocation = adUseClient
. Åpen
End With
QSQL = "Velg Item_Number , Depot_Number Fra adooracle Hvor "_
&" item_number = ? "
Set CPw1 = Ny ADODB.Command
p Med CPw1
. ActiveConnection = Cn
. CommandText = QSQL
. CommandType = adCmdText
. Parameters.Append . CreateParameter ( , adInteger , adParamInput )
End With
< p > QSQL = " adoinsert "
Set CPw2 = Ny ADODB.Command
p Med CPw2
. ActiveConnection = Cn
. CommandText = QSQL
. CommandType = adCmdStoredProc
. Parameters.Append . CreateParameter ( , adInteger , adParamInput )
. Parameters.Append . CreateParameter ( , adDouble , adParamOutput )
End med
End Sub
Private Sub Form_Unload ( Cancel As Integer )
Cn.Close
Set Cn = Ingenting
Sett CPw1 = Ingenting
Set CPw2 = Ingenting
End Sub