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

VBA Access Discussion :

Créer des Alertes sur FORMULAIRE Access


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    août 2021
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : août 2021
    Messages : 19
    Points : 15
    Points
    15
    Par défaut Créer des Alertes sur FORMULAIRE Access
    Je suis en pleine création d'un formulaire de saisie sur ACCESS. Sur celle-ci je dois créer une alerte qui se déclenche chaque 30 min ( ce qu'il veut dire 00 h, 00h30, 01h00, 01h30...) afin que l'utilisateur fasse la saisie au temps demandé, et je veux bien que l'alarme persiste jusqu'à ce que l'enregistrement de la saisie soit faite, cependant je ne sais pas comment m'y prendre. ANYONE WHO CAN HELP ME PLEAASE
    voici le fichier en pj
    essai.rar
    Nom : Capture.JPG
Affichages : 99
Taille : 68,7 Ko

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    février 2010
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2010
    Messages : 194
    Points : 270
    Points
    270
    Par défaut msgbox
    Le moyen le plus simple est d'afficher un msgbox tant que la validation n'est pas faite avec un wait pour le temps d'attente

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    15 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 15 121
    Points : 23 041
    Points
    23 041
    Par défaut
    Bonjour.

    As-tu besoin que ce soit toutes les 30 minutes (ex : 13h14, 13h44, 14h14) ou au demi-heure d'heures précises (ex : 13h00, 13h30, 14h00) ?

    Est-ce que les utilisateurs vont se servir de la BD pour autre chose que de saisir leur temps ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    août 2021
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : août 2021
    Messages : 19
    Points : 15
    Points
    15
    Par défaut
    Je cherche pour chaque demi-heure d'heures précises (13h00 , 13h30,14h00...), et les utilisateurs se servent de la BD que pour faire la saisie sur le formulaire où ils ont l'accès ainsi que accéder au tableau de bord si besoin c'est tout.

  5. #5
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    octobre 2012
    Messages
    1 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : octobre 2012
    Messages : 1 660
    Points : 3 053
    Points
    3 053
    Par défaut
    Bonjour mzaouir94, marot_r, mach1974,

    Ceci dit voici une solution possible à adapter selon votre formulaire:
    Nom : FormulaireMinuterie.png
Affichages : 62
Taille : 23,2 Ko

    Premièrement mettre "Intervalle minuterie" à 60000, ce qui déclenchera l'événement "Sur minuterie" à toutes les minutes.

    Pour mon exemple, j'ai choisi le format horaire 00:00. Dans le formulaire le code suivant qui déclenchera un MsgBox à toutes les demi-heures 10h00, 10h30 etc... Pour ce faire j'ai utilisé l'objet "Dictionary" pour identifier le moment d'afficher le MsgBox. L'objet est déclaré en entête de formulaire, est initialisé sur "Form_Load" du formulaire et affiche le MsgBox sur l'événement "Form_Timer" du formulaire et finalement est libéré sur l'événement "Form_Unload" 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
    Option Compare Database
    Option Explicit
     
    Dim dict As Object 'déclaration de l'objet Dictionary
     
    Private Sub Form_Load()
    On Error GoTo gestion_err
     
        Set dict = CreateObject("Scripting.Dictionary") 'Initialisation de l'objet Dictionary
        Dim inTime As Integer
        Dim strTime As String, strHeure As String, strMinute As String
        With dict
            For inTime = 0 To 1410 Step 30 ' il y a 1440 minutes dans une journée mais on ne veut pas l'heure 24:00
                strHeure = Int(inTime / 60) 'Correspond à l'heure
                strMinute = inTime Mod 60  'Correspond aux minutes (0 ou 30)
                strTime = Format(strHeure, "00") & ":" & Format(strMinute, "00") 'Format l'heure au format désirée
                .Add strTime, inTime ' Ajoute la clé du dictionary qui sera "15:00" et la valeur qui sera le nombre de minutes depuis 0
            Next inTime
        End With
     
    Sortie:
    Exit Sub
    gestion_err:
        MsgBox Err.Description & Chr(13) & "Numéro de l'erreur :  " & Err.Number & " dans la sub Form_Load!"
        Resume Sortie
    End Sub
     
    Private Sub Form_Timer()
    On Error GoTo gestion_err
     
        Dim strAlerte As String
     
        strAlerte = Format(Now, "hh:mm") 'Inscrit l'heure dans la variable à toutes les minutes
        If dict.Exists(strAlerte) Then: MsgBox "Il est " & strAlerte & Chr(13) & "Nous sommes à " & dict(strAlerte) & " minutes de l'heure 0" 'Affiche le MsgBox si on est aux heures ou heures et 30 minutes
     
    Sortie:
    Exit Sub
    gestion_err:
        MsgBox Err.Description & Chr(13) & "Numéro de l'erreur :  " & Err.Number & " dans la sub Form_Timer!"
        Resume Sortie
    End Sub
     
    Private Sub Form_Unload(Cancel As Integer)
    On Error GoTo gestion_err
     
        Set dict = Nothing 'Libère l'objet
     
    Sortie:
    Exit Sub
    gestion_err:
        MsgBox Err.Description & Chr(13) & "Numéro de l'erreur :  " & Err.Number & " dans la sub Form_Unload!"
        Resume Sortie
    End Sub
    Ne pas oublier que le MsgBox va arrêter le code en attendant une réponse.

    Bonne journée
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    15 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 15 121
    Points : 23 041
    Points
    23 041
    Par défaut
    Bonjour à tous.

    J'avais une idée semblable mais moins sophistiquée.

    Il faut savoir que l'événement minuterie interrompt tout ce que fait la base par ailleurs donc je conseille d'avoir un front-end dédié uniquement à la saisie et un autre front-end pour les autres usages (ex : consultation de stat).
    Si on utilise le même front-end alors avoir une possibilité de ne pas ouvrir le formulaire de saisie systématiquement.

    Une autre possibilité pour le déclenchement serait d'utiliser le planificateur de tâche de Windows pour ouvrir la BD toutes les demi-heures.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. Créer des Alertes sur Access
    Par Sarah SO dans le forum VBA Access
    Réponses: 16
    Dernier message: 02/05/2019, 22h28
  2. [AC-2010] Créer des contrôles sur un formulaire existant
    Par gilweb dans le forum IHM
    Réponses: 4
    Dernier message: 11/10/2012, 20h57
  3. Créer des conditions sur formulaire html
    Par mikl86 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 29/08/2010, 13h50
  4. Créer des factures sur Access ou Excel ?
    Par dukeestar dans le forum Modélisation
    Réponses: 3
    Dernier message: 22/02/2010, 09h16
  5. Créer des objets sur la pile ?
    Par Cornell dans le forum Langage
    Réponses: 8
    Dernier message: 03/03/2003, 12h47

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