PDA

Vollständige Version anzeigen : Kriterium in Auswahlabfrage 20 Tage vor Systemdatum


KarstenNummer200
05.10.2001, 23:47
Hallo
Ich benutze zur Zeit in einer Aktualisierungsabfrage das Kriterium:
Datum() Oder <Datum()
um alle Datensätze welche das aktuelle Systemdatum oder ein älteres Datum in einem Datumsfeld haben auszuwählen.
Das funktioniert auch super. Nur möchte ich nun das auch die Daten ausgewählt werden welche das aktuelle Systemdatum erst in 20 Tagen erreichen.

Das ganze ist für eine Wiedervorlagefunktion. Diese funktioniert ja auch schon. Es wäre jedoch schön wenn ich ab! 20 Tage vor dem Termin an diesen erinnert werden könnte.

Hat jemand eine Lösung wie ein solches Kriterium aussehen müßte ??

Karsten

Bernd Koch
06.10.2001, 00:32
Du kannst soetwas lösen, indem du zum (System)Datum die Zahl der Tage hinzufügst oder abziehst.

Z.B.:

= Date() - 20
= Date() + 20

oder:

<= Date() - 20 bzw.: <= Date() + 20
>= Date() - 20 bzw.: >= Date() + 20

usw.

Bernd

uke
06.10.2001, 00:34
Hi,
warum addierst Du nicht einfach was drauf?

Neues_Datum = DateAdd("d", Additionswert, AusgangsDatum)

Uke

kama
06.10.2001, 12:13
Das filtert dir in einer Abfrage alle Termine die in 20 Tagen fällig sind.
Unter Kriterien eintragen
ABS(Datdiff("t";Datum();[Deindatumsfeld]))< 21

Wen du in deinem Formular eine Warnung anzeigen lassen willst geht das (z.B.) so

Ungebundenes Steuerelement einfügen und
Steuerelementinhalt=Wenn(ABS(Datdiff("t";Datum();[Deindatumsfeld]))< 21;"Passiert in den nächsten 20 Tagen";"")

Formatierung
Hintergrundfarbe=Wie bereich
Textfarbe=rot
Kein Rahmen

Jetzt erscheint deine Warnmeldung nur wenn die Bedingung erfüllt ist.

Das war jetzt nur ein Beispiel wie man dit datdiff einen Wert erhält den man auswerten kann.

KarstenNummer200
06.10.2001, 17:46
Danke erst mal an alle.

Ich werde mich gleich mal an die DB machen. Die Idee mit der Warnung gefällt mir sehr gut.
An uke

Ich möchte das Datum nicht verändern. Das wird noch gebraucht.

Karsten

kama
06.10.2001, 18:24
Hallo
Ich hoffe du hast nicht zuviel an deiner Datenbank gehakt. leider ist das was dir geschrieben habe nicht korrekt also in einer abfrage unter kriterien

Zwischen datum() und datadd("t";20;Datum())

in einem ungebundenem feld
=Wenn(Datdiff("t";Datum();[Deindatumsfeld])>-1 und Datdiff("t";Datum();[Deindatumsfeld])<21;"Passiert in den nächsten 20 Tagen";"")

Bei der alten formel würde die Warnmeldung auch bei Terminen angezeigt die 20 Tage in der Vergangenheit liegen(Wegen ABS()!!).

Sorry :(

KarstenNummer200
07.10.2001, 13:21
Hallo Kama

He he da hast Du zufällig genau den richtigen Fehler genmacht. :) denn leider kommt es vor das ein "Termin" verstreicht und erst später bearbeitet wird. Er muß also auch dann erscheinen wenn er bereits vergangen ist. Das mit der Warnmeldung funktioniert bei mir leider nicht so ganz. Ich bin aus Unwissenheit schlampig gewesen ( Anfänger ) und setze mittels einer Aktualisierungsabfrage einen JA/NEIN Wert. Dieser wird anschließend in einem gefiltertem Formular ausgewertet. Megaumständlich ich weis. Aber dahmals wusste ich mir nicht anders zu helfen. Die Abfrage wird mit einem Knopf im Hauptformular (Register) ausgelöst. Es wird nicht angezeigt ob ein Wiedervorlagetermin existiert. Es wird halt vorsorglich auf Wiedervorlage geklickt.

Das ist zwar alles nicht der Weisheit letzter Schluß, aber Durch dein Kriterium ist es jetzt wenigstens etwas kompfortabler geworden. Danke

Karsten

kama
07.10.2001, 13:33
Hallo

Du kannst das mit der Warnmeldung ja trotzdem machen
=Wenn([DeinJaNeinFeld]);"Termin in den fällig";"")
geht ja auch.