Cet exemple permet d'ouvrir un objet DAO.Database en spécifiant le fichier mdw nécessaire à l'ouverture.
Attention : Ce code doit être utilisé avant qu'une autre instance d'un objet DAO ne soit créé sans quoi il est impossible de spécifier un autre fichier mdw que le fichier courant.
Soit le formulaire suivant :
Il est composé de haut en bas :
- Une zone de texte TFichier
- Une liste modifiable ListeSecu
- Une zone de texte TAdmin
- Une zone de texte TUser
- Une zone de texte TMDP
Voici le code correspondant :
Code du bouton Valider :
Private Sub Commande10_Click()
On Error GoTo err
Dim fichier As String
Dim VDb As DAO.Database
Dim chaine As String
Dim VWK As DAO.Workspace
Dim dbe As DBEngine
Dim FichierMDW As String
If Len(TFichier) > 0 Then
fichier = TFichier
If ListeSecu.ListIndex = 0 Or ListeSecu.ListIndex = 2 Then
Set VWK = Workspaces(0)
Else
FichierMDW = OuvrirUnFichier(Me.Hwnd, _
"Selectionner un fichier de groupe de travail", 1, _
"Fichier mdw", "mdw")
If FichierMDW = "" Then
Exit Sub
Else
Set dbe = New DBEngine
dbe.SystemDB = FichierMDW
Set VWK = dbe.CreateWorkspace(Format(Now(), _
"yyyymmddhhnnss"), TUtilisateur, TMDP, dbUseJet)
End If
End If
If ListeSecu.ListIndex = 2 Or ListeSecu.ListIndex = 3 Then
Set VDb = VWK.OpenDatabase(fichier, False, False, _
"MS Access;PWD=" & TAdmin)
Else
Set VDb = VWK.OpenDatabase(fichier)
End If
Else
MsgBox "Vous devez selectionner un fichier", _
vbExclamation, "Saisie du fichier"
End If
Exit Sub
err:
MsgBox "Impossible de se connecter à la base de données. " & _
"Vérifier le chemin d'accès et les informations " & _
"d'authentification", vbCritical, "Erreur"
End Sub
Code d'ouverture du formulaire :
Private Sub Form_Load()
Dim t As Control
For Each t In Me.Controls
If TypeOf t Is TextBox Then
t = ""
If t.Name <> "TFichier" Then t.Enabled = False
End If
Next t
ListeSecu = "Aucune"
End Sub
Code du bouton parcourir
Private Sub Commande3_Click()
Dim Chemin As String
Chemin = OuvrirUnFichier(Me.Hwnd, _
"Selectionner une base de données Access", _
1, "Fichiers Access", "mdb")
If Chemin <> "" Then
Me.TFichier = Chemin
End If
End Sub
La fonction OuvrirUnFichier est disponible dans la FAQ Access et elle permet d'afficher une boîte de dialogue de sélection de fichier.
La base de données ainsi ouverte est disponible via l'objet : VDB de la procédure du bouton Valider.
Un exemple de ce code est disponible ici.
|