bonjour, dans un contexte multi-utilisateur, est-il possible de fermer automatiquement une frontale Access 2003 (en réseau sur serveur) lorsque l'utilisateur vérrouille son PC (ceci a des fins de maintenance de la dorsale) ?
bonjour, dans un contexte multi-utilisateur, est-il possible de fermer automatiquement une frontale Access 2003 (en réseau sur serveur) lorsque l'utilisateur vérrouille son PC (ceci a des fins de maintenance de la dorsale) ?
Bonjour,
A l'aide du timer d'un formulaire toujours ouvert, on peut tester un drapeau dans une table sur le serveur toutes les 5 mn par exemple. Si le drapeau est positionné, la base se ferme.
Merci de votre patience
- j'ai effectivement en place un timer dans un formulaire qui teste l'existence d'un fichier sémaphore, tout ok lorsque l'utilisateur est actif sur son poste.
- par contre, lorsque le poste est verrouillé (automatiquement ou sur demande utilisateur), les process Access sont gélés, de sorte que le timer n'est plus activé, d'où ma question initiale qui peut-être dépasse le cadre d'Access ==> comment intercepter et traiter (en forçant une sortie propre d'Access par exemple) la mise en verrouillage du poste.
Bonsoir,
Ca, c'est moins sûr, je viens de retester ma procédure de déconnexion et elle fonctionne très bien ordinateur verrouillé. Mais je n'utilise pas une procédure très simple...par contre, lorsque le poste est verrouillé (automatiquement ou sur demande utilisateur), les process Access sont gelés
Sur le fond (l'idée), c'est ça. Par contre :j'ai effectivement en place un timer dans un formulaire qui teste l'existence d'un fichier sémaphore, tout ok lorsque l'utilisateur est actif sur son poste.
1) J'utilise des timers indépendants
2) Je teste la fenêtre active avant de choisir ma procédure de déconnexion
3) J'utilise une procédure de fermeture asynchrone
Merci arkham46.
Ca fait beaucoup de choses à essayer et à tester.
Une première idée de test, ça serait non pas de déconnecter, mais d'afficher un simple message.
Il devrait s'afficher sans problème si l'ordinateur est actif. Et s'il est verrouillé ?
Domi2
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)
Ici, on ne perd pas de temps ! On en passe...
Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus
Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2/Arkham46,
les 3 pistes mentionnées (timer indépendant, test fenêtre active et surtout procédure de fermeture asynchrone) sont un peu au delà de mes connaissances actuelles. où puis-je trouver un exemple ou une description plus précise?
Bonjour,
Pour le timer indépendant, dans les sources.
Pour le test de la fenêtre active, beuhh... Faut que je cherche...
Pour la fermeture asynchrone, ici.
Tu as fais un essai avec un simple message avec un poste verrouillé ?
Domi2
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)
Ici, on ne perd pas de temps ! On en passe...
Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus
Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Il y a qq temps, j'avais fait une fermeture sur un Form avec un Timer. De plus, 30 secondes avant la fermeture, un bouton apparaissait pour que le client ait le temps de terminer une tâche sans stress. Et ça repartait pour un bonus de 10 mn. Il ne faut pas stresser le l'utilisateur
merci Domi2 & co.
grace à vous, je me sens marginalement moins ignare en la matière, sans être sur de bien comprendre les dessous des cartes.
1. testé avec message simple: lorsque verrouillé, le process affichant le message (que j'avais time stampé) est bien affiché, mais bien évidemment n'apparait pas sur l'écran qui est verrouillé. on le retrouve bien en déverrouillant.
2. j'ai un peu joué avec la procédure de fermeture asynchrone et cela me parait fonctionner parfaitement bien (fermeture sans confirmation). seul petit souci en surfant sur le site de MSDN, un post indiquant que la méthode s'apparentait à un arrêt de processus via un Ctrl+Alt+Del, c'est à dire un peu violente et risquant de causer quelques outrages à la base de donnée.
3. j'utilisais l'instruction: " Application.Quit acQuitSaveAll " qui ne se déclenchait pas lorsque verrouillé, et dans vos doc, j'ai vu que parfois DoCmd faisait l'affaire et en fait un bête "DoCmd.Quit (acQuitSaveAll)" semble bien performer... mystérieux, but if it ain't broken, don't fix it.
4. merci encore pour votre patience, je vais derechef basculer en résolu.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager