Das Notes Forum

Lotus Notes / Domino Sonstiges => Tipps und Tricks => Thema gestartet von: robertpp am 16.06.05 - 16:02:08

Titel: [Script]- Quartal aus Datum LS
Beitrag von: robertpp am 16.06.05 - 16:02:08
Hab leider nichts bezüglich diesem Thema gefunden und da hab ich mir gedacht schreibst schnell mal etwas. Ist zwar nichts besonderes aber mir hat es weitergeholfen.

Sub Click(Source As Button)
   i = Today
   Call setquarter(i)
End Sub

Function setquarter(sToday As Variant)
   If sToday <> "" And Isdate(sToday) Then
      iYear = Year(sToday)
      Quartal = (Month(sToday)/3)
      fQuartal = Fraction(Quartal)
      If fQuartal * 10 < 5 And fQuartal <> 0 Then
         Quartal = Quartal +1
      Elseif fQuartal * 10 > 5 Then
         Quartal = Quartal
      End If
      Quartal = Cint(Quartal)
'      Msgbox Quartal & ". Quartal " & iYear
      setquarter = quartal
   End If
End Function


Wahrscheinlich gibt es eh ein Funktion  :D aber ich hab sie nicht gefunden.

Gruss Robert
Titel: Re: [Script]- Quartal aus Datum LS
Beitrag von: Glombi am 16.06.05 - 16:14:36
Ich habe das noch etwas optimiert:

q = 1 + Fix( (monat-1) / 3 )

Function setquarter(sToday As Variant)
   If sToday <> "" And Isdate(sToday) Then
      Quartal = 1 + Fix( (Month(sToday)-1) / 3 )
       setquarter = quartal
   End If
End Function

Andreas
Titel: Re: [Script]- Quartal aus Datum LS
Beitrag von: koehlerbv am 16.06.05 - 16:34:49
Auf jeden Fall erste Danke - diese Routine werden sicherlich viele gebrauchen können.

Ich habe auch noch etwas optimiert:

If Isdate(sToday) Then ...

weil Isdate ("") ist False.

Und vielleicht sollte man die Function noch sauber deklarieren:
Function setquarter(sToday As Variant) As Integer

Bernhard
Titel: Re: [Script]- Quartal aus Datum LS
Beitrag von: Glombi am 16.06.05 - 16:46:03
Also so:

Function setquarter(sToday As Variant) as integer
   If Isdate(sToday) Then
      setquarter = 1 + Fix( (Month(sToday)-1) / 3 )
  Else
       setquarter = 0
   End If
End Function



Es wird also 0 zurückgegeben, falls kein Datum berechnet wurde.

Andreas
Titel: Re: [Script]- Quartal aus Datum LS
Beitrag von: robertpp am 16.06.05 - 16:48:34
Passt,

dacht mir doch das geht noch einfacher das aber dann nur noch die hälfte übrig bleibt das hätte ich mir nicht gedacht!

Kleines Workaround mit goßer Wirkung.

Robert
Titel: Re: [Script]- Quartal aus Datum LS
Beitrag von: koehlerbv am 16.06.05 - 16:53:08
Das ist das, was mir bei AtNotes und seiner Community so gefällt und über alle Mühen und Trubel hinweghilft: Es gibt ein Problem (oder wie hier eine Idee), und dann arbeiten viele Hirne gemeinsam und zeigen häufig Nutzen, den kein Einzelner geschafft hätte.  ;)

Bernhard
Titel: Re: [Script]- Quartal aus Datum LS
Beitrag von: Glombi am 16.06.05 - 18:30:50
In Formelsprache sähe es dann so aus:

1 + @Integer( (@Month(datum) - 1) / 3 );

Mit Abfrage auf korrektes Datum dann so:

_datum := @Today;
_monat := @Month(_datum);
@If(
   @IsTime(_datum);
      1 + @Integer( (@Month(_datum) - 1) / 3 );
   0
);


Andreas
Titel: Re: [Script]- Quartal aus Datum LS
Beitrag von: emadowo am 19.08.09 - 11:39:34
Frage zur Formel:

1 + @Integer( (@Month(datum) - 1) / 3 );

Diese Formel übersetze ich wie folgt: "Nimm den Monat des Datums, ziehe 1 ab, teile das ganze durch drei, daraus die Ganzzahl und zähle 1 dazu, das ergibt das Quartal"

Beispiel:  19.08.09 >  08 > 08-1 = 07 > 07:3 = 2,33 > Ganzzahl 2,33 = 2 > 2 + 1 = 3 = 3. Quartal
23.01.09 > 01 - 1 = 0 > 0:3 = 0,33 > Ganzahl 0,33 = 0 > 0 + 1 = 1 = 1. Quartal

Wie kann man das frei formuliert erklären, daß diese Formel das Quartal ergibt?

Danke!
Titel: Re: [Script]- Quartal aus Datum LS
Beitrag von: nicht-schwimmer am 19.08.09 - 16:12:26
Hi,

Besserwissermodus ein
0:3 gibt nach alter Rechtschreibung 0 und nicht 0,33 - ändert aber nix am Ergebnis
Besserwissermodus aus

Gruß
Jörg