Autor Thema: @BusinessDays mit Script UND Feiertagen  (Gelesen 2010 mal)

botschi

  • Gast
@BusinessDays mit Script UND Feiertagen
« am: 26.02.07 - 10:32:26 »
Moin,

ich möchte gerne in Script die Arbeitstage bis gestern berechnen.
Wenn keine Feiertage in dem Zeitraum berücksichtigt werden müssen, funktioniert meine Formel auch. Das ist die Formel OHNE Feiertage:
ivFormel = |@BusinessDays([| & Cdat(gvArbeitsmonat.monatsanfang(0)) & |];@Yesterday;1:7)|

Wenn es allerdings mehr als einen Feiertag gibt, gibt es einen type mismatch bei der Formel:
ivFormel = |@BusinessDays([| & Cdat(gvArbeitsmonat.monatsanfang(0)) & |];@Yesterday;1:7;| &  feiertage & |)|.
"feiertage" ist eine Variable vom Typ Variant und enthält alle Werte aus dem Feld "Feiertage" (Mehrfachwerte zulassen).
Im Debugger sieht die Variable feiertage so aus : [01.02.2007, 02.02.2007].
Ich kann mir schon vorstellen, dass die Formel mit so einem Format nix anfangen kann, aber ich habe vieles probiert und immer einen Fehler bekommen.

Die Suche im Forum und im Netz hat mir keine Tips gegeben, wie die Formel aussehen muss, wenn mehr als ein Feiertag vorkommt.

Kann mir jemand helfen?
Danke!

Matthias

Offline Tobi2283

  • Frischling
  • *
  • Beiträge: 31
  • Geschlecht: Männlich
Re: @BusinessDays mit Script UND Feiertagen
« Antwort #1 am: 26.02.07 - 12:38:10 »
hallo,

damit das mit den feiertagen geht, müssen die einzelnen werte durch doppelpunkte getrennt werden und jedes datum ist mit einer eckigen klammer zu versehen.

ich würde hier mit "for i = 0 to ubound(feiertage)" arbeiten, jeden einzelnen eintrag mit den eckigen klammern versehen und anschließend durch doppelpunkte trennen.

gibt evtl. eine elegantere löschung, aber das fällt mir spontan ein.

grüße
tobias
« Letzte Änderung: 26.02.07 - 13:15:33 von Tobi2283 »

botschi

  • Gast
Re: @BusinessDays mit Script UND Feiertagen
« Antwort #2 am: 26.02.07 - 15:42:46 »
Moin,

ich habs so gemacht:
Forall werte In ivFeiertageItem.Values
   If iv_alle_feiertage = "" Then
      iv_alle_feiertage = "[" & werte & "]"
   Else
      iv_alle_feiertage = iv_alle_feiertage + ":" + "[" & werte & "]"
   End If
End Forall

Und das übergebe ich dann der Formel:
ivFormel = |@BusinessDays([| & Cdat(gvArbeitsmonat.monatsanfang(0)) & |];@Yesterday;1:7;| & iv_alle_feiertage & |)|

Das ist wohl das, was Tobias mir empfohlen hat.

Bei mir funktioniert es, bin aber gleichzeitig auch noch skeptisch. Ich wunder mich, dass ich in keinem Forum sowas gefunden habe und dass (ausser Tobias) mir das keiner sageb konnte...

Mal sehen, wie lange das so läuft ... ;D

Matthias

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz