Si vous avez juste besoin du chemin de la MDB actuellement ouvert dans l'interface utilisateur Access, je suggérerais d'écrire une fonction qui analyse CurrentDB.Name, puis stocke le résultat dans une variable statique à l'intérieur de la fonction. Quelque chose comme ceci:
Public Function CurrentPath() As String
Dim strCurrentDBName As String
Static strPath As String
Dim i As Integer
If Len(strPath) = 0 Then
strCurrentDBName = CurrentDb.Name
For i = Len(strCurrentDBName) To 1 Step -1
If Mid(strCurrentDBName, i, 1) = "\" Then
strPath = Left(strCurrentDBName, i)
Exit For
End If
Next
End If
CurrentPath = strPath
End Function
Ceci a l'avantage qu'il boucle seulement le nom une fois.
Bien sûr, cela ne fonctionne qu'avec le fichier ouvert dans l'interface utilisateur.
Une autre façon d'écrire serait d'utiliser les fonctions prévues à l'link intérieur de la fonction ci-dessus, ainsi:
Public Function CurrentPath() As String
Static strPath As String
If Len(strPath) = 0 Then
strPath = FolderFromPath(CurrentDB.Name)
End If
CurrentPath = strPath
End Function
Cela rend la récupération du chemin courant très efficace alors que le code utilisant qui peut être utilisé pour trouver le chemin pour n'importe quel nom de fichier/chemin.
Qu'est-ce hideux à ce sujet? Cela me semble un code assez simple, et j'avais mes propres versions écrites pour A97 qui fonctionnent encore aujourd'hui dans les applications, même si elles offrent de meilleures fonctions intégrées que celles disponibles dans A97. –
Supprimé des questions: CurrentProject.Path est-il disponible dans Access 97? – Fionnuala
Réponse: Non, CurrentProject est entièrement manquant dans Access 97. CurrentDb.Name existe cependant, mais c'est le chemin d'accès complet, y compris le nom de fichier. - apenwarr – Fionnuala