Autor Thema: [Script]- Quartal aus Datum LS  (Gelesen 6722 mal)

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
[Script]- Quartal aus Datum LS
« 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
------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

Glombi

  • Gast
Re: [Script]- Quartal aus Datum LS
« Antwort #1 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

Offline koehlerbv

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: [Script]- Quartal aus Datum LS
« Antwort #2 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

Glombi

  • Gast
Re: [Script]- Quartal aus Datum LS
« Antwort #3 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

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
Re: [Script]- Quartal aus Datum LS
« Antwort #4 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
------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

Offline koehlerbv

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: [Script]- Quartal aus Datum LS
« Antwort #5 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

Glombi

  • Gast
Re: [Script]- Quartal aus Datum LS
« Antwort #6 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
« Letzte Änderung: 16.06.05 - 18:39:55 von Glombi »

Offline emadowo

  • Aktives Mitglied
  • ***
  • Beiträge: 105
  • Geschlecht: Männlich
  • Danke für dieses Forum!
Re: [Script]- Quartal aus Datum LS
« Antwort #7 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!
Erwin Maier
IT-Administration Genossenschaftsbank
Notes R9.01
Kenntnisse: Formelsprache, Script

Offline nicht-schwimmer

  • Frischling
  • *
  • Beiträge: 46
  • Geschlecht: Männlich
Re: [Script]- Quartal aus Datum LS
« Antwort #8 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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz