Programmazione: collegare una tabella ad un database di Access con Visual Basic
Secondo tutorial sulla programmazione con Visual
Basic.
Visual Basic e' uno strumento potentissimo che Access ci
mette a disposizione: sapere le funzioni di alcune
stringhe ed avere le nozioni di base, ci permette di
realizzare applicazioni piu' efficienti
In questo caso vediamo come collegare una tabella ad un database di Access.
Questo puo' essere utile quando, per esempio, vogliamo che i dati siano contenuti in un file (sempre di access) esterno al database per motivi di sicurezza.
Il codice che segue puo' essere inserito nell'evento Su clic di un bottone presente in una maschera.
Private Sub Comando0_Click()
On Error GoTo Errore
Dim Catalogo As New ADOX.Catalog
Dim Tabella As ADOX.Table
Dim Prop As ADOX.Property
Dim Dir As String, Nome As String, Nome_BE As String,
Nome_STD As String
Dim Risposta As Integer
Risposta = MsgBox("Vuoi ricollegare le tabelle? ",
vbYesNo, "Collega dati")
If Risposta = vbNo Then Exit Sub
Catalogo.ActiveConnection = CurrentProject.Connection
Dir = CurrentProject.Path: Dir = Dir
&
"\Precorso del database con i
dati"
Nome = CurrentProject.Name
Nome_BE = "Access.accdb"
Dir = Replace(Dir, Nome, Nome_BE)
For Each Tabella In Catalogo.Tables
If Tabella.Type = "LINK" Then
Set Prop = Tabella.Properties("Jet OLEDB:Link
Datasource")
Prop.Value = Dir
End If
Prossima:
Next Tabella
Set Catalogo = Nothing
MsgBox "Il collegamento è terminato correttamente...", ,
"Collega dati"
Exit Sub
Errore:
MsgBox "Impossibile collegare il database specificato.
Sei sicuro i dati siano corretti?", , "Collega dati"
Exit Sub
End Sub
In questo caso l'esempio e' stato
realizzato per Access 2007.
Bisogna quindi verificare i riferimenti corretti
alla libreria Microsoft ADOX 2.7 o superiori: dal Visual
Basic (dove inserite la routine) andate su
Strumenti e poi Riferimenti e
spuntare i riferimenti di Fig.1
Fig.1
Ovviamente se si realizza l'esempio con versioni precedenti alla 2007 bisognerà cambiare la stringa di codice evidenziata in verde che indica il tipo di estensione del file.
Buon lavoro.