Bonjour.
CurrentProjet.AllForms("TonForm).IsLoaded
ne marchera pas car même si ta BD est partagée, chaque copie s'exécute dans la mémoire de chaque PC. Seules les tables sont partagées.
La seule méthode que je vois c'est à l'ouverture du formulaire de mettre un "drapeau" dans une table qui signale que le formulaire est ouvert.
À la fermeture du formulaire, tu enlèves le drapeau.
Attention, il faut que l'assignation du drapeau se fasse en exclusion mutuelle. C-à-d qu'une et une seule personne puisse le faire à la fois. Si tu veux des détails sur comment faire, demandes.
Et il faut qu'un super-utilisateur puisse allez enlever le drapeau à la main car si ton application plante entre l'ouverture et la fermeture, le drapeau va resté là et personne ne pourra plus entrer.
Une alternative est d'associer l'utilisateur au drapeau. Si le même utilisateur demande le formulaire "verrouillé", on le laisse entrer quand même.
Une dernière possibilité, si ton formulaire n'utilise qu'une seule table et que les autres utilisateurs n'ont pas à la modifier en même temps c'est que le formulaire verrouille pour son usage exclusif la table. Tant que le formulaire est ouvert (et l'application fonctionnelle) les données ne sont manipulable que par ce formulaire. Plus besoin de drapeau, Access s'occupe de tout.
A+
Partager