OVH Cloud OVH Cloud

evenement global : odbc deconnectee

1 réponse
Avatar
fred
Bonjour
Je travaille avec des tables liees (ODBC oracle).
Parfois, la connexion est perdue.
Quelqu'un connait-il un moyen de reperer l'evenement
deconnexion de maniere globale (dans nimporte quel
formulaire, ...). Pour l'instant, je fais une gestion
d'erreur dans tous mes formulaires mais cela devient lourd
a gerer.
Merci d'avance.

1 réponse

Avatar
J-Pierre
Bonsoir,

Quand tu dis tables liées, tu penses vraiment à des tables liées, ou bien utilises-tu une source de données ODBC ? Je ne savais pas
que l'on pouvait lier des tables Oracle....

Dans un formulaire caché qui est ouvert à l'ouverture de la base de données, en utilisant l'évènement minuterie, tu peux tester
toutes les X secondes la propriété de CurrentProject.Connection.State. Regarde la classe ObjectStateEnum dans ADODB pour les
différentes valeurs.

Dim cnn As New ADODB.Connection
Set cnn = CurrentProject.Connection
puis tester cnn.state

Ou alors, directement:
CurrentProject.Connection.State
mais je ne suis pas sûr que CurrentProject.Connection soit ADODB, si c'est DAO, pas de propriété state.

Ce n'est qu'une idée......et ça ne t'empêchera pas de devoir gérer l'erreur dans tous tes formulaires car entre deux contrôles,
peut-être plus de connexion. Mais si cette solution marche, pourquoi ne pas prévoir sur l'évènement ouverture de chaque formulaire
l'appel à un module qui fera le contrôle de la connection et la réouvrira si nécessaire ? Ca, ce n'est pas lourd à gérer, et c'est
souvent pratique d'avoir ce genre de module. Moi, je le mets systématiquement, même s'il est vide, le jour où j'en ai besoin, je
suis bien content de ne pas devoir tout modifier.

J-Pierre

"fred" a écrit dans le message de news:0b3401c3b8df$11165580$
Bonjour
Je travaille avec des tables liees (ODBC oracle).
Parfois, la connexion est perdue.
Quelqu'un connait-il un moyen de reperer l'evenement
deconnexion de maniere globale (dans nimporte quel
formulaire, ...). Pour l'instant, je fais une gestion
d'erreur dans tous mes formulaires mais cela devient lourd
a gerer.
Merci d'avance.