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

Contribuez Discussion :

[Astuce]Liste des connectés sans lecture du fichier ldb


Sujet :

Contribuez

  1. #1
    Membre régulier Avatar de e040098k
    Inscrit en
    Avril 2007
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 197
    Points : 94
    Points
    94
    Par défaut [Astuce]Liste des connectés sans lecture du fichier ldb
    Bonjour,

    Je développe une base stockée sur un serveur TSE.
    Je souhaitais avoir une liste des utilisateurs connectés à ma base. Malheureusement tous les codes que j'ai trouvé sur le sujet font une lecture du fichier ldb.
    Ce qui sur un serveur TSE renvoie "SERVEURTSE, admin" pour chaque connecté ! Dès lors pas évident de différencier les utilisateurs.

    La petite astuce qui suit permet d'obtenir un résultat plus intéressant :

    Il faut ajouter une table T_UserConnected avec les champs "DateConnexion" (Date), "User" (texte), "Time" (Date), Connected (Oui/Non)

    Ensuite il suffit ajouter le code suivant sur les évenements Load et Unload du formulaire de menu. cela permet d'ajouter ou de supprimer des enregistrements dans la table en fonction des connexions ou des déconnexions des utilisateurs.
    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
     
     
    Private Sub Form_Load()
        'suppresion des enregistrements concernant l'utilisateur (dernière déconnexion)
        DoCmd.SetWarnings False
        SQL = "DELETE T_UsersConnected.User, T_UsersConnected.Connected " _
        & "FROM T_UsersConnected " _
        & "WHERE (((T_UsersConnected.User)='" & Environ("UserName") & "') AND ((T_UsersConnected.Connected)=False));"
        DoCmd.RunSQL SQL
        'Ajout d'un enregistrement contenant les informations de connexion
        SQL = "INSERT INTO T_UsersConnected VALUES ('" & (Date) & "','" & Environ("UserName") & "','" & (Time) & "', True);"
        DoCmd.RunSQL SQL
        DoCmd.SetWarnings True
    End Sub
     
    Private Sub Form_Unload()
        'Suppression de l'enregistrement contenant les informations de connexion
        DoCmd.SetWarnings False
        SQL = "DELETE T_UsersConnected.User, T_UsersConnected.DateConnexion, T_UsersConnected.Connected " _
        & "FROM T_UsersConnected " _
        & "WHERE (((T_UsersConnected.User)='" & Environ("UserName") & "') AND ((T_UsersConnected.DateConnexion)=Date()) AND ((T_UsersConnected.Connected)=True));"
        DoCmd.RunSQL SQL
        'Ajout de l'enregistrement contenant les informations de déconnexion
        DoCmd.SetWarnings False
        SQL = "INSERT INTO T_UsersConnected VALUES ('" & (Date) & "','" & Environ("UserName") & "','" & (Time) & "', False);"
        DoCmd.RunSQL SQL
        DoCmd.SetWarnings True
        Application.Quit
    End Sub
    Ensuite il faut créer un formulaire (voir pièce jointe), contenant :
    - un bouton bascule
    - Deux zones de liste (dans l'exemple Lst_NbConnects et Lst_NbRecents)
    - Deux labels (dans l'exemple Lbl_NbConnects et Lbl_NbRecents)

    Voici le code associé a ce formulaire :
    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
    Option Compare Database
     
    Private Sub Bascule5_Click()
    If Me.Bascule5.Value = -1 Then
        Me.TimerInterval = 1000
        Me.Bascule5.Caption = "Arrèter le scan"
        Me.Lst_Connectes.RowSource = "SELECT T_UsersConnected.User FROM T_UsersConnected WHERE (((T_UsersConnected.Connected)=-1));"
        Me.Lst_Recents.RowSource = "SELECT T_UsersConnected.User FROM T_UsersConnected;"
    Else
        Me.Bascule5.Caption = "Scan"
        Me.TimerInterval = 0
    End If
    End Sub
     
    Private Sub Form_Open(Cancel As Integer)
        Me.Lst_Connectes.RowSource = ""
        Me.Lst_Recents.RowSource = ""
    End Sub
     
    Private Sub Form_Timer()
        Me.Lst_Connectes.Requery
        Me.Lst_Recents.Requery
        Me.Lbl_NbConnectes.Caption = "IL y a : " & Me.Lst_Connectes.ListCount & " personne(s)"
        Me.Lbl_Recents.Caption = "IL y a : " & Me.Lst_Recents.ListCount & " personne(s)"
    End Sub
    Voila! En espérants que ce code serve a quelques uns d'entres vous !

    A bientôt
    Images attachées Images attachées  

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    bonjour e040098k,

    il existe aussi cette alternative mais il faut référencer <ADODB> :
    http://support.microsoft.com/default...d=KB;FR;198755

    Amicalement,

    Philippe

  3. #3
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Salut
    Puis je savoir la signification de TSE?
    Merci d'avance
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

  4. #4
    Membre régulier Avatar de e040098k
    Inscrit en
    Avril 2007
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 197
    Points : 94
    Points
    94
    Par défaut
    Salut,

    un petit lien :
    http://www.dsi13.fr/article_10214.htm

Discussions similaires

  1. liste des connectés et fichier ldb
    Par sebinator dans le forum Sécurité
    Réponses: 2
    Dernier message: 27/02/2008, 14h13
  2. Afficher liste des connectés
    Par Pepito2030 dans le forum Langage
    Réponses: 3
    Dernier message: 17/10/2006, 13h06
  3. Afficher la liste des connectés à une BDD
    Par GD91 dans le forum Access
    Réponses: 4
    Dernier message: 04/10/2006, 14h55
  4. Réponses: 3
    Dernier message: 30/12/2005, 13h47

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