Gestion Access multi utilisateur

Résolu
cs_molo molo Messages postés 55 Date d'inscription lundi 14 novembre 2005 Statut Membre Dernière intervention 23 juin 2008 - 27 déc. 2006 à 12:49
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 27 déc. 2006 à 18:18
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

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
27 déc. 2006 à 14:52
Gère l'erreur directement ce sera moins galère, et surtout, beaucoup plus sûr !
3
cs_molo molo Messages postés 55 Date d'inscription lundi 14 novembre 2005 Statut Membre Dernière intervention 23 juin 2008
27 déc. 2006 à 15:53
Oui je crois que je vais rester là dessus.

Merci Darksidious.
0
cavo789 Messages postés 168 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 28 juillet 2009 1
27 déc. 2006 à 16:04
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
0
cs_molo molo Messages postés 55 Date d'inscription lundi 14 novembre 2005 Statut Membre Dernière intervention 23 juin 2008
27 déc. 2006 à 16:09
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
27 déc. 2006 à 18:18
Oui surtout que ca sera sûrement plus optimisé que de créer un objet FSO !
0
Rejoignez-nous