Access 2007 - Meldung bei bestimmten Zeitpunkt

Hallo zusammen,
ich habe gerade meinen ersten Datensatz in Access erstellt und nun ein paar Fragen.
Ich hätte gern, dass beim Erreichen des heutigen Datums eine Mitteilung erfolgt oder das Feld farbig hinterlegt wird.
Ich habe gelesen, dass man dafür einen Befehl anlegen kann, aber wie genau das funktioniert, konnte ich noch nicht herausfinden.
Könnt ihr mir helfen?

Vielen Dank schon mal!!

Grüße
Maren

leider nicht

Tut mir leid, habe noch Version 2003

Hallo Maren,

sorry, dass man einzelne Datenfelder in Access-Tabellen farbig unterlegen kann, hab ich noch nicht gehört. Macht auch nicht wirklich Sinn, weil die Tabellen eigentlich nur die Grundlage für die Abfragen und Berichte sein sollten.

Natürlich kann man mittels sog. Prozeduren Meldungen ausgeben, wenn ein bestimmtes Datum erreicht wird.
Aber dafür braucht es mehr Informationen.

Grüße
Carsten.HB

Also ich habe mit Timern schon länger nichts mehr gemacht, aber zumindest bis Access2003 ging so etwas nicht (oder zumindest nicht ohne VBA-Programmierung mit Zugriff auf fremde Bibliotheken/Funktionen). Da blieb einem nichts anderes übrig, als das Timer-Ereignis von Formularen zu benutzen, aber das hat zwei Nachteile:

Wenn der User das Formular, das man für diese Funktion benutzt, schließt, ist auch der Timer angehalten, der das ganze überwachen/auslösen soll. Damit die gewünschte Aktion ausgeführt wird, muß das Formular wieder geöffnet worden sein.

Das Formular muß ununterbrochen eine Schleife durchlaufen lassen, die prüft, ob der gewünschte Zeitpunkt erreicht ist. Das kostet dann halt auch Leistung. Angenommen, an einem Tag soll um 15:00 Uhr was passieren und das soll auf eine Minute genau laufen, sprich spätestens um 15:00 Uhr und 59 Sekunden, dann mußt Du den Timer des Formulars auf 60 Sekunden setzen. Und entsprechend arbeitet Access dann tagelang alle 60 Sekunden die gleiche Prüfung ab, 144 Mal pro Tag.

  1. wäre egal, wenn eh nur etwas innerhalb eines Formulares gemacht werden soll, denn dann kann man einfach das Timer-Ereignis dieses Formulars benutzen: Schließt jemand das Formular, muß ja auch die Aktion nicht mehr ausgeführt werden, und öffnet es jemand, wird auch wieder geprüft, ob die Aktion auszuführen ist.

Wie Du das ganze steuerst, hängt davon ab, durch was die ganze Sache überhaupt angestoßen werden soll und woher der Zeitpunkt stammt, dessen Erreichen zu überwachen ist.
Jedenfalls mußt Du mit einer Zeile wie
Me.TimerInterval = n
festsetzen, in welchen Zeitabständen geprüft werden soll.
Und mit einer Prozedur
Private Sub Form_Timer()
mußt Du die Überprüfung durchführen.

Danke schon mal für die angebotene Hilfe.
Ich denke, dass sowohl der 1. als auch der 2. Punkt nicht so dramatisch wären, da es mir reichen würde, wenn ich morgens einmal eine Nachricht erhalten würde, dass folgende Kunden heute ihr Bestimmungsdatum erreicht haben. Daher müsste er ja nur einmal morgens abfragen und ob ich es schließe oder nicht, ist dann doch auch egal oder??

Fällt Dir dazu etwas ein?
und leider noch eine Änfänger-Frage :smile: wo muss ich die Befehle hinterlegen??

Danke!!

Dann trägst Du in den Eigenschaften des Formulars, das das überwachen soll (Register „Ereignis“), hinter „Zeitgeberintervall“ eine Zahl in Millisekunden ein (z.B. 5000 für 5 Sekunden) und klickst doppelt in das Feld hinter „bei Zeitgeber“, um in dem Modul des Formulars eine Ereignisprozedur anlegen zu lassen.
Zwischen die 2 Zeilen, die so geschaffen werden (Anfang und Ende der Prozedur) setzt Du eine Zeile
Me.TimerInterval = 0
und dann noch Deine Prüfung und den Befehl, was gemacht werden soll (das weiß ich ja beides nicht, was Du da willst). Also irgendwas wie "If Date

Hallo Maren,
Das geht (ohne VBA) nur mit der sog. bedingten Formatierung - und diese geht nicht in der „Tabellenansicht“

Du könntest aber ein Formular erstellen mit „Endlosformular“ als Standardansicht.
Hier kannst Du nun für einzelne Felder über’s Kontextmenu (rechter Mausklick) die bedingte Formatierung festlegen; z.B. Bedingung „[Datumsfeld]=Datum()“

Hallo Maren!
Das geht evtl. mit bedingter Formatierung.
Aber mit dem, was du bisher an Informationen gegeben hast, kann man Dir nicht helfen. Da musst Du schon genauer werden.

Gruß
Vincenz

Hallo,

vielen Dank schonmal, scheinbar funktioniert das nicht so wie ich es mir ürsprünglich gedacht habe… ich werde das also nochmal überdenken und es vll anders konzipieren. Dann komme ich auf euch zurück. DANKE!

Du müsstest deinen Wunsch genauer beschreiben, das hört sich nach vertrösten an, ist aber wichtig!!!
Soll das in einem Formular efolgen oder bei einer Abfrage?
oder soll das in einem Bericht dargestellt werden?

auf dem aktuellen Datum basierende auswertungen können z.B. wie folgt erstellt werden :

Basiert eine Abfrage auf einer Tabelle, in der Artikel mit einem Lieferdatum hinterlegt sind. In der Abfrage möchte ich Artikel sehen, die heute geliefert werden. Die Folgende Funktion hilft nicht dabei

= Jetzt()

„Jetzt()“ kann in diesem Fall nämlich nicht als Kriterium verwendet werden, da „Jetzt ()“ das „Datum“ UND DIE „Zeit“ liefert, das Lieferdatum aber als Datum OHNE Uhrzeit gespeichert ist. Verwende stattdessen die Funktion „Datum()“, die nur das reine Datum ohne Uhrzeit liefert. Außerdem sollen Datumskriterien immer in Nummernzeichen # geklammert werden, damit Access sie eindeutig als Datumswerte erkennen kann. Du musst also wie folgt als Kriterium angegeben:

=#Datum()#

Ich galube das funktioniert in allen Access versionen ab Access 2000, bin mir da aber nicht ganz sicher.

Du kannst aber auch mal in der Online Hilfe unter dem Punkt „Bedingte Formatierung“ nachsehen und auch mal die Funktion „heute“ ausprobieren. Um das Probieren und testen deiner selbst erstellten Funktionen und Kriterien kommst du ohnehin nicht herum.

Das geht wohl am einfachsten mit einem ungebundenen Feld im Formular und einer darin enthaltenen Wenn-Funktion wie z.B. = WENN(heute()=[gesuchtes Datum];„das Datum ist heute!“;"").
Das sollte funktionieren.

Hallo Maren!

Das lässt sich über bedingte Formatierungen recht einfach lösen. Siehe dazu:

http://www.access-basics.de/index.php/Bedingte_Forma…

Schöne Grüße
Konrad

Hi,
hab die Anfrage erst jetzt entdeckt.
Vielleicht interessierts ja noch jemand.
Eine Meldung kannste schon mit ner Gültigkeitsregel in der Tabelle erreichen. Ansonsten musste eine Ereignisprozedur oder ein Makro für Current/Beim Anzeigen programmieren; das kann hakelig werden (zB doppelte Meldungen).
Für Farbe schau unter „bedingte Formatierung“.