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 :

Programmer des alarmes a des heures spécifiques [AC-2013]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 15
    Points : 16
    Points
    16
    Par défaut Programmer des alarmes a des heures spécifiques
    Bonjour cher membre de la communauté

    je viens vers vous pour m'aider a trouver une solution à mon problème. En effet j'ai été chargé par le curé de notre paroisse, d'établir une application qui jouerait la prière angelus, à des heures spécifiques et qui sonnerait la cloche à chaque heure selon l'heure affichée par le système. pour ça un fichier audio mp3 contenant la sonnerie d'une cloche a été mis à disposition.
    pour ce faire j'ai créé une base Access comprenant 1 table pour stocker les heures et un formulaire sur lequel j'ai inséré ce code pris sur un autre tuto:
    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
    Dim varHeureExec As Variant
    Dim varDerniereExec As Variant
     
    ' Lire l'heure d'exécution
    varHeureExec = DLookup("[Heure Exécution]", "tbl Minuterie")
    If IsNull(varHeureExec) Then Exit Sub
     
    ' Lire l'heure de dernière exécution
    varDerniereExec = DLookup("[Derniere Exécution]", "tbl Minuterie")
    If IsNull(varDerniereExec) Then varDerniereExec = #1/1/1900 12:00:00 PM#
     
     
     
    ' Si l'heure actuelle est supérieure à celle de base, exécuter le processus
    If Time > varHeureExec Then
      ' Mettre à jour la date d'exécution
      CurrentDb.Execute "UPDATE [tbl Minuterie] SET [Derniere exécution]=#" & _
          Format(Now, "mm/dd/yyyy hh:nn:ss") & "#"
     
      ' Exécuter une action...
      WindowsMediaPlayer0.URL = "C:\Users\Momo\Desktop\PSquare.mp3"
      Me.TimerInterval = 0
    End If
    Problème, je me rends compte que le code n'exécute pas les instruction comme je voulais. je voudrai donc que l'on puisse m'orienter et si possible corriger ce code pour répondre au besoin exprimé. merci

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 085
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 085
    Points : 5 200
    Points
    5 200
    Par défaut
    Bonjour,

    Le plus simple est d'utiliser une procédure événementielle "sur minuterie" qui va exécuter un code de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Form_Timer()
    if TimeValue(Now()) = TimeValue("12:00:00") Then 'sonner midi
    elseif ...
    end if
    End Sub
    La fréquence d'exécution est définie par le paramètre "intervalle minuterie"
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Le problème, c'est que Access doit être ouvert en permanence.

    Je passerais plutôt par les tâches planifiées qui lanceraient Access à certaines heures et sur une macro autoexec qui lancerait un code en fonction de l'heure.

    Tu as plus de chances d'avoir le PC toujours allumés que Access ouvert en permanence.

    Philippe

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 085
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 085
    Points : 5 200
    Points
    5 200
    Par défaut
    Cela fait donc au moins 2 solutions

    Citation Envoyé par Philippe JOCHMANS Voir le message
    Tu as plus de chances d'avoir le PC toujours allumés que Access ouvert en permanence.
    C'est juste mais alors autant se passer d'access qui ne sert plus à grand chose
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  5. #5
    Membre à l'essai
    Inscrit en
    Août 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 15
    Points : 16
    Points
    16
    Par défaut
    Merci a vous pour ces réponses ultra rapide.
    effectivement l'application serait hébergée sur un serveur qui comme vous le savez est en permanence allumée.

    pour ce qui est de lancer access aux heures programmées, tres bonne idée. je me penche sur la mise en oeuvre de cette solution, si déjà je peux avoir sur ce sujet certaines orientations cela boosterait encore plus mon boulot.
    vraiment merci a tous pour votre promptitude.

  6. #6
    Membre à l'essai
    Inscrit en
    Août 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 15
    Points : 16
    Points
    16
    Par défaut
    Bonjour,
    Suite a probleme expliqué plus haut j'ai essayé de mettre en oeuvre les solutions proposées. malheureusement j'ai ,pas pu.
    j'ai refléchi a une solution, si ce 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
    Dim varHeureExec As Variant
    Dim varDerniereExec As Variant
     
    ' Lire l'heure d'exécution
    varHeureExec = DLookup("[Heure Exécution]", "tbl Minuterie")
    If IsNull(varHeureExec) Then Exit Sub
     
    ' Lire l'heure de dernière exécution
    varDerniereExec = DLookup("[Derniere Exécution]", "tbl Minuterie")
    If IsNull(varDerniereExec) Then varDerniereExec = #1/1/1900 12:00:00 PM#
     
    ' Si l'heure actuelle est supérieure à celle de base, exécuter le processus
    If TimeValue(Now()) > varHeureExec Then
      ' Mettre à jour la date d'exécution
      CurrentDb.Execute "UPDATE [tbl Minuterie] SET [Derniere exécution]=#" & _
          Format(Now, "mm/dd/yyyy hh:nn:ss") & "#"
     
      ' Exécuter une action...
      WindowsMediaPlayer.URL = "C:\Users\Momo\Desktop\PSquare.mp3"
     
      MsgBox "Alarme !", vbInformation
    pouvait être intégré dans un module qui serait appélé chaque fois que la condition est réunie ce serait idéal pour moi.

    le probleme c'est que j'arrive pas créer de module aussi simple soit il ou de fonction qu'une macro autoexec pourrait faire appelle .
    merci d'avance

  7. #7
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 586
    Points : 34 255
    Points
    34 255
    Par défaut
    Bonjour,

    je pense que ce tutoriel devrait être particulièrement adapté à ton cas de figure

    http://jpcheck.developpez.com/tutori...depuis-access/
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  8. #8
    Membre à l'essai
    Inscrit en
    Août 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 15
    Points : 16
    Points
    16
    Par défaut
    Merci beaucoup pour ta réponse.
    et désole de te répondre tardivement, soucis de santé mais ça va.
    je vais expérimenter cette solution et voir ce que ça donne . je vous fais un retour d'ici peu

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/09/2011, 13h53
  2. Trigger pour mettre des droits sur des procedures et des vues
    Par briino dans le forum Développement
    Réponses: 3
    Dernier message: 23/09/2009, 10h44
  3. Réponses: 4
    Dernier message: 02/04/2008, 18h51
  4. Réponses: 3
    Dernier message: 13/09/2007, 19h11
  5. Réponses: 3
    Dernier message: 23/01/2007, 09h14

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