tutorials.de Buch-Aktion 05/2012
  • [VB6] Kaufmännische Datumsangaben

    Im kaufmännischen Bereich des Lebens, und dazu gehören z.B. auch kaufmännische Anwendungen, wird häufig mit sogenannten "Kalenderwochen" anstatt mit expliziten Datumsangaben gearbeitet.

    Die vorgeführten Funktionen wandeln ein gültiges Tagesdatum in "Kalenderwoche" um, sowie eine gegebene Kalenderwoche in ein Tagesdatum (in gezeigtem Fall immer der Montag der Woche).

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    
    Public Function KalenderWoche(Datum As Date) As Integer
    Dim tmp As Double
     
       tmp = DateSerial(Year(Datum + (8 - Weekday(Datum)) Mod 7 - 3), 1, 1)
       KalenderWoche = (Datum - tmp - 3 + (Weekday(tmp) + 1) Mod 7) \ 7 + 1
     
    End Function
     
    Public Function Datum_aus_Woche(Jahr As Integer, _
                                    Woche As Integer)
    Dim intTag As Integer
    Dim intWoche As Integer
       
       If Jahr = 0 Then
          Datum_aus_Woche = 0
          Exit Function
       End If
       
       intTag = 1
       intWoche = KalenderWoche(DateSerial(Jahr, 1, 1))
       
       If intWoche <> 1 Then
          Do Until KalenderWoche(DateSerial(Jahr, 1, intTag)) = 1
             intTag = intTag + 1
          Loop
       Else
          Do Until KalenderWoche(DateSerial(Jahr, 1, intTag)) <> 1
             intTag = intTag - 1
          Loop
          intTag = intTag + 1
       End If
       
       Datum_aus_Woche = DateSerial(Jahr, 1, intTag) + (Woche - 1) * 7
     
    End Function
    Orderby01 bedankt sich. 


    Kommentare Kommentar schreiben

    Klicke hier, um dich anzumelden

    Was ist grün und kann quaken?