Das Notes Forum
Lotus Notes / Domino Sonstiges => Tipps und Tricks => Thema gestartet 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
-
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
-
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
-
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
-
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
-
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
-
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
-
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!
-
Hi,
Besserwissermodus ein
0:3 gibt nach alter Rechtschreibung 0 und nicht 0,33 - ändert aber nix am Ergebnis
Besserwissermodus aus
Gruß
Jörg