Oracle objekttyper injicerbare ind VBA eller Visual Basic for Applications , at skabe funktionelle applikationer, såsom kunder og indkøbsordrer , som databaseobjekter . De objekttyper fra Oracle er mere fleksible , fordi de kan arbejde med komplekse data, såsom lyd, billeder og video. Din VBA-projekt integreret med Oracle er nu også kompatibel med Java, PHP, SQL og PL /SQL , fordi Oracle objekter alle er understøttet af disse programmeringssprog og database platforme . Instruktioner
1
Download og installere Microsoft Data Access Components , hvis du bruger Visual Basic 5.0 . For at tilslutte Oracle med VBA, to ActiveX Data Objects eller ADO er nødvendige elementer - en tabel ( adooracle ) og en lagret procedure ( adoinsert )
2
Indtast følgende kode til at oprette dine data. tabel kaldet " adooracle : "
CREATE tABLE adooracle (
item_number NUMMER (3) PRIMARY KEY , salg
depot_number NUMMER ( 3 )),
< br > 3
Indsæt følgende kode til at oprette Oracle procedure kaldet " adoinsert ". Denne procedure vil udtrække data fra " adooracle "-tabellen .
CREATE OR REPLACE PROCEDURE adoinsert (
insnum i antal, outnum OUT NUMMER )
IS
< p > BEGIN
INSERT INTO adooracle
( Item_Number , Depot_Number )
VÆRDIER
( insnum , 16) ;
outnum : = insnum /2;
END ,
/
4
Åbn et nyt projekt i Visual Basic og tilføje en "Reference " til Microsoft ActiveX data Objects biblioteket til implementere din Oracle procedure. Input følgende kontrolelementer i formularen :
Kontrol - Knap , Button , Tekstboks , Label
Name - cmdCheck , cmdSend , txtInput , lblInput
Tekst /Caption - Kontroller , Send , Input
5
Vælg "Options" fra menuen Funktioner , klik på " Standard Full Module View ", og klik derefter på "OK". Dette vil lade dig se alle dine projekt kode. Indsæt koden nedenfor ind i din kode -vinduet til at køre din Oracle -projekt.
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 )
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 værdi fra lagret procedure er " & CPw2 (1) & " . "
End Sub
Private Sub Form_Load ()
' Du bliver nødt til at erstatte "*" med de relevante værdier
Conn = " UID = ***** , . PWD = ** ** , DRIVER = { Microsoft ODBC for Oracle }; "_
&" SERVER = ***** , "
Set Cn = Ny ADODB.Connection
med Cn
. ConnectionString = Conn
. CursorLocation = adUseClient
. Open
End With
QSQL = " Select Item_Number , Depot_Number Fra adooracle Hvor " _
&" item_number = ? "
Set CPw1 = Ny ADODB.Command
CPw1
. ActiveConnection = Cn < br >
. CommandText = QSQL
. CommandType = adCmdText
. Parameters.Append . CreateParameter ( , adInteger , adParamInput )
End With
< p > QSQL = " adoinsert "
Set CPw2 = Ny ADODB.Command
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 = Nothing
Set CPw1 = Nothing
Set CPw2 = Nothing
End Sub