Aprire un file di Access con ADO e il VB6
Aprire un file di Access da Visual Basic 6.0 e leggerne i contenuti, sia a livello di dati che di struttura stessa del database, è possibile via ADO e anche in altri modi.
Aprire un file di Access da Visual Basic 6.0 e leggerne i contenuti, sia a livello di dati che di struttura stessa del database, è possibile in vari modi.
Eccone alcuni:
1. Completamente via codice con DAO 3.6 (Direct Access Object), una libreria di funzioni per la gestione dei database molto utilizzata in passato, che però non è compatibile con il linguaggio ASP.NET (Active Server Pages) delle pagine web dinamiche di oggi;
2. Con l'ausilio di alcuni controlli nativi nel VB6 e versioni precedenti, come il controllo Data, compatibile sia con la tecnologia Jet che con ODBC, e con aggiunta di codice DAO 3.6
3. Completamente via codice con ADO (Active Data Object), una libreria di funzioni per l'accesso ai database più recente, compatibile con ASP e con ASP.NET (Active Server Pages)
4. Con l'ausilio dei nuovi controlli Active X del VB6 come l'ADO Data Control 6.0 (SP4) (OLEDB), il controllo DataBound List, il DataGrid e il DataRepeater e con l'aggiunta di codice facente uso del riferimento alla libreria esterna MSADO25.TLB (Microsoft Active X Data Object 2.5 Library) al posto del vecchio DAO.
Noi vi proponiamo in questo tutorial una soluzione mista con ADO (Active Data Object) per aprire, leggere e modificare un file di Access, quindi equivalente alla soluzione numero 4.
Il database di Access di esempio si chiama Videoteca_2000.mdb (in formato Access 2000) e la tabella che apriremo da codice è 'Tabella libri'.
Nella figura sotto la tabella è aperta normalmente dall'interno di Microsoft Access.

Apriamo ora l'ambiente di progettazione e sviluppo di Microsoft Visual Basic 6.0 (IDE o Integrated Development Environment) selezionando un nuovo progetto del tipo 'EXE Standard'.
Se facciamo clic sul menù Progetto e poi su Componenti, si aprirà la finestra di dialogo Componenti: nella scheda Controlli andiamo a selezionare la voce 'Microsoft ADO Data Controlo 6.0 (SP4) (OLEDB)' quindi facciamo clic sul pulsante 'Applica' e chiudiamo la finestra.

A questo punto, se apriamo la finestra degli strumenti, (icona a forma di chiave inglese e martello) comparirà un nuovo controllo, di nome ADO Data Control: lo selezioniamo e lo trasciniamo su Form1.
Selezioniamo ora Form1 e premiamo il tasto funzione F4, nella proprietà 'Caption' del form scriviamo: 'Apri Access DB via ADO'.

A questo punto selezioniamo il controllo ADODC1, facciamo clic con il tasto destro del mouse e dal menù a comparsa selezioniamo 'Proprietà di ADODC'.
Nella finestra di dialogo delle proprietà ci sono 5 sottoschede: Generale, Autenticazione, RecordSource, Colore e Carattere. Quelle da impostare sono Generale e RecordSource.
Apriamo Generale, selezioniamo l'opzione 'Usa stringa di connessione' nel riquadro 'Origine connessione'.
Nella finestra di dialogo successiva (Data Link Properties) facciamo clic sulla sottoscheda Provider quindi selezioniamo 'Microsoft Jet 4.0 OLE DB Provider' e quindi facciamo clic sul pulsante 'Next'.

Nella sottoscheda 'Connection' specificare il nome ed il percorso del database di Access, cliccando sul pulsantino con i 3 puntini posto immediatamente alla destra della casella di testo corrispondente a: 1.Select or enter a database name:.
A questo punto si aprirà la finestra di dialogo Select Access Database, la quale consente di navigare i dischi locali alla ricerca del file .MDB da collegare.

Se ora facciamo clic sul pulsante 'Test Connection' posto in basso a destra nella sottoscheda Connection della finestra Data Link Properties, apparirà il messagebox 'Test connection succeded': il controllo ADODC è ora collegato al database di Access.
Passiamo ora alla scheda RecordSource della finestra delle proprietà di ADODC1, quindi, in corrispondenza della voce Tipo Command selezioniamo '2 - adCmdTable' e in corrispondenza di Nome tabella/stored procedure: 'Tabella libri'.

Chiudiamo la finestra di dialogo e torniamo all'ambiente di progettazione di Form1.
Selezioniamo nuovamente ora il controllo Adodc1 e questa volta premiamo il pulsante F4: apparirà la finestra di dialogo delle proprietà in modalità standard (non personalizzata).
Modifichiamo la proprietà RecourdSource in modo tale che il nome dela tabella 'Tabella libri' sia racchiuso tra parentesi quadre, in questo modo evitiamo un errore.
In secondo luogo, giò che ci siamo, impostiamo la proprietà Mode sul valore '2 - adModeWrite': in questo modo sarà possibile non solo leggere ma anche modificare i valori dei campi della tabella di Access, tramite i controlli che andremo a disporre sul Form del progetto VB6.

Ora non ci resta che aggiungere al nostro Form 3 controlli etichetta e 3 caselle di testo in modo da poter visualizzare ed editare i seguenti campi della tabella 'Tabella libri': Autore, Titolo e Casa editrice.
In corrispondenza della proprietà 'DataSource' di ciascuna delle 3 caselle di testo impostiamo 'Adodc1' in modo da collegare tutte e 3 le caselle al controllo ADODC; quindi impostiamo la proprietà 'DataField' rispettivamente sui campi autore, titolo e casa editrice della tabella di Access sottostante.
Facciamo ora doppio clic sul controllo Adodc1: si apre la finestra della maschera corrente in modalità codice; aggiungiamo la seguente riga di codice in corrispondenza della proprietà evento MoveComplete:
Private Sub Adodc1_MoveComplete(ByVal adReason As ...)
Adodc1.Caption = "Tabella libri - Record: " & Me.Adodc1.Recordset.AbsolutePosition _
& "/" & Me.Adodc1.Recordset.RecordCount
End Sub
Modifichiamo la proprietà Caption di Form1 in 'Tabella libri [MODIFICABILE]', quindi salviamo il Form1 con il nome di frmTabella e il progetto con il nome di ApriAccessViaADO.vbp
Mandiamo in esecuzione il progetto appena creato: ora è possibile non solo aprire il file di Access, ma scorrere direttamente tutti i records (40) della tabella 'Tabella libri' agendo sui pulsanti di spostamento del controllo ADODC ed inoltre è possibile modificare il contenuto dei campi.
Per esserne sicuri provate ad effettuare una modifica qualsiasi, chiudere il progetto VB6 quindi riaprire la tabella in Access.

Vogliamo infine aggiungere un altro form al progetto, con la funzione di selezionare attraverso il controllo CommonDialog il file MDB di Access ed enumerarne le tabelle ivi contenute attraverso un normale controllo ComboBox.
Chiameremo questo secondo form 'frmMain' quindi modifichiamo la proprietà 'Oggetto di avvio' della scheda Generale della finestra proprietà del progetto in modo tale che all'avvio venga visualizzato frmMain anzichè frmTabelle.
Al clic su 'Tabella libri' della casella combinata di frmMain viene aperto frmTabelle.
Il codice che permette di leggere la struttura del database (in questo caso l'elenco delle tabelle in esso contenute) via ADO è nel file scaricabile in fondo a questo tutorial.

Importare dati da Excel in Access
Rubrica telefonica con Microsoft Access
Utilizzare Microsoft Query
Costruire una tabella con Access
Le Relazioni tra le Tabelle di Microsoft Access
Gestione Documenti con Microsoft Access
Access controllo gruppo di opzioni
Importa dati da Excel
Importa dati da testo delimitato
Importa dati da file testo larghezza fissa
Casella combinata per selezione valori
Esempi Query con Access
Esempi di Maschere con Microsoft Access
Esempi di Report con Microsoft Access
Le pagine di accesso ai dati di Access
Esempi di Macro con Microsoft Access
Esempi di accesso ai dati con VBA Microsoft Access
Gestire il magazzino con Microsoft Access
Gestire le fatture con Microsoft Access
Tutorials su Microsoft Access
Dr.Maurizio Cucchiara
autore del corso:
"Corso Base di Microsoft Access"
disponibile on line su questo sito
MC2 E-Learning S.a r.l.
Formazione per il Web
http://www.mc2.it/html/access.html
Cerca sul web con Google:
