KAlender erkennt 29.02.2008 nicht

Von: , Frage gestellt am Mo, 28. Jan 2008

Hallo zusammen,

ich habe folgendes Problem:
In einer Datenbank habe ich folgende Prozedur:

'Datum als Text

Datum = Format(Forms!Montagetermin!Mbegin, "dd.mm.yyyy")

'TerminMatrix erstellen

VLZ_mit = 0
VLZ_ohne = 0

Kalender.FindFirst "[datumtext] = '" + Datum + "'"

If Kalender!AT = "A" Then

TermM.AddNew
TermM!VLZ_mit = VLZ_mit
TermM!VLZ_ohne = VLZ_ohne
TermM.Update

Do

Kalender.MoveNext

If Kalender!AT = "A" Then

VLZ_mit = VLZ_mit + 1
VLZ_ohne = VLZ_ohne + 1

TermM.AddNew
TermM!VLZ_mit = VLZ_mit
TermM!VLZ_ohne = VLZ_ohne
TermM.Update

End If

If (Kalender!AT = "W") Or (Kalender!AT = "F") Then VLZ_mit = VLZ_mit + 1

Loop Until VLZ_ohne >= 20

Die Tabelle Kalender enthält die Datumnsdaten des Kalenderjahres 2008. Für alle Tage steht in der Spalte AT ob es sich um einen Arbeitstag (A), Wochenende (W) oder Feiertag (F) handelt. Im ersten Durchlauf der Schleife erkennt Access den 29.02. als Arbeitstag (A).Mit dem Befehl Kalender.MoveNext springt er aber nicht auf den 01.03., sondern ans Ende der Tabelle, wo er den 01.01.2009 als Feiertag erkennt und beim nächsten Kalender.MoveNext keine DAtensätze mehr findet.

Lasse ich die Prozedur mit dem Datum 28.02.2008 durchlaufen, dann erkennt das Programm zwar den 28.02. als solchen, überspringt aber den 29.02. und landet auf dem 01.03.

Woran kann das liegen und wie könnte man dieses Problem beheben?
Über eine schnelle Antwort von euch würde ich mich freuen.

Viele Grüße von Beate

1 Antworten zu dieser Frage

  1. Antwort von nach 5 Stunden 0 hilfreich
    Re: KAlender erkennt 29.02.2008 nicht

    Hallo zusammen,

    ich habe folgendes Problem:
    In einer Datenbank habe ich folgende Prozedur:

    'Datum als Text
    .
    . Die Tabelle Kalender enthält die Datumnsdaten des
    Kalenderjahres 2008. Für alle Tage steht in der Spalte AT ob
    es sich um einen Arbeitstag (A), Wochenende (W) oder Feiertag
    (F) handelt. Im ersten Durchlauf der Schleife erkennt Access
    den 29.02. als Arbeitstag (A).Mit dem Befehl Kalender.MoveNext
    springt er aber nicht auf den 01.03., sondern ans Ende der
    Tabelle, wo er den 01.01.2009 als Feiertag erkennt und beim
    nächsten Kalender.MoveNext keine DAtensätze mehr findet.

    Lasse ich die Prozedur mit dem Datum 28.02.2008 durchlaufen,
    dann erkennt das Programm zwar den 28.02. als solchen,
    überspringt aber den 29.02. und landet auf dem 01.03.

    Woran kann das liegen und wie könnte man dieses Problem
    beheben?
    Über eine schnelle Antwort von euch würde ich mich freuen.

    Viele Grüße von Beate
    Hallo,
    am Besten behebst Du das, indem Du das Datumsfeld in den Tabellen als vom Datentyp Datum/Uhrzeit deklarierst und den Code entspr. anpaßt..

    Gruß Franz

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!