Problemstellung:
Berechnen von bestimmten Datumsangaben, z.B. den 4. Donnerstag vom August 2006
Voraussetzungen:
Das Bsp ist ab A07 lauffähig.
Die Funktion "CalcWeekday" erwartet 3 Parameter
Syntax und Argumente:
Public Function CalcWeekday(intWeekday As Wochentag, intNumber As Integer, _ dtDate As Date) As Date
Der 1. Parameter erwartet den Wochentag. Diese kann auf 2 Arten übergeben werden:
1. Direkt als Zahl, also 1=Montag, 2=Dienstag usw.
2. Aus der Enumeration heraus:
Public Enum Wochentag Montag = 1 Dienstag = 2 Mittwoch = 3 Donnerstag = 4 Freitag = 5 Samstag = 6 Sonntag = 7 End Enum

Der 2. Parameter erwartet den wievielten Wochentag
Es sind nur die Zahlen 1-5 zulässig. Wird ein Zahl kleiner 1 eingeben wird der 1. Tag
gesetzt, bei Werten größer 5 wird der 4. Tag gesetzt.
Der 3. Parameter erwartet das Bezugsdatum
Dieses kann ein beliebiges Datum sein. Aus diesem wird dann das Jahr und der Monat
extrahiert.
Somit könnte der Aufruf so aussehen:
CalcWeekday(Montag,2, "16.08.2006")
Ergebnis wäre für den 2. Montag ausgehend vom 16.08.2006 = 14.08.2006
Weitere Möglichkeiten des Aufrufes befinden sich in der Bsp-DB.
Wird der 5. Tag eines Wochentages abgefragt und es gibt diesen nicht im gewählten
Monat wird eine MsgBox angezeigt.

Ähnliche Artikel