Oggetti ADO
Info
Esempi
Linguaggio
Librerie
Formule
Ultimi Inseriti

 Login

 Password

ActiveX Data Objects (ADO) è un'interfaccia ad oggetti di alto livello che consente alle applicazioni in VBA di leggere, scrivere, aggiornare ed eliminare dati da un database che supporta la teconologia OLE DB.
In questo caso l'esempio è per un DB in Access; ma è interesasnte notare che non è necessario aver istallato access sul pc per poter utilizzare questi metodi.


Collegamento alla libreria ADO
Per indicare il riferimento alla libreria da utlizzare, dal menù:
Strumenti --> Riferimenti è necessario selezionare la voce Microsoft ActiveX Data Objects Recordset X.X library

DataLink
Creando il datalink ADO via codice:
FileDB = Application.ThisWorkbook.Path +"\FileDatabase.accdb"
Provider= "Microsoft.ACE.OLEDB.12.0"
DataLink = "Provider=" + Provider + ";Data Source=" + FileDB + ";Persist Security Info=False"
Per il tipo di provider, per Access, possono essere usati:
  1. 32bit: Microsoft.Jet.OLEDB.4.0
  2. 64bit: Microsoft.ACE.OLEDB.12.0

Connection
L'oggetto connection è quello che gestisce la connessione al database attraverso i suoi metodi e le sue proprietà.
Per creare a aprire la connesione:
Oppure in un unico passaggio:

Recordset
L'oggetto recordset è utilizzato generalemnte per poter eseguire le query ed accederne ai risultati, è possibile utilizzarlo anche per scrivere sulle tabelle.
Ad esempio per leggere tutti i recordo di una tabella:
Set Rs = New ADODB.Recordset
StQ = "Select * From Agenti"
Rs.Open StQ, Cn, adOpenKeyset, adLockOptimistic, adCmdText

Command
L'oggetto command consente di eseguire query su DB, ad esempio quelle di modifica che non restituiscono risultati, le query parametriche, le stored procedure.
Non sempre è necessario creare un oggetto command possiamo eseguire un comando direttamente dall'oggetto command:
Cmd.Execute "Delete from NomeTabella"
Un esempio "scolastico" di uso di un oggetto command per eseguire una query è questo:
Dim Cn As New ADODB.Connection
Dim Cmd As New ADODB.Command
Cn.Open DataLink
Set Cmd.ActiveConnection = Cn
Ccmd.CommandText = "Delete from NomeTabella"
Cmd.Execute


Altri modi per aprire una connessione

Volendo rendere indipendente il collegamento ADO dal codice (ad esempio se il codice è protetto da password) è possibile anche utilizzare un datalink esterno contantuto in un file UDL, in questo modo:
Set Cn = New ADODB.Connection
Cn.Open "File Name=" + Application.ThisWorkbook.Path + "\FileCollegamento.UDL"

In alternativa alla dichiarazione della libreria da usare gli oggetti possono essere creati anche con la funzione CreateObject, utilizzando quella che sia chiama "associazione tardiva:
Set Cn = CreateObject("ADODB.Connection")
Set T1 = CreateObject("ADODB.Recordset")
 

data4idea srls - PIva 01881000937 - info@data4idea.it