Gestion Access multi utilisateur [Résolu]

Signaler
Messages postés
55
Date d'inscription
lundi 14 novembre 2005
Statut
Membre
Dernière intervention
23 juin 2008
-
cs_DARKSIDIOUS
Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
-
Bonjour à tous,

Voilà j'ai une appli VB6-Access 2000 en réseau.
J'ai une procédure automatique de backup de la base et de compactage de celle-ci à interval régulier.
- le 1 er utilisateur se connecte, le compactage se lance...
- le 2ème utilisateur se connecte et  là, message d'erreur (logique) !!

Ma question est la suivante :
Comment avertir le 2ème utilisateur qu'un compactage est en cours ?
Utilisez-vous juste la récupération de l'erreur ?

J'ai pensé à créer un fichier de type txt ou autre pendant le compactage pour servir de flag et avertir qu'une procédure est en cours et donc faire patienter l'utilisateur.
Cette solution ne me satisfait qu'à moitié car au moindre plantage le fichier reste et plus aucun utilisateur ne se connecte.
A priori le .ldb n'est pas dispo lors du compactage donc pas plus avancé.
Voilà merci à tous

5 réponses

Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
94
Gère l'erreur directement ce sera moins galère, et surtout, beaucoup plus sûr !
Messages postés
55
Date d'inscription
lundi 14 novembre 2005
Statut
Membre
Dernière intervention
23 juin 2008

Oui je crois que je vais rester là dessus.

Merci Darksidious.
Messages postés
168
Date d'inscription
vendredi 9 janvier 2004
Statut
Membre
Dernière intervention
28 juillet 2009
1
Un autre truc : lorsque ton utilisateur veut se connecter, essaie simplement d'ouvrir ta MDB avec le FileSystemObject en mode R/W.   Si cela échoue, c'est que ta MDB est ouverte en mode exclusif (c'est le cas lors d'un compactage).   Il te suffit alors de proposer p.e. à ton utilisateur de revenir dans cinq minutes ou encore as-toi de mettre en place un timer qui l'avertit lorsque la DB est à nouveau accessible.

Christophe
Messages postés
55
Date d'inscription
lundi 14 novembre 2005
Statut
Membre
Dernière intervention
23 juin 2008

Bonjour Christophe et merci de ta réponse.

Seulement là tu me poses un problème, car je ne suis pas un utilisateur convaincu de FSO et encore moins du contrôle timer.

Ma solution effectivement va consister à intercepter l'erreur par une méthode ou une autre.

Merci encore et bonne prog à tous
Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
94
Oui surtout que ca sera sûrement plus optimisé que de créer un objet FSO !