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

IHM Discussion :

aide sur le sujet de la minuterie sur Barre de Progression


Sujet :

IHM

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 208
    Points : 75
    Points
    75
    Par défaut aide sur le sujet de la minuterie sur Barre de Progression
    Bonjour,
    Je me permets de vous demander une aide sur le sujet de la minuterie sur Barre de Progression.
    Comme je suis très novice, après quelques recherches j’ai fait une barre de progression qui semble fonctionner.
    Sauf que j’ai des doutes sur le fonctionnement de la minuterie.
    Car si je mets 250 sur Intervalle Minuterie Et Const Durée Inactivité = 10
    Cà se déclenche à 1 mn environ OK
    Mais si je mets Const Durée Inactivité = 300 et 250 sur Intervalle Minuterie
    La base ne semble pas se refermer ou parfois vers 17 mn
    Par contre si je mets : 1000 sur Intervalle Minuterie, et Const Durée Inactivité = 300
    La base ne semble pas se refermer ?
    Comment être sûre que la Base puisse se Fermer correctement à 30 Mn, car c’est le Temps d’inactivité que je souhaiterais avant que la Barre de progression se déclenche.
    Si vous avez une idée pour améliorer ma Base
    Screenshot ci-joint :
    Cordialement


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Option Compare Database
    Const Cadence_saisie = 5000 '1000 = 1 seconde - 5000 = 5 secondes
     Const Durée_Inactivité = 200 'en minutes


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Form_Timer()
    'Vérifier qu'il y a eu une saisie depuis la dernière seconde
    If IsNull(Me.NOM) Then
        'on déclenche le chrono
        Chrono = Chrono + Cadence_saisie
    End If
    'au bout de 10 minutes sans saisie
    If Chrono / 1000 / 60 > Durée_Inactivité Then
        DoCmd.OpenForm "F_TimerMaintenance"
    End If
        End Sub

    Sur Module variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Option Compare Database
    Global Chrono As Long

    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
    Option Compare Database
    Option Explicit
    Dim I As Integer
     
    Private Sub Annuler_Click()
        Me.TimerInterval = 0
        DoCmd.Close acForm, "F_TimerMaintenance"
        Chrono = 0
    End Sub
     
    Private Sub Form_Current()
        Me.time = 20
        Me.boite.Caption = "|"
        I = 0
    End Sub
     
    Private Sub Form_Timer()
        Me.boite.Caption = Me.boite.Caption & "|"
        If Me.time > 0 Then
            If I = 4 Then
                Me.time = Me.time - 1
                I = 0
            Else
                I = I + 1
            End If
        Else
            QUITTER_Click
        End If
    End Sub
     
    Private Sub QUITTER_Click()
        DoCmd.Quit
    End Sub
    Images attachées Images attachées   

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Bonjour,

    Je ne suis pas sûr de tout comprendre, mais j'aurais plusieurs remarques :

    1/ Il faudrait utiliser la même unité de temps pour toutes vos variables, pour éviter les conversions au moment des comparaisons des variables.

    2/ Il faudrait pour évaluer si le temps d'inactivité est atteint, à savoir 300, que cette valeur soit un multiple de la valeur pour l'intervalle minuterie :

    Exemple en prenant comme unité la seconde :

    Intervalle_Minuterie = 100 secondes (100 000 ms)
    Durée_Inactivité = 300 minutes = 300 * 60 secondes = 18 000 secondes ( 18 000 000 ms)

    3/ Dans le code, il me semble que chrono doit être incrémenté avec la valeur de l'intervalle minuterie :

    Après, pour le test du chrono avec la durée d'inactivité je ferai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Chrono  > Durée_Inactivité Then
        DoCmd.OpenForm "F_TimerMaintenance"
    End If
    4/ Concernant le test de l'inactivité :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    'Vérifier qu'il y a eu une saisie depuis la dernière seconde
    If IsNull(Me.NOM) Then
        'on déclenche le chrono
        Chrono = Chrono + 100
    End If
    Est-ce qu'il ne faut pas réinitialiser le chrono, s'il y a eu une saisie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    'Vérifier qu'il y a eu une saisie depuis la dernière seconde
    If IsNull(Me.NOM) Then
        'on déclenche le chrono
        Chrono = Chrono + 100
    else
        Chrono = 0
    End If
    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 208
    Points : 75
    Points
    75
    Par défaut
    Bonsoir User,
    Je vous remercie de votre aide.
    Je vais continuer à tester le fonctionnement de la fermeture de la Base.
    j'ai mis Intervalle Minuterie = 100
    Durée Inactivité = 30


    Cordialement

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 208
    Points : 75
    Points
    75
    Par défaut
    Bonjour User,

    Voici mes changements, il semblerait qu'il y ait une correspondance avec le Temps inactivité de la fermeture de la Base que je souhaite Exemple : 5 mn
    Actuellement la barre de progression se déclenche sur une Zone de Texte si inactivité sur un Formulaire principale de travail. OK
    y aurait t'il une possibilité de faire un code événementiel pour que la Barre de progression se déclenche sur le Formulaire d'ouverture de la Base qui serait laissé Ouvert
    Cordialement


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Option Compare Database
     
     Const Cadence_saisie = 1000 '1000 = 1 seconde - 5000 = 5 secondes
     Const Durée_Inactivité = 5 'en minutes

    Intervalle minuterie = 1000

  5. #5
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Bonjour,

    Il y a quelque temps j'avais utilisé ce code dans un formulaire F_DetectionInactivité, ce formulaire est lancé au démarrage de la base en arrière plan, et permet de détecter s'il y a ou pas une activité.

    Voici son code :

    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
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    Option Compare Database
    Option Explicit
    Private TempsExpiré 'ce temps est en millisecondes
     
    Private Sub Form_Timer()
        ' Cette procédure est associée à l'événement Sur minuterie. Elle est exécutée en fonction
        ' de la valeur de l'intervalle de minuterie spécifié pour le formulaire, par exemple toutes les 3 secondes.
        ' INACTIFMINUTES détermine le nombre de minutes d'inactivité à attendre avant
        ' d'exécuter la procédure InactivitéDétectée. Par exemple 1 minute.
        Const INACTIFMINUTES = 1
        Static NomContrôlePrécédent As String
        Static NomFormulairePrécédent As String
        Dim ActiveFormName As String
        Dim ActiveControlName As String
        Dim DélaiMinutes
        On Error Resume Next
        ' lit le nom du formulaire actif et du contrôle actif.
        ActiveFormName = Screen.ActiveForm.Name
        If Err Then
            ActiveFormName = "Pas de formulaire actif"
            Err = 0
        End If
        ActiveControlName = Screen.ActiveControl.Name
        If Err Then
            ActiveControlName = "Pas de contrôle actif"
            Err = 0
        End If
        ' Enregistre les noms des objets actifs et réinitialise la variable TempsExpiré si:
        ' 1. Ils n'ont pas encore été enregistrés (code exécuté pour la 1ère fois).
        ' 2. Les noms précédents sont différents des noms actifs
        ' (l'usager a fait quelque chose d'autre durant l'intervalle de minuterie).
        If (NomContrôlePrécédent = "") Or (NomFormulairePrécédent = "") _
            Or (ActiveFormName <> NomFormulairePrécédent) _
            Or (ActiveControlName <> NomContrôlePrécédent) Then
            NomContrôlePrécédent = ActiveControlName
            NomFormulairePrécédent = ActiveFormName
            TempsExpiré = 0
        Else
            ' autrement l'usager a été inactif durant l'intervalle de minuterie, alors
            ' on incrémente le temps expiré total.
            TempsExpiré = TempsExpiré + Me.TimerInterval
        End If
        ' Le temps expiré total excède-t-il le temps INACTIFMINUTES prédéterminé ?
        DélaiMinutes = (TempsExpiré / 1000) / 60
        If DélaiMinutes >= INACTIFMINUTES Then
            ' Réinitialise le temps expiré à zéro
            TempsExpiré = 0
            ' Appel de la procédure InactivitéDétectée.
            InactivitéDétectée DélaiMinutes
        End If
    End Sub
     
     
    Sub InactivitéDétectée(DélaiMinutes)
    'Objectif: fermer le formulaire si le délai d'inactivité prévu est atteint.
    Dim Msg As String
    Msg = "Pas d'activité utilisateur détectée durant la ou les dernière(s) "
    Msg = Msg & DélaiMinutes & " minute(s)!"
    MsgBox Msg, 48
    DoCmd.Quit acQuitSaveAll
    'DoCmd.Close acForm, "F_DetectionInactivite"
     
     
    End Sub
     
    Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    ' Pour qu'un simple déplacement de souris ne soit pas considéré comme une activité.
     
    TempsExpiré = 0
    End Sub
    Il faut lancer la barre de progression dans la procédure InactivitéDétectée.

    Tu peux mettre un intervalle minuterie de 10 sec ( 10 000 ms) pour ce formulaire.

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 208
    Points : 75
    Points
    75
    Par défaut
    Bonjour

    Je me remercie de votre aide , et pour la procédure que vous m'avez envoyé.
    j'avoue que je tâtonne beaucoup sur Access.
    Actuellement ma barre de progression ne se déclenche pas sur le Formulaire : Ouverture.

    Sur mon formulaire Ouverture: en procèdure minuterie, j'ai fait un copier/coller
    je ne sais pas si j'ai bien fait j'ai retiré const cadence & const durée

    et mis : Const INACTIFMINUTES = 2

    Ensuite sur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub InactivitéDétectée(DélaiMinutes)
    'Objectif: fermer le formulaire si le délai d'inactivité prévu est atteint.
    'Dim Msg As String
     'on déclenche le chrono
        Chrono = Chrono + Cadence_saisie
     
    End If
    'au bout de 10 minutes sans saisie
    If Chrono / 1000 / 60 > Durée_Inactivité Then
        DoCmd.OpenForm "F_TimerMaintenance"
    End If
    'DoCmd.Close acForm, "F_DetectionInactivite"



    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
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    Option Compare Database
    'Dim Chrono As Long
     'Const Cadence_saisie = 1000 '1000 = 1 seconde - 5000 = 5 secondes
    ' Const Durée_Inactivité = 2 'en minutes
    Private Sub Commande1_Click()
     
     
    If IsNull(Me.NOM) Then
       MsgBox "Veuillez entrer un NOM SVP"
        DoCmd.GoToControl ("NOM")
        Exit Sub
        End If
    If IsNull(Me.CODE10) Then
        MsgBox "Veuillez entrer UNE CARTE SVP"
        DoCmd.GoToControl ("NOM")
        Exit Sub
       End If
     
        DoCmd.OpenForm "preparation pvi"
        'DoCmd.Close acForm, Me.Form.Name
     
    End Sub
     
    Private Sub Commande12_Click()
    MsgBox "Pour la création de Nouveaux produits Code Carte.    Priez de demander à l'Administrateur de la Base Access ou Gestionnaire de Fabrication, ou Au Responsable de la Zone Test et Emballage. La Création du code Produit nécessite la Fiche d'Accompagnement Produit + La quantité de conditionnement du Carton ", vbOKOnly
    End Sub
     
     
    Private Sub Commande4_Click()
    DoCmd.Quit
    End Sub
     
     
    Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    ' Pour qu'un simple déplacement de souris ne soit pas considéré comme une activité.
     
    TempsExpiré = 0
    End Sub
     
    Private Sub Form_Timer()
       ' Cette procédure est associée à l'événement Sur minuterie. Elle est exécutée en fonction
        ' de la valeur de l'intervalle de minuterie spécifié pour le formulaire, par exemple toutes les 3 secondes.
        ' INACTIFMINUTES détermine le nombre de minutes d'inactivité à attendre avant
        ' d'exécuter la procédure InactivitéDétectée. Par exemple 1 minute.
        Const INACTIFMINUTES = 2
        Static NomContrôlePrécédent As String
        Static NomFormulairePrécédent As String
        Dim ActiveFormName As String
        Dim ActiveControlName As String
        Dim DélaiMinutes
        On Error Resume Next
        ' lit le nom du formulaire actif et du contrôle actif.
        ActiveFormName = Screen.ActiveForm.Name
        If Err Then
            ActiveFormName = "Pas de formulaire actif"
            Err = 0
        End If
        ActiveControlName = Screen.ActiveControl.Name
        If Err Then
            ActiveControlName = "Pas de contrôle actif"
            Err = 0
        End If
        ' Enregistre les noms des objets actifs et réinitialise la variable TempsExpiré si:
        ' 1. Ils n'ont pas encore été enregistrés (code exécuté pour la 1ère fois).
        ' 2. Les noms précédents sont différents des noms actifs
        ' (l'usager a fait quelque chose d'autre durant l'intervalle de minuterie).
        If (NomContrôlePrécédent = "") Or (NomFormulairePrécédent = "") _
            Or (ActiveFormName <> NomFormulairePrécédent) _
            Or (ActiveControlName <> NomContrôlePrécédent) Then
            NomContrôlePrécédent = ActiveControlName
            NomFormulairePrécédent = ActiveFormName
            TempsExpiré = 0
        Else
            ' autrement l'usager a été inactif durant l'intervalle de minuterie, alors
            ' on incrémente le temps expiré total.
            TempsExpiré = TempsExpiré + Me.TimerInterval
        End If
        ' Le temps expiré total excède-t-il le temps INACTIFMINUTES prédéterminé ?
        DélaiMinutes = (TempsExpiré / 1000) / 60
        If DélaiMinutes >= INACTIFMINUTES Then
            ' Réinitialise le temps expiré à zéro
            TempsExpiré = 0
            ' Appel de la procédure InactivitéDétectée.
            InactivitéDétectée DélaiMinutes
        End If
    End Sub
    Sub InactivitéDétectée(DélaiMinutes)
    'Objectif: fermer le formulaire si le délai d'inactivité prévu est atteint.
    'Dim Msg As String
     'on déclenche le chrono
        Chrono = Chrono + Cadence_saisie
     
    End If
    'au bout de 10 minutes sans saisie
    If Chrono / 1000 / 60 > Durée_Inactivité Then
        DoCmd.OpenForm "F_TimerMaintenance"
    End If
    'DoCmd.Close acForm, "F_DetectionInactivite"
     
     
    End Sub
     
    Private Sub NOM_AfterUpdate()
     
    Me.CODE10.Enabled = True
    Me.CODE10.Locked = False
    'NOM = Null
    'Remettre à zéro le chrono
    'Chrono = 0
    End Sub
     
    Private Sub Word10_Click()
    DoCmd.OpenForm "frm_Identification"
    End Sub
    Images attachées Images attachées   

  7. #7
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Il faut bien garder la totalité du code que je t'ai donné.

    Au besoin fais un essai en copiant mon code dans un formulaire de test.

    Donc, bien garder en haut du module la variable TempsExpiré :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Option Compare Database
    Option Explicit
    Private TempsExpiré 'ce temps est en millisecondes
    ...
    Ensuite, dans la procédure InactivitéDétectée, juste ouvrir le formulaire F_TimerMaintenance :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub InactivitéDétectée(DélaiMinutes)
    'Objectif: fermer le formulaire si le délai d'inactivité prévu est atteint.
     
        DoCmd.OpenForm "F_TimerMaintenance"
     
    End sub
    Désormais on a plus besoin de la variable chrono, on incrémente à la place la variable TempsExpiré.

    Le code complet du 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
    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
    58
    59
    60
    61
    62
    63
    64
    Option Compare Database
    Option Explicit
    Private TempsExpiré 'ce temps est en millisecondes
     
    Private Sub Form_Timer()
        ' Cette procédure est associée à l'événement Sur minuterie. Elle est exécutée en fonction
        ' de la valeur de l'intervalle de minuterie spécifié pour le formulaire, par exemple toutes les 3 secondes.
        ' INACTIFMINUTES détermine le nombre de minutes d'inactivité à attendre avant
        ' d'exécuter la procédure InactivitéDétectée. Par exemple 1 minute.
        Const INACTIFMINUTES = 1
        Static NomContrôlePrécédent As String
        Static NomFormulairePrécédent As String
        Dim ActiveFormName As String
        Dim ActiveControlName As String
        Dim DélaiMinutes
        On Error Resume Next
        ' lit le nom du formulaire actif et du contrôle actif.
        ActiveFormName = Screen.ActiveForm.Name
        If Err Then
            ActiveFormName = "Pas de formulaire actif"
            Err = 0
        End If
        ActiveControlName = Screen.ActiveControl.Name
        If Err Then
            ActiveControlName = "Pas de contrôle actif"
            Err = 0
        End If
        ' Enregistre les noms des objets actifs et réinitialise la variable TempsExpiré si:
        ' 1. Ils n'ont pas encore été enregistrés (code exécuté pour la 1ère fois).
        ' 2. Les noms précédents sont différents des noms actifs
        ' (l'usager a fait quelque chose d'autre durant l'intervalle de minuterie).
        If (NomContrôlePrécédent = "") Or (NomFormulairePrécédent = "") _
            Or (ActiveFormName <> NomFormulairePrécédent) _
            Or (ActiveControlName <> NomContrôlePrécédent) Then
            NomContrôlePrécédent = ActiveControlName
            NomFormulairePrécédent = ActiveFormName
            TempsExpiré = 0
        Else
            ' autrement l'usager a été inactif durant l'intervalle de minuterie, alors
            ' on incrémente le temps expiré total.
            TempsExpiré = TempsExpiré + Me.TimerInterval
        End If
        ' Le temps expiré total excède-t-il le temps INACTIFMINUTES prédéterminé ?
        DélaiMinutes = (TempsExpiré / 1000) / 60
        If DélaiMinutes >= INACTIFMINUTES Then
            ' Réinitialise le temps expiré à zéro
            TempsExpiré = 0
            ' Appel de la procédure InactivitéDétectée.
            InactivitéDétectée DélaiMinutes
        End If
    End Sub
     
     
    Sub InactivitéDétectée(DélaiMinutes)
    'Objectif: fermer le formulaire si le délai d'inactivité prévu est atteint.
    DoCmd.OpenForm "F_TimerMaintenance"
     
    End Sub
     
    Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    ' Pour qu'un simple déplacement de souris ne soit pas considéré comme une activité.
     
    TempsExpiré = 0
    End Sub
    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 208
    Points : 75
    Points
    75
    Par défaut
    Je vous remercie de votre aide précieuse.

    Le Formulaire d'ouverture de base se ferme correctement avec la Barre de progression.
    Et lorsque je suis sur le second Formulaire de travail la base se referme également.


    Cordialement

    Merci

  9. #9
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Tant mieux

    Ce code de détection de l'inactivité est vraiment intéressant, je ne me souviens plus de l'auteur, je crois que c'est quelqu'un du site.

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  10. #10
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Finalement c'était dans la faq

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  11. #11
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 208
    Points : 75
    Points
    75
    Par défaut
    je vous remercie de votre aide.
    Car vous avez su mettre en place cette procédure en fonction de ma base.
    J'avais commencé par la fermeture automatique sur minuterie, et par la suite j'ai essayé la barre de progression.
    Ce que je n'arrivais pas à fait tout seul.
    Cela m'a permis de stabiliser le temps d'inactivité.
    Qui n'était pas clair pour moi.
    Cela va permet que cette base se referme automatiquement dans le cas ou les utilisateurs oublient de quitter la base correctement.
    Le plus c'est la barre de progression qui est conviviale.

    Cordialement

  12. #12
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Pas de souci
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

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

Discussions similaires

  1. Renseignement sur barre de progression
    Par pasb71 dans le forum VBA Access
    Réponses: 1
    Dernier message: 05/10/2011, 22h45
  2. DEmande d'aide sur sujet de projet
    Par Mr-Mobou dans le forum Oracle
    Réponses: 5
    Dernier message: 15/04/2008, 00h20
  3. aide sur sujet de rapport
    Par bleuerouge dans le forum Sujets
    Réponses: 4
    Dernier message: 02/02/2008, 17h42
  4. Interférences sur barre de progression
    Par Gabout dans le forum Access
    Réponses: 1
    Dernier message: 15/05/2006, 16h11

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