Interception de message d'erreur (3356) lors d'une connexion sur une base Access
cs_Narbe
Messages postés2Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention13 juin 2003
-
13 juin 2003 à 01:48
cs_Narbe
Messages postés2Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention13 juin 2003
-
13 juin 2003 à 10:16
Contexte: appli VB5 et BDD access normalement partagée.
Cette appli est ancienne mais fonctionne bien et j'utilise toujours le mode DAO
Pour un utilitaire de cette appli j'ai besoin d'un accès exclusif: donc je veux savoir si quelqu'un est connecté au moment de l'execution.
Pour simplifier, et cet utilitaire fonctionnant la nuit (donc avec peu de chance qu'il existe des connexions), je lance directement le code suivant
(mydata est le nom de l'objet database, mystringConnect est le chemin complet d'accès au fichier .mdb)
mydata.close 'uniquement pour tuer ma propre connexion en mode partagé
set mydata=opendatabase(mystringconnect, true) 'True pour l'argument "exclusif" de la commande opendatabase
Si personne n'est connecté, ça fonctionne.
Si un utilisateur est toujours connecté à la BDD, j'ai le message traditionnel 'La base de donnée est ouverte par x sur la machine XX....' (Code erreur 3356), c'est normal (j'ai résumé)
Mon soucis est d'intercepter ce code erreur pour pouvoir faire le traitement approprié.
La classique gestion d'erreur "On error goto ..." ne fonctionne pas et je pense que c'est parce que le message vient de Access et non pas de mon appli.
Il y a certainement une solution pour intercepter ce type d'erreur (problème que l'on retrouve lorsque l'on attaque un quelconque outil bureautique et que celui-ci renvoie une erreur), mais je sêche depuis 12 heures la dessus !
Alors "A l'aide" ....
Merci d'avance
A voir également:
Interception de message d'erreur (3356) lors d'une connexion sur une base Access
metalcoder
Messages postés193Date d'inscriptionjeudi 14 février 2002StatutMembreDernière intervention25 mars 20111 13 juin 2003 à 08:42
J'ai presque eu le meme probleme, sauf que moi je voulais parfois recompiler l'exe et bien sur si mon soft etait lancer je ne pouvais pas. J'ai donc mis un champ boolean dans ma base avec un timer qui vient regarder sa valeur, si il est a false l'appli se deroule normalement, maintenant on suppose que ton appli nocture met cette valeur a true, eh bien toute les appli lances vont trouver le champs boolean a true et donc apres un message d'avertissement, elles s'arretent.
C'est pas vraiment la solution pour toi, quoi que...par contre cette solution te permetterais en plus de recompiler la source si c'est toi son auteur...
cs_Narbe
Messages postés2Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention13 juin 2003 13 juin 2003 à 10:16
Merci à Metalcoder: Début de piste interessant. Je peux recompiler l'exe quand je veux, par contre la modif de la BDD est plus difficile (7 sites dans deux départements) et dans la grande maison à laquelle j'appartiens je n'ai pas de correspondant su place pour le faire. Donc je préfère toujours trouver les solutions dans l'executable dont je suis le créateur.
Merci
ciao @+