Moin zusammen,
ich habe da mal ein Problem ...
Ich erstelle eine Urlaubsdatenbank und es gibt in dieser sogenannte "kritische Zeiten". Diese werden von der Administration eingetragen.
Wenn jetzt jmd. einen Urlaubseintrag tätigt soll direkt geprüft werden, ob sich der gewählte Zeitraum in kritischen zeiten befindet.
Soweit so gut; das mit den kritischen Zeiten eintragen ist kein Problem. Mit entsprechendem DBLookup kann ich mir auch die kritischen Zeiten für die jeweilige Gruppe ausgeben lassen. D.h., wenn das Dokument erstellt wird bekomme ich es hin, dass cih zwei Listen habe.
Einmal den gebuchten Zeitraum und einmal den kritischen Zeitraum. Jetzt möchte ich diese vergleichen. Funktionen wie @Keywords, @IsMember oder @Contains habe ich - Dank des Forums - schon ausprobiert. Das Ganze funktioniert aber nicht ganz sauber bzw. nicht so, wie ich es gern gewollt hätte.
Beispiel:
gebuchter Zeitraum: 24.07.2003 - 26.07.2003
kritischer Zeitraum: 25.07.2003 - 30.07.2003
Das klappt nicht. LN spuckt es nur richtig aus, wenn z. B. alle gebuchten Termine im kritischen Zeitraum sind, aber nicht, wenn auch nur einer innerhalb dieses Zeitraumes ist.
Die Formel ist Folgende:
REM "Festlegung bzw. Löschung der Variablen";
kritischer_zeitraum := @Implode(@Explode(@DbLookup("":"NoCache";"":"";"kritische_Zeiten_Liste_Gruppen";Gruppe;2)));
gebuchter_zeitraum := @Implode(@Explode(@TextToTime(@Text(StartDate) + "-" + @Text(EndDate))));
REM "Überprüfung des Zeitraumes.";
@If(@IsError(gebuchter_zeitraum) | @IsError(kritischer_zeitraum);"unkritisch";@If(@Keywords(gebuchter_zeitraum;kritischer_zeitraum;"")!="";"kritisch";"unkritisch"))
Ich hoffe, Ihr habt verstanden, was ich wollte; sonst einfach posten ...
Vielen, vielen Dank für Eure Mühen...
Ranki