Trouver le répertoire de la partie (moins le nom de fichier) d'un chemin d'accès complet dans access 97
Pour diverses raisons, je suis coincé dans Access 97 et la nécessité d'obtenir uniquement le chemin d'accès d'une partie d'un nom de chemin complet.
Par exemple, le nom
c:\whatever dir\another dir\stuff.mdb
devrait devenir
c:\whatever dir\another dir\
Ce site a quelques suggestions sur la façon de le faire:
http://www.ammara.com/access_image_faq/parse_path_filename.html
Mais ils semblent plutôt moche. Il doit y avoir une meilleure façon, non?
- Ce qui est horrible à ce sujet? Il ressemble assez simple code à moi, et j'ai eu mes propres versions écrites pour A97 qui sont toujours en cours d'exécution dans les applications d'aujourd'hui, même si elles offrent une meilleure builtin fonctions en plus de ceux disponibles dans A97.
- Retiré de questions: Est-ce CurrentProject.Chemin d'accès disponibles dans Access 97?
- Réponse: Non, CurrentProject est totalement absente à partir d'Access 97. Il y a CurrentDb.Cependant, le nom mais c'est le chemin d'accès complet, y compris le nom de fichier. – apenwarr
- Avec le progrès du temps, de la accepté de réponse est extrêmement dépassée. Peut-être une autre réponse devrait être choisi?
Vous devez vous connecter pour publier un commentaire.
C'est à ce sujet. Il n'y a pas de magie fonction intégrée...
Vous pouvez faire quelque chose de simple comme:
Left(path, InStrRev(path, "\"))
Exemple:
J'ai toujours utilisé le
FileSystemObject
pour ce genre de chose. Voici une petite fonction wrapper j'ai utilisé. Assurez-vous de référence de laMicrosoft Scripting Runtime
.Cela semble fonctionner. Le ci-dessus ne sont pas dans Excel 2010.
gauche(currentdb.Nom,instr(1,currentdb.Nom,dir(currentdb.Nom))-1)
La fonction Dir sera de retour que le fichier portion du chemin complet. Currentdb.Le nom est utilisé ici, mais cela pourrait être un chemin d'accès complet de la chaîne.
Si vous êtes juste besoin de le chemin de la base de données actuellement ouverte dans l'Accès de l'INTERFACE utilisateur, je vous conseille d'écrire une fonction qui analyse CurrentDB.Nom et puis stocke le résultat dans une variable Statique à l'intérieur de la fonction. Quelque chose comme ceci:
Ceci a l'avantage qu'il ne parcourt le nom une seule fois.
Bien sûr, il ne fonctionne qu'avec le fichier ouvert dans l'interface utilisateur.
Une autre façon d'écrire ce qui serait d'utiliser les fonctions prévues à l' lien à l'intérieur de la fonction ci-dessus, ainsi:
Cela permet de récupérer le chemin d'accès actuel très efficace tout en utilisant un code qui peut être utilisé pour trouver le chemin d'accès de nom de fichier ou de chemin.
Essayer cette fonction:
Si vous ne souhaitez pas supprimer la dernière barre oblique inverse "\" à la fin du chemin d'accès au dossier, de modifier la dernière ligne avec ceci:
Exemple:
donne:
ou
dans le second cas (notez qu'il y a une barre oblique à la fin).
J'espère que cela aide...
vFilename="C:\Informes\Indicadores\Program\Ind_Cont_PRv.txt"
vDirFile = Replace(vFilename, Dir(vFileName, vbDirectory), "")
"Résultat=C:\Informes\Indicadores_Contraloria\Programa\Versiones anteriores\
Utiliser ces codes et d'en profiter.
Et là, vous pouvez appeler la fonction: