[Gelöst] SETRANGE mit Table-Element

20. August 2015 14:14

Guten Tag.
Ich habe folgendes Problem:
Ich möchte eine Page auf einen bestimmten Zeitraum filtern. Als Filterzeitraum soll DatumsfilterV (aus einer Table, in die ein Datum eingetragen wird) und WORKDATE dienen.
Mein Code sieht folgendermaßen aus:
Code:
IF DatumsfilterRec.FIND('-') THEN BEGIN
     DatumsfilterV := DatumsfilterRec.Datumsfilter;
     SETRANGE("Posting Date", CALCDATE('<-DatumsfilterV>',WORKDATE), WORKDATE);
   END
ELSE
   MESSAGE(Text000);


Beim Kompilieren zeigt er nichts an.
Wenn ich dann aber die gefilterte Page starten will, zeigt er mir eine Fehlermeldung an, dass DatumsfilterV ein Datum sein muss. Diese Variable ist aber solches deklariert.
Hilfe wäre sehr nützlich. Vielen Dank im Voraus.
Zuletzt geändert von Ramiyu am 25. September 2015 08:53, insgesamt 2-mal geändert.

Re: SETRANGE mit Table-Element

20. August 2015 14:40

Herzlich Willkommen im Forum!
CALCDATE ist nur für Datumsausdrücke gedacht, so kann das nicht funktionieren.

Bereiche eines Filters kann man mit GETRANGEMIN bzw. GETRANGEMAX ermitteln.
Code:
StartDate := Record.GETRANGEMIN("Date Filter");
EndDate := "Record.GETRANGEMAX("Date Filter");

Beispiele:
https://msdn.microsoft.com/en-us/library/dd354955.aspx

Re: [Gelöst]SETRANGE mit Table-Element

21. August 2015 08:49

Vielen Dank, habe es jetzt hinbekommen!