IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Comment faire déconnecter les utilisateurs d'une base [À faire]


Sujet :

Access

  1. #1
    Provisoirement toléré
    Inscrit en
    Juillet 2003
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 14
    Points : 8
    Points
    8
    Par défaut Comment faire déconnecter les utilisateurs d'une base
    Salut tout le monde,
    J'ai crée deux bases de donnée sous access 2002
    • i-La première, je l'ai mise dans un répertoire partagé que tout le monde y accède.
      ii-La deuxième, je l'ai copié dans le poste de chaque utilisateur mais une des tables de cette base est liée à une autre que j'ai mise est sur le réseau
    Remarque : les utilisateurs des deux bases sont disjoints.
    Ce qui me gène c'est qu' à chaque fois où je veux apporter une modification à l'une de ces bases, je dois alors envoyer un mail à tous les utilisateurs leurs incitant, poliment, à se déconnecter!
    Mais que dire si l'un a déjà verouillé son poste pour aller boire un café?
    Y a t-il alors un utilitaire ou une astuce que j'appliquerais pour faire déconnecter les utilisateurs à tout moment?
    Merci,

  2. #2
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    tu fais un formulaire qui s'ouvre en invisible, avec un compteur toutes les 5 minutes par exemple.
    Traitement : Vérifier qu'un fichier nommé logoff.txt est présent à un endroit précis sur le serveur.
    S'il y est :
    Afficher le formulaire avec le message : vous allez etre déconnectés. retentez d'accéder à la base dans quelques temps. Merci.
    Puis, tu quitte l'appli

  3. #3
    Membre régulier

    Inscrit en
    Novembre 2002
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 73
    Points : 86
    Points
    86
    Par défaut
    au lieu de créer un fichier sur le serveur tu peux aussi simplement créer une table "FERME" dans access avec un booléen oui/non dedans. toutes les X minutes tu testes sur ce formualire invisible la valeur du champ dans FERME, si c'est oui => CASSOS pour touti !

  4. #4
    Provisoirement toléré
    Inscrit en
    Juillet 2003
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 14
    Points : 8
    Points
    8
    Par défaut Problème de Minuterie
    Mais ne voyez vous pas qu'un test chaque seconde ou chaque minute, allourdi l'application!

  5. #5
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    Mais ne sais-tu pas lire ?
    Citation Envoyé par ZeMenace
    tu fais un formulaire qui s'ouvre en invisible, avec un compteur toutes les 5 minutes par exemple.
    Maintenant, tu peux changer les délais à volonté ! Toutes les 1/2 heures si ca te fais plaisir.
    Après tout, 5 minutes, c'est un EXEMPLE.

  6. #6
    Membre régulier

    Inscrit en
    Novembre 2002
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 73
    Points : 86
    Points
    86
    Par défaut
    chaque seconde !!! t'y vas fort, on a dit 5 minutes !!!!


    même un minute c'est correct... tout dépend de ce que tu fais en traitement, mais là en un centième de seconde il aura vérifier si il faut fermer ou non !!!

    DE toute façon tu n'as pas le choix, c'est au "client" de "vérifier" ....

  7. #7
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    Citation Envoyé par ZeMenace
    Maintenant, tu peux changer les délais à volonté ! Toutes les 1/2 heures si ca te fais plaisir.
    Après tout, 5 minutes, c'est un EXEMPLE.
    Ca dépend en fait du temps que tu es prêt à attendre...
    Parce que le temps que tu détermines est le délai maximum avant la nouvelle vérification. DONC, si tu crées ton fichier, et que tu as mis 1/2 heure, tu devras attendre au pire 1/2 heure ... voilà voilà !

  8. #8
    Membre du Club Avatar de TheEwook
    Inscrit en
    Novembre 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2004
    Messages : 44
    Points : 50
    Points
    50
    Par défaut
    Existe-t-il un script VBA qui coupe toutes les connexions distantes de la base ?

  9. #9
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Et bien, l'essentiel des infos et dans ce poste non ?

    Ce sont les clients qui se déconnectent, aprés avoir tester la solution de Thogal

  10. #10
    Membre du Club Avatar de TheEwook
    Inscrit en
    Novembre 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2004
    Messages : 44
    Points : 50
    Points
    50
    Par défaut
    pour moi la base de donnée se rempli à une heure fixe tous les matins (disons 4h00). Je ne suis pas là (je dors !!) Si une personne est resté connectée à ma base la mise à jour de ma base plante.

    Donc j'aimerais qu'avant de faire la mise à jour de ma base Access (à 4h00), tous les utilisateurs sont déconnectés automatiquement.

    Si il y a une solution qui fait ca. Par exemple : un module, une fonction etc..., je suis prenneur.

    Ce post nous explique le principe (fichier texte sur le serveur, ou table) mais ne nous dit pas comment le faire automatiquement.

    merci d'avance

  11. #11
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Et bien sur chaque application cliente, tu rajoutes un module qui par exemple toute les heures vérifies si il n'est pas 3 heures du matin et à 3 heures, quitte l'application par exemple.

    Il me semble bien qu'il y a un tutoriel ou un truc du genre dans la FAQ

  12. #12
    Membre du Club Avatar de TheEwook
    Inscrit en
    Novembre 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2004
    Messages : 44
    Points : 50
    Points
    50
    Par défaut
    Ben j'ai passé en revur toute la FAQ et je n'ai pas trouvé.

    Je vais essayer d'être plus précis.
    Exise-t-il une commande qui permet de déconnecter tous les utilisateurs utilisant la base Access ?

    merci

  13. #13
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Pour la Xième fois : NON.

    Ce sont les appli clientes qui quittent le serveur et non pas l'inverse.

    http://access.developpez.com/faq/?pa...DBB#dconnexion

  14. #14
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Bien là, TheEwook tu es gourmand...
    Tout est écris et Maxence n'est pas du genre à se tromper (salut Maxence, là je bouffonne un peu... )
    Tu créés comme il l'a dit un Form caché sur le chargement de la base ( des clients bien sûr) qui fait tourner un timer qui vérifie l'heure si tu es certain que tout le monde doit être déconnecté à 4 h du mat.
    A ce moment là, ta proc fait un DoCmd.Quit s'il est 3h55 !!!
    Sinon, tu peux aussi envisager les activités des users sur les forms avec une Propriété ChangeEvent qui détecte que le focus se ballade sur telle zone de texte ou combo et associée à un événement timer qui calcule l'intervalle d'intervention, (le laxisme du user si tu préfères) entre la première fois qu'il a cliqué sur un champ ou un bouton.... et la fois suivante... Si cette intervalle est > à X minute, pas de pitié, un message d'alerte et zoooop, on quitte sans préavi.

    Bon par exemple tu peux envisager un truc comme ça pour l'heure fixe (à peaufiner)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Private Sub Form_Timer()
    Dim H As Date
    Dim sHeure As String
    Dim lHeure As Long
      H = Time
      sHeure = Hour(H)
      Select Case Minute(H)
        Case 0 To 9
          sHeure = sHeure & "0" & Minute(H)
        Case Else
          sHeure = sHeure & Minute(H)
      End Select
      Select Case Second(H)
        Case 0 To 9
          sHeure = sHeure & "0" & Second(H)
        Case Else
          sHeure = sHeure & Second(H)
      End Select
      lHeure = CLng(sHeure)
      Debug.Print sHeure
      If lHeure >= 35500 Then
        MontrerFormAlerte True
      End If
    End Sub
     
    Sub MontrerFormAlerte(FermerBase As Boolean)
      If FermerBase Then
        DoCmd.OpenForm "FormAlerteQuitter", acNormal, , , , acDialog, FermerBase
      End If
    End Sub
    Bien entendu, il faudra que tu aies une procédure qui vérifie que la base a été quittée pour le jour J sinon, dès qu'il sera plus de 3h55 (ce qui arrive tous les jours ) , oops, ça se ferme...
    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  15. #15
    Membre du Club Avatar de TheEwook
    Inscrit en
    Novembre 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2004
    Messages : 44
    Points : 50
    Points
    50
    Par défaut
    encore désolé mais oui je suis assez exigent

    En faite les utilisateurs n'ont pas d'application Access proprement dite
    mais utilise un intranet qui lui a une base access.

    l'idée c'est que si une personne reste connecté à l'intranet aprés avoir fait par exemple une requete.
    Sa connexion avec la base de donnée du serveur et donc de l'intranet reste établie.

    C'est pour ca qu'il faut que je trouve un moyen de déconnecter les clients du serveur.

  16. #16
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Un intranet est juste un support.
    Le serveur possède la base de données mais les clients, ils interrogent la base de données avec quoi ? C'est là que je ne comprends pas.

    Explique clairement ton principe. Quelle application est installée sur les postes clients ?

  17. #17
    Membre du Club Avatar de TheEwook
    Inscrit en
    Novembre 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2004
    Messages : 44
    Points : 50
    Points
    50
    Par défaut
    Il n'y a pas d'application sur les postes clients.

    Les clients intérroge les bases access via une page internet.
    (fenetre internet explorer) par l'intranet.

    Il spécifie sa requete et via l'intranet on lui sort ses résultats.

    Pendant la nuit, on doit mettre à jour automatiquement les bases access. mais avant de faire cette mises à jour, on doit couper les connexions qui pourraient exister entre les bases de données du serveur et les postes clients.

    Actuellement pour faire ca on fait un shutdown 30 minutes avant de proceder à la mise à jour des bases access.

    Serait-il possible de couper ses connexionx sans devoir faire un shutdown ?

    Merci

  18. #18
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Tes pages sont écrites en quel langages ? Normalement le client n'est jamais lié aux données. On distingue d'un coté le serveur http et d'autre par le serveur de données. C'est une architecture à trois niveau. Je ne vois pas comment le fait que les clients aient une page html ouverte empeche ta bases d'être arrétée ou mise à jour.

  19. #19
    Membre du Club Avatar de TheEwook
    Inscrit en
    Novembre 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2004
    Messages : 44
    Points : 50
    Points
    50
    Par défaut
    Bonjour,

    Les clients ont simplement une page asp

    C'est vrai que normalement le fait que les clients accede à la base de donnée via une page asp ne devrait poser aucun pb. Mais, imaginons qu'il execute une requete, que celle ci ne se termine pas ou que le client ferme la page avant la fin de celle ci.
    Le process msaccess va rester dans les processus et cela posera des problème pour la mise à jour de la base de donnée.

  20. #20
    Expert confirmé

    Profil pro
    Inscrit en
    Avril 2002
    Messages
    3 338
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 338
    Points : 4 657
    Points
    4 657
    Par défaut
    Si ta base Access sert juste de contenant pour une page une page ASP et que ta base reste ouverte après consultation, c'est un problème de developpement ASP que tu as.

    Normalement voila ce qui se passe en langage Web (Php,Asp...) :

    Requete du client pour la page http://www.truc.fr/index.php

    Le serveur récupere la demande
    Le serveur se connecte à la Base de données
    Le serveur constitue la page dynamique
    Le serveur déconnecte la base de données
    Le serveur envoi la page au client

    Maintenant si la partie deconnexion de la base de donnée n'est pas fait, c'est un problème de developpement ASP qui n'est pas propre.

    Même si le client reste sur la page intranet 10h, son client IE n'est pas en relation avec la base de données de facon direct.

    L'architecture est la suivante :

    Client Serveur HTTP Parser ASP base Access

    Pour le cas ou il y a un traitement qui tourne indéfiniment, tu dois pouvoir coder en ASP un timeout je suppose.

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/09/2006, 14h44
  2. [SQL-SERVER] "Déconnecter" les utilisateurs d'une
    Par Sytchev3 dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 18/07/2006, 11h30
  3. Que faire lorsque les performances d'une base chute ?
    Par Doctor Z dans le forum Oracle
    Réponses: 11
    Dernier message: 16/02/2005, 14h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo