problème de variable String pour la connexion
Bonjour,
lors de l'ouverture de mon application, j'ai su code qui me permet de détecter si la base de données contenant les tables de base a été déplacé, si oui je repointe les tables au bon endroit.
Cela marche seulement quand je met le chemin d'accès statiquement(code en dur). Dès lors que j'utilise une variable, ça ne marche plus.Voici le code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| Private Sub Image23_Click()
Dim cheminBase As String 'nouveau chemin pour accéder à la base de données
Dim db As Database 'base de données courante
DoCmd.Close
Set db = CurrentDb
'//////////////////////////////////////////////////
On Error GoTo gererErreurChemin
DoCmd.OpenForm "Menu accueil" '......was there before
exit_gererErreur:
Exit Sub
gererErreurChemin:
If Err.Number = 3024 Then ' le fichier qui contient la base de données(tables liées) a été déplacé
'afficher l'explorateur pour parcourir le disque et prendre la base de données
With Application.FileDialog(msoFileDialogOpen)
.AllowMultiSelect = False
.Show
cheminBase = .SelectedItems(1) 'mettre le nom du fichier sélectionner dans une zone de texte
End With
'MsgBox "Nom de la base sélectionnée " & cheminBase
'Module_Utilitaires.lier_Tables cheminBase 'lier les tables en utilisant le nouveau chemin
For Each Tb In db.TableDefs
If Left(Tb.Name, 4) <> "MSys" Then
If Tb.Connect <> "" Then
'Tb.Connect = ";Database=C:\Documents and Settings\Administrateur\Bureau\Copies\maBase.mdb"
Tb.Connect = ";Database=" & cheminBase
Tb.RefreshLink
End If
End If
Next
Else
MsgBox Err.Description
End If
'////////////////////////////////////////////////////////////
db.Close
Set db = Nothing |
merci d'avance pour votre aide.