DTPicker, KWoche und das leidige Jahr
11.03.2015 09:05:49
Marcus
Ich muss mich als erstes mal für die Hilfe, die ich hier erhalten habe, bedanken.
Nun habe ich ein neues Problem. Die Lösung ist nur im VBA möglich!
Zur Sache: Ich habe einen DateAndTimePicker. Über das eingestellte Datum errechne ich die Kalenderwoche und schreibe diese und das Jahr in eine "Datenbank". So weit so gut.
Wenn ich jetzt aber den 31.12.2015 wähle, dann erhalte ich als KW die 53 und als Jahr 2015. Auch richtig.
Stelle ich den 1.1.2016 ein, bekomme ich richtigerweise die KW 53, habe aber das Problem, dass jetzt das Jahr auf 2016 gewechselt hat, es aber ja keine KW 53 in 2016 gibt. Ich muss also verhindern, dass solange es die letzte KW im Jahr ist, sich das Datum wechselt. Dies muss nicht im DTPicker geschehen, sondern kann beim schreiben in die "Datenbank" einfließen.
Zur Verdeutlichung:
Private Sub DTPickerBetriebsstunden_Change()
'beim initialisieren wieder verlassen
If blnInInit Then Exit Sub
Dim KW As Integer
With DTPickerBetriebsstunden
'KW ausrechnen
KW = CInt(Kalenderwoche_DIN(.Value))
'KW an die Wochenanzeige übergeben
WriteValue CInt(KW), "Fix32.THISNODE.AUSWAHL_WO_BSANZEIGE.F_CV"
'Datumswechsel noch berechnen
If ** was muss ich hier schreiben? ** Then
WriteValue CInt(Year(.Value) - 1), Fix32.THISNODE.AUSWAHL_JA_BSANZEIGE.F_CV"
Else
WriteValue CInt(Year(.Value)), "Fix32.THISNODE.AUSWAHL_JA_BSANZEIGE.F_CV"
End If
End With
End Sub
Der Code darf natürlich auch geändert werden, wenn jemand eine bessere Idee hat.
Vielen Dank erstmal.