J'ai une application Microsoft Access (accdb) hébergée sur un serveur sur lequel tous les utilisateurs sont distants. J'utilise le code de Microsoft pour lister les utilisateurs. Le problème est que le LOGIN_NAME pour tous les utilisateurs est Admin Pic de la liste des utilisateurs tous nommés Admin a>.
Y a-t-il un paramètre sur le serveur que je peux modifier qui utilise l'ID de connexion de chaque utilisateur au lieu de celui de l'administrateur?
3 Réponses :
Ce code fait référence à la sécurité du groupe de travail du moteur JET, qui a été abandonnée dans Access 2010 et l'est toujours.
Vous devrez obtenir le nom de connexion de la session. La méthode extrêmement simple dans VBA est:
Username = Environ("username")
Vous pouvez également utiliser un appel API pour cela.
Sachez également qu'une application Access doit être divisée en 2 fichiers (recto et verso) pour un déploiement multi-utilisateur simultané. Chaque utilisateur doit se voir attribuer son propre fichier frontal unique. Tous les fichiers avant sont liés au seul fichier arrière qui contient les tables. Personne n'utilise directement le fichier arrière.
Si vous disposez de privilèges suffisants pour ouvrir une invite de commande administrative sur le serveur distant, je suggère la commande OpenFiles
. Vous pouvez également consulter la commande SysInternals PsFile
. Les deux devraient vous indiquer les vrais noms d'utilisateur de tous les utilisateurs attachés à un fichier de base de données Access.