Unsere Webseiten benötigen JavaScript. Dies scheint in Ihrem Browser jedoch deaktiviert zu sein.

News & Tipps zu Microsoft Access

Lesen Sie hier einige der besten Beiträge aus SmartTools Access Weekly sowie ausgewählte Inhalte anderer E-Mail-Newsletter von SmartTools Publishing rund um Microsoft Access.

Beitrag aus SmartTools Access Weekly

Makro automatisch zeitgesteuert ausführen

Access 365 2024 2021 2019 2016 2013 2010

FRAGE Einige Tabellen in unserer Access-Datenbank müssen in regelmäßigen Abständen aktualisiert werden. Die manuelle Ausführung von Aktualisierungsabfragen ist zeitraubend und wird natürlich auch häufig vergessen. Wir würden den Vorgang daher gerne automatisieren. Ich habe keine entsprechende Option gefunden, aber gibt es eventuell eine möglichst einfache Möglichkeit, ein Makro zeitgesteuert in der Datenbank ablaufen zu lassen?

H. Gregor

ANTWORT Verwenden Sie dazu ein Formular und den Zeitgeber für eine zeitgesteuerte Ausführung zum Beispiel mit den folgenden Einstellungen:

  • Zeitgeberintervall: 60000
  • Bei Zeitgeber: [Ereignisprozedur]

In der Ereignisprozedur lassen Sie folgende Anweisungen ausführen:

Private Sub Form_Timer()

  DoEvents
  If Format(Now, "hh:mm") = "22:00" Then
    DoCmd.RunMacro "MakroName"
    'Doppelte Ausführung verhindern
    While Format(Now, "hh:mm") <= "22:01"
      DoEvents
    Wend
  End If

End Sub

Mit "Zeitgeberintervall = 60000" wird eine Ausführung der Ereignisprozedur alle 60 Sekunden festgelegt. Dann prüft die Ereignisprozedur, ob der gewünschte Zeitpunkt, hier 22:00 Uhr erreicht ist. Ist das der Fall, wird das Makro "MakroName" ausgeführt und anschließend zur Vermeidung einer Doppelausführung bis 22:01 Uhr gewartet.