Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Alperen15 am 21.09.12 - 13:26:27

Titel: Formelsprache Abfrage Vormonat
Beitrag von: Alperen15 am 21.09.12 - 13:26:27
Hallo alle zusammen,

ich hätte eine Frage und ein Problem :-:
ich möchte in der Ansicht alle Dokumente vom Vormonat sehen, d.h. aktuell alle aus August
meine Formelsprache liefert mir bloss momentan alle Dokumente von heute bis 30 Tage zurück.
Gibt es dafür ein @ Befehl?? Danke im Voraus für eure Tipps.

SELECT (Form = "maAccessRequest" | Form = "maAccessRequestTest" & fdOn4 != "" &
@Date(fdOn4) <= @Today & @Date(fdOn4) >= @Adjust(@Today;0;-1;0;0;0;0))
Titel: Re: Formelsprache Abfrage Vormonat
Beitrag von: ascabg am 21.09.12 - 13:51:03
Hallo,

Koennte man denn nicht zuerst den 1. des aktuellen Monates errechnen.
Anschliessend errechnet man hieraus den Vormonat und das Jahr dieses Vormonates.

In der Selectionsformel vergleicht man diese beiden errechneten Werte mit den entsprechenden Werten aus dem Fls, a la

Monat des Datums aus dem Feld = errechneter Vormonat und Jahr aus dem Datum im Feld = errechnetes Jahr.


Andreas
Titel: Re: Formelsprache Abfrage Vormonat
Beitrag von: Peter Klett am 21.09.12 - 13:52:45
Unabhängig davon, dass es nicht wirklich gut ist, @Today in einer Selektionsformel zu verwenden (dazu gibt es etliche Beiträge hier im Forum), musst Du Monat und Jahr vergleichen.

Deine Formel rechnet

<= Heute und >= Heute vor einem Monat

Das Ergebnis, das Du bekommen hast, ist also absolut das, was Du definiert hast. Denk erstmal drüber nach, wie Du es auf deutsch beschreiben würdest.
Titel: Re: Formelsprache Abfrage Vormonat
Beitrag von: Mitch am 21.09.12 - 13:53:35
@Date(fdOn4) <= @Today & @Date(fdOn4) >= @Adjust(@Today;0;-1;0;0;0;0)

Das steht da doch auch genau so: Alles zwischen "Heute" und "Heute minus einem Monat". Also Pi mal Daumen die letzten 30 Tage.

Mit @Date und @Adjust bist du aber schon in der richtigen Richtung unterwegs. Schau dir mal in der Hilfe @Date an, damit kannst du dir nämlich auch ein Datum aufbauen. @Year und @Month sind auch interessant.

Tipp: Du willst einmal den "1. LetzerMonat DiesesJahr" und einmal den "1. DieserMonat DiesesJahr" (oder, frei nach Gusto, den "(1. DieserMonat DiesesJahr) minus einen Tag").

Gruß,

Mitch

Edit: Grml, zu langsam... :)
Titel: Re: Formelsprache Abfrage Vormonat
Beitrag von: Alperen15 am 24.09.12 - 12:03:39
Hallo alle zusammen,

erstmal Danke, dass Ihr euch Zeit genommen habt.

Laut der aktuellen Selektion habe ich alle Dokumente von heute bis -30 Tage, da sind auch Dokumente vom aktuellen Monat logischerweise. Ich bräcuhte alle Dokumente vom Vormonat

Die Selektion müsste so lauten,
AktuellerMonat - 1 Monat zurück = Vormonat
Titel: Re: Formelsprache Abfrage Vormonat
Beitrag von: Peter Klett am 24.09.12 - 12:10:54
Also willst Du alle Dokumente, dessen Monat und Jahr dem Vormonat entsprechen. Das zu definieren, helfen vielleicht Formeln wie @Month und @Year. In @Date soll es auch noch Formatierungsmöglichkeiten geben, habe mich aber nie damit auseinandergesetzt.
Titel: Re: Formelsprache Abfrage Vormonat
Beitrag von: ascabg am 24.09.12 - 12:12:17
Auch @Text bietet eine menge an Foormatierungsmoeglichkeiten an, speziell auch in Bezug auf das Datum.


Andreas
Titel: Re: Formelsprache Abfrage Vormonat
Beitrag von: koehlerbv am 24.09.12 - 12:19:45
Mit @Adjust (@Today; 0; -1; 0; 0; 0; 0) Datum vor einem Monat ermitteln. Hieraus @Month und @Year ermitteln und diese Werte für die Selektionsformel verwenden. Das ist wirklich sehr einfach und beachtet auch einen gerade zurückliegenden Jahreswechsel.

Bernhard
Titel: Re: Formelsprache Abfrage Vormonat
Beitrag von: Fineas am 27.09.12 - 11:49:07
Und um das @today als Performance-Killer loszuwerden: einfach eine eigebettete Ansicht mit single category verwenden, das Datum für die Kategorie wie oben geschildert berechnen und als Kategoriespalte eine Kombination aus Monat/Jahr. Das hätte darüberhinaus den Vorteil, dass man das Datum über einen Feldwert sogar zur Auswahl anbieten könnte und der letzte Monat dann nur die Vorgabeeinstellung wäre.

Gruß, Heiko