Fehler bei Datumsberechnung

23/04/2010 - 09:11 von Gerd Haseloff | Report spam
Hallo,

ich habe in einem Formular 2 Textfelder, welche mit Datumswerten
befüllt werden.
Daraus resultierend möchte ich die Anzahl der Wochentage ermitteln,
welche nicht auf einem Samstag. Sonntag oder Feiertag fallen. Als
Hilfstabelle benutze ich dazu die Tabelle Jahr, welche folgende Felder
enthàlt:

Datum Typ: Datum
Wochentag Typ: Zahl (1-7)
Feiertag ja/nein

Dim a As String
Dim b As String
a = Me.txtub
b = Me.txtue


sql3 = "SELECT Count(JAHR.WT) AS ANZWT FROM JAHR WHERE
Format(JAHR.Datum,'tt.mm.yyyy')

= '" & a & "' And


Format(JAHR.Datum,'tt.mm.yyyy')<='" & b & "'
AND JAHR.WT Not In (6,7) AND JAHR.FT=0"

Set db = CurrentDb
Set rs3 = db.OpenRecordset(sql3)
Debug.Print ; rs3!anzwt -> liefert Wert : 0
Stop

Ich habe schon ein wenig gesucht, konnte aber bisher nichts
verwertbares finden. Sicher ist die Formatdefinition nich korrekt.
Wer kann mir helfen?

Gruß Gerd
 

Lesen sie die antworten

#1 Rudolf
24/04/2010 - 10:47 | Warnen spam
Hallo
hilft Das:
Public Function AnzArbeitstage(VonDat As Date, BisDat As Date) As Long
Dim LngRes As Long
Dim LngWoch As Long
LngRes = DateDiff("y", VonDat, BisDat)
LngWoch = DateDiff("ww", VonDat, BisDat)
LngRes = LngRes - (2 * LngWoch)
If Weekday(VonDat) = vbSunday Then LngRes = LngRes - 1 ' Korrektur für
LngWochende
If Weekday(BisDat) = vbSunday Then LngRes = LngRes + 1
AnzArbeitstage = LngRes
End Function

Ruedi


"Gerd Haseloff" wrote:

Hallo,

ich habe in einem Formular 2 Textfelder, welche mit Datumswerten
befüllt werden.
Daraus resultierend möchte ich die Anzahl der Wochentage ermitteln,
welche nicht auf einem Samstag. Sonntag oder Feiertag fallen. Als
Hilfstabelle benutze ich dazu die Tabelle Jahr, welche folgende Felder
enthàlt:

Datum Typ: Datum
Wochentag Typ: Zahl (1-7)
Feiertag ja/nein

Dim a As String
Dim b As String
a = Me.txtub
b = Me.txtue


sql3 = "SELECT Count(JAHR.WT) AS ANZWT FROM JAHR WHERE
Format(JAHR.Datum,'tt.mm.yyyy')
>= '" & a & "' And
Format(JAHR.Datum,'tt.mm.yyyy')<='" & b & "'
AND JAHR.WT Not In (6,7) AND JAHR.FT=0"

Set db = CurrentDb
Set rs3 = db.OpenRecordset(sql3)
Debug.Print ; rs3!anzwt -> liefert Wert : 0
Stop

Ich habe schon ein wenig gesucht, konnte aber bisher nichts
verwertbares finden. Sicher ist die Formatdefinition nich korrekt.
Wer kann mir helfen?

Gruß Gerd
.

Ähnliche fragen