Oracle objekttyper är injicerbara i VBA , eller Visual Basic for Applications , för att skapa funktionella tillämpningar , såsom kunder och beställningar , som databasobjekt . De objekttyper från Oracle är mer flexibla eftersom de kan arbeta med komplexa uppgifter , såsom ljud , bilder och video . Din VBA-projektet integreras med Oracle är nu även kompatibelt med Java , PHP , SQL och PL /SQL , eftersom Oracle objekten är alla stöds av dessa programmeringsspråk och plattformar databas . Instruktioner
1
Ladda ner och installera Microsoft Data Access Components om du använder Visual Basic 5.0 . För att ansluta Oracle med VBA , två ActiveX Data Objects , eller ADO , är element som behövs - en tabell ( adooracle ) och en lagrad procedur ( adoinsert )
2
Mata in följande kod för att skapa dina data . tabellen heter " adooracle : "
CREATE tABLE adooracle (
item_number NUMMER ( 3 ) PRIMARY KEY ,
depot_number NUMMER ( 3 ) ) ,
3
Infoga följande kod för att skapa Oracle procedur kallad " adoinsert . " Detta förfarande kommer att extrahera data från " adooracle " bord .
Skapa eller ersätta FÖRFARANDE adoinsert (
insnum AV ANTAL , outnum OUT NUMMER ) katalog
IS
BEGIN
INSERT INTO adooracle
( Item_Number , Depot_Number )
VÄRDEN
( insnum , 16 ) ;
outnum : = insnum /2 ,
END ,
/
4
Öppna ett nytt projekt i Visual Basic och lägg en " referens " till Microsoft ActiveX Data Objects biblioteket implementera Oracle procedur . Mata in följande kontroller på formen :
Kontroll - Button , Button , Textruta , Etikett
Namn - cmdCheck , cmdSend , txtInput , lblInput
Text /Caption - Kontrollera , Sänd , Ingång
5
Välj "Alternativ" på Verktyg- menyn, klicka på " Standard Full Module View " och klicka sedan på " OK . " Det låter dig se alla dina projekt koden . Klistra in koden nedan i din kod fönstret för att köra Oracle projektet .
Option Explicit
Dim Cn Som ADODB.Connection
Dim CPw1 Som ADODB.Command
Dim CPw2 Som ADODB.Command
Dim Rs Som ADODB.Recordset
Dim Conn As String
Dim QSQL As String
Private Sub cmdCheck_Click ( ) katalog
CPw1 ( 0 ) = Val ( txtInput.Text ) katalog
Set Rs = CPw1.Execute
MsgBox " Item_Number = " & Rs ( 0 ) & " . Depot_Number = " & Rs ( 1 ) &" . "
Rs.Close
End Sub
Private Sub cmdSend_Click ( ) katalog
CPw2 ( 0 ) = Val ( txtInput.Text ) katalog
CPw2.Execute
MsgBox " Return värde från lagrade proceduren är " & CPw2 ( 1 ) & " . "
End Sub
Private Sub Form_Load ( ) katalog
" Du kommer att behöva byta ut " * " med lämpliga värden
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 Från adooracle Där " _
& " item_number = ? "
Set CPw1 = Ny ADODB.Command
CPw1
. ActiveConnection = Cn
. CommandText = QSQL
. CommandType = adCmdText
. Parameters.Append . CreateParameter ( , adInteger , adParamInput ) katalog
End With
QSQL = " adoinsert "
Set CPw2 = Ny ADODB.Command
CPw2
. ActiveConnection = Cn
. CommandText = QSQL
. CommandType = adCmdStoredProc
. Parameters.Append . CreateParameter ( , adInteger , adParamInput ) katalog
. Parameters.Append . CreateParameter ( , adDouble , adParamOutput ) katalog
End med
End Sub
Private Sub Form_Unload ( Cancel As Integer ) katalog
Cn.Close
Set cn = Nothing
Set CPw1 = Nothing
Set CPw2 = Nothing
End Sub