Hi Leute,
ich hab eine Access DB, wo ich 1 Spalte vom Typ Datum hab, in der das Datum eingetragen bis zu dem eine Aufgabe/Maßnahme abgeschlossen sein muss. Wie kann man einen automatischen Prozess einrichten, der das aktuelle Datum mit dem Datum in der in der Tabelle vergleicht und wenn das Datum überschritten ist eine automatische Mail an einen Verantwortlichen generiert?
Danke Leute,
grüße,
FerryG
Hallo
also mir fällt jetzt nur ein Windows Dienst ein, mit dem wäre es sicher möglich.
Du müsstest den Dienst so Entwickeln, dass dieser mit einem Timer immer wieder schauen geht ob das Datum überschritten wird.
Oder du kannst einen Timer verwenden, wenn die Applikation immer läuft.
Ich weiss nicht ob dir das weiter hilft.
Gruss Andreas
Hallo,
ich würde es auch mit einem Service, der in bestimmten Abständen (Timer) nachschaut, machen.
Einfach ein Programm (C# Konsolenanwendung oder VBS) schreiben und den Windows Taskplaner verwenden. Ist imho am einfachsten.
Hab da was änliches und zwar lasse ich per Windows Service an einem bestimmten Tag zu einer bestimmten Zeit einen Prozess abarbeiten, welcher PDF Attachments aus Reports erstellt und diese an die Kunden über SMTP eine Email verschickt.
Funktioniert alles prima nur hab ich in der OnStart einen Timer mit einem OnTimedEvent eingebunden welcher prüft ob der heutige Tag dem entspricht wo er laufen soll mit der Zeit.
Das funktioniert auch aber nur wenn ich den Service starte, wenn er dann den Prozess abgearbeitet hat und ich zb per Anwendung die Startzeit ändere. Löst er zu dieser Zeit den Prozess nicht mehr aus.
Irgendwie glaube ich dass ich nach dem ersten Prozess den Timer mit dem Event neu initialisieren muss damit der weiter arbeitet.
Jemand eine Idee oder schon Erfahrungen?
Hier noch den Code der OnStart
//
//Create a instance of the timer class and create an event handler
//
System.Timers.Timer aTimer = new System.Timers.Timer();
aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
//
// Set the interval to 60 seconds.
//
aTimer.Interval = 60000;
aTimer.Enabled = true;