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 :

Exist il une fonction qui permet de fermer une base aprés un temps inactivité [AC-2003]


Sujet :

Access

  1. #1
    Membre habitué Avatar de taz devil
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Avril 2012
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Alimentation

    Informations forums :
    Inscription : Avril 2012
    Messages : 298
    Points : 141
    Points
    141
    Par défaut Exist il une fonction qui permet de fermer une base aprés un temps inactivité
    Bonjour
    Je cherche une fonction ou un code qui me permet aprés un temps inactivité : " Clavier ou souris " De fermer une base
    merci

  2. #2
    Community Manager

    Avatar de Malick
    Homme Profil pro
    Community Manager
    Inscrit en
    Juillet 2012
    Messages
    9 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Community Manager
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9 229
    Points : 85 288
    Points
    85 288
    Billets dans le blog
    15
    Par défaut


    Une solution fournie par Microsoft :
    RÉSUMÉ
    Cet article vous montre comment créer une procédure qui s'exécutera si votre application Access ne détecte pas d'entrée d'utilisateur pour une période de temps spécifiée. Elle implique la création d'un formulaire masqué contenant du code qui conserve le nombre de périodes d'inactivité.

    Remarque : à l'aide de ce code pour ajouter des enregistrements à une table lorsqu'une base de données est inactive peut entraîner une consommation excessive de la mémoire.

    Comment faire pour créer le formulaire DetectIdleTime


    Créez un formulaire vide qui n'est pas basé sur une table ou une requête, et nommez-le DetectIdleTime.
    Définissez les propriétés de formulaire suivantes :

    OnTimer: [Event Procedure]
    TimerInterval: 1000

    Remarque : le paramètre TimerInterval indique la fréquence (en millisecondes) l'application vérifie l'inactivité de l'utilisateur. La valeur 1000 correspond à 1 seconde.
    Définissez la propriété OnTimer dans la procédure événementielle suivante :
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    Sub Form_Timer()
       ' IDLEMINUTES determines how much idle time to wait for before
       ' running the IdleTimeDetected subroutine.
       Const IDLEMINUTES = 1
     
       Static PrevControlName As String
       Static PrevFormName As String
       Static ExpiredTime
     
       Dim ActiveFormName As String
       Dim ActiveControlName As String
       Dim ExpiredMinutes
     
       On Error Resume Next
     
       ' Get the active form and control name.
     
       ActiveFormName = Screen.ActiveForm.Name
       If Err Then
          ActiveFormName = "No Active Form"
          Err = 0
       End If
     
       ActiveControlName = Screen.ActiveControl.Name
          If Err Then
          ActiveControlName = "No Active Control"
          Err = 0
       End If
     
       ' Record the current active names and reset ExpiredTime if:
       '    1. They have not been recorded yet (code is running
       '       for the first time).
       '    2. The previous names are different than the current ones
       '       (the user has done something different during the timer
       '        interval).
       If (PrevControlName = "") Or (PrevFormName = "") _
         Or (ActiveFormName <> PrevFormName) _
         Or (ActiveControlName <> PrevControlName) Then
          PrevControlName = ActiveControlName
          PrevFormName = ActiveFormName
          ExpiredTime = 0
       Else
          ' ...otherwise the user was idle during the time interval, so
          ' increment the total expired time.
          ExpiredTime = ExpiredTime + Me.TimerInterval
       End If
     
       ' Does the total expired time exceed the IDLEMINUTES?
       ExpiredMinutes = (ExpiredTime / 1000) / 60
       If ExpiredMinutes >= IDLEMINUTES Then
          ' ...if so, then reset the expired time to zero...
          ExpiredTime = 0
          ' ...and call the IdleTimeDetected subroutine.
          IdleTimeDetected ExpiredMinutes
       End If
    End Sub
    Créez la procédure suivante dans le module du formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub IdleTimeDetected (ExpiredMinutes)
       Dim Msg As String
       Msg = "No user activity detected in the last "
       Msg = Msg & ExpiredMinutes & " minute(s)!"
       MsgBox Msg, 48
    End Sub
    Comment faire pour utiliser le formulaire DetectIdleTime

    Pour masquer le formulaire DetectIdleTime lorsque l'application s'ouvre, créez la macro AutoExec suivante :

    Macro Name Action
    ----------------------------
    AutoExec OpenForm


    AutoExec Action Arguments
    ----------------------------
    OpenForm
    Form Name: DetectIdleTime
    View: Form
    Filter Name:
    Where Condition:
    Data Mode: Edit
    Window Mode: Hidden

    Vous pouvez ajouter du code à la procédure IdleTimeDetected afin que la procédure s'exécute s’il n'y a aucune activité de l'utilisateur pendant la durée spécifiée dans la valeur de la constante IDLEMINUTES. Par exemple, vous pourrez quitter Access avec la procédure événementielle suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Sub IdleTimeDetected (ExpiredMinutes)
       Application.Quit acSaveYes
    End Sub
    Cette procédure entraîne une fermeture de l'application, l'enregistrement de tous les objets sans afficher une boîte de dialogue.
    Source : Microsoft

  3. #3
    Membre habitué Avatar de taz devil
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Avril 2012
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Alimentation

    Informations forums :
    Inscription : Avril 2012
    Messages : 298
    Points : 141
    Points
    141
    Par défaut Merci Malick

    Je vais tester la solution
    merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/01/2010, 13h32
  2. fonction qui permet de creer une page web
    Par houssem_tec dans le forum Langage
    Réponses: 1
    Dernier message: 28/09/2008, 12h59
  3. Réponses: 7
    Dernier message: 06/08/2008, 19h28
  4. Réponses: 10
    Dernier message: 26/04/2008, 14h14
  5. cherche une fonction qui permet de faire une recherche
    Par vbcasimir dans le forum Langage
    Réponses: 7
    Dernier message: 01/09/2005, 18h24

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