Datensatz ermitteln durch Überprüfung des Datums
Hallo zusammen,
ich teste grade, ob mein gebautes select-Statement den richtigen Datensatz herausfindet, nur scheint es mir so, als hätte ich ein Syntax-Problem:
let me := this;
let myPatID := Pat_X_Prax;
let myPP_B := 'Fall-Beginn';
let myPauschal := first(select Pauschalen where Fall.Pat_X_Prax = myPatID and PP_Beginn <= myPP_B <= PP_Ende);
Text := myPauschal.Pauschal_ID
Es soll aus der Tabelle Pauschalen, die Pauschalen_ID angezeigt und in der Feld Text gesetzt werden, wo das Datum des Fall-Beginns (oben genannt myPP_B) zwischen dem PP_Beginn und PP_Ende aus der Tabelle Pasuchalen liegt. Aktuell greift es auf alle Datensätze, wo Fall.Pat_X_Prax = myPatID zu, aber "ignoriert" meine zweite Bedingung mit der Datumsüberprüfung.
Hat jemand eine Idee, wieso die Datumsüberprüfung nicht ausgeführt wird?
lg
Jonas
4 Antworten
-
Ich würde es so probieren:
.... and ( PP_Beginn <= myPP_B and PP_Ende >= myPP_B)
-
Führt leider zum selben Ergebnis
-
Ich habe die Datumsabfrage mit 2 Tabellen mal nachgebaut:
let DatSuche := FallDatum;
TextFeld := first(select DatumVergleich where DatSuche >= DatBeginn and DatSuche <= DatEnde).Pauschal_ID;
Bei verschiedenen Datum als Suche bekomme ich immer das richtige Ergebnis zurück.
Bist du sicher, dass dein erstes Suchkriterium: Fall.Pat_X_Prax = myPatID etwas findet? Wenn nicht, ist der Rest hinfällig.
Wäre es nicht sinnvollerlet me := this;
let myPatID := Pat_X_Prax;
let myPP_B := 'Fall-Beginn';
Text := first(select Pauschalen where Fall.Pat_X_Prax = myPatID and myPP_B >= PP_Beginn and myPP_B <= PP_Ende).Pauschal_IDzu schreiben?
Und wofür ist das let me := this ? -
Klasse!! Es funktioniert einwandfrei. Sogar komischerweise jetzt mit der Bedingung Fall.Pat_X_Prax = myPatID.
let me := this --> ist für diese Anwendung überflüssig,- habe es vergessen rauszunehmen.
Vielen Dank!
Content aside
- vor 3 JahrenZuletzt aktiv
- 4Antworten
- 251Ansichten