2010-07-14 13 views
3

Développement d'une application dans Access. Le fichier d'accès sera situé sur une base de données mais quand les utilisateurs ont besoin de l'utiliser, je veux qu'ils le copient sur leur bureau. S'ils l'exécutent sur le lecteur G: \ (notre dossier en réseau), il devrait leur donner un message.Déterminer si un chemin est un chemin réseau VBA

Alors, y a-t-il une API Win qui va m'aider à résoudre ce problème? Je vais mettre ce code dans l'événement Form_Load d'un formulaire.

+0

Je ne peux pas trouver de justification pour ce que vous dites que vous voulez faire. Pouvez-vous expliquer pourquoi*? –

Répondre

1

Si vous voulez éviter les utilisateurs d'ouvrir votre base de données à partir du lecteur G: \, vous pouvez faire une vérification simple avec un code comme celui-ci dans votre formulaire de démarrage:

Dim strMsg As String 
If CurrentProject.Path Like "G:*" Then 
    strMsg = "Please copy this database file to your " & _ 
     "local disk and open the copy instead of this one." 
    MsgBox strMsg 
    Application.Quit 
End If 

Si vous souhaitez également les empêcher d'ouvrir la base de données à partir d'un mappage de lettre de lecteur différent ou d'un chemin UNC, vous pouvez ajouter un fichier tel que NotFromHere.txt au dossier dans lequel votre fichier de base de données est stocké.

Dim strMsg As String 
Dim strFilePath 
strFilePath = CurrentProject.Path & Chr(92) & "NotFromHere.txt" 
If Len(Dir(strFilePath)) > 0 Then 
    strMsg = "Please copy this database file to your " & _ 
     "local disk and open the copy instead of this one." 
    MsgBox strMsg 
    Application.Quit 
End If 
+0

Merci pour une solution alternative. Je vais aller avec la deuxième manière parce que la lettre de lecteur pourrait changer ainsi je ne veux pas le coder dur. – masfenix

+0

Les exigences ont changé pour cela et nous avons déterminé que ce n'était pas une solution viable. Nous allons faire un tout autre chemin. Merci quand même – masfenix

0

Je pense qu'il y a un appel qui va lister les lecteurs (physiquement) attachés sur une machine, vous pourriez appeler cela et comparer le spécificateur de lecteur sur le chemin que l'utilisateur a donné à la liste.

+0

une idée sur ce qu'il pourrait être appelé – masfenix

1

Vous pouvez vérifier l'excellente auto d'accès FE updater comme un moyen automatisé de recopier les mises à jour

http://autofeupdater.com/

Je roulais mon propre système très similaire avant de trouver celui-ci et cela rend la mise à jour de l'EF tellement plus facile

Questions connexes