Erst einmal benötigt man eine Tabelle mit einem Datumsfeld, ich habe es einfach Tag benannt. Dann muß man alle arbeitsfreien Tage außer Samstage und Sonntage in diese Tabelle eintragen. D. h. Feiertage usw.
Dann legt man ein Modul mit folgendem Code an:
Function NArbTage(dat1 As Date, dat2 As Date)
Dim BAT As Long, i As Long, NettoTage As Long
Dim db As DAO.Database
Dim rsFT As DAO.Recordset
Set db = CurrentDb()
Set rsFT = db.OpenRecordset("tbl_feiertage", dbOpenSnapshot)
rsFT.MoveFirst
BAT = DateDiff("d", dat1, dat2)
For i = 0 To dat2 - dat1
If Not Weekday(dat1 + i) = vbSunday And Not Weekday(dat1 + i) = vbSaturday Then
rsFT.FindFirst "Tag = #" & Format(dat1 + i, "yyyy mm dd") & "#"
If rsFT.NoMatch Then
NettoTage = NettoTage + 1
End If
rsFT.MoveFirst
End If
Next i
rsFT.Close
NArbTage = NettoTage
End Function
Nun muß man nur noch, z. B. als Standardwert eines Feldes in einem Formular,
NArbTage([vonDatum]; [bisDatum])
aufrufen! Und schon hat man "seine" Nettoarbeitstage.