dr.cornwallis
Goto Top

Gibt es in Access eine Möglichkeit die Anzahl der Arbeitstage auszugeben

Liebe Gemeinde,

gibt es in Access wie in Excel eine Funktion die die mon. Arbeitstage ausgibt(Excel - Nettoarbeitstage)?


Danke für eure Hilfe/Tipps

Gruß

Dr.

Content-ID: 313554

Url: https://administrator.de/forum/gibt-es-in-access-eine-moeglichkeit-die-anzahl-der-arbeitstage-auszugeben-313554.html

Ausgedruckt am: 26.12.2024 um 13:12 Uhr

129813
129813 25.08.2016 aktualisiert um 13:41:50 Uhr
Goto Top
http://www.office-loesung.de/ftopic70050_0_0_asc.php
or you could also do
Set objExcel = CreateObject("Excel.Application")  
days = objExcel.WorksheetFunction.NetworkDays(CDate("01.01.2016"), CDate("05.01.2016"))  
objExcel.Quit
MsgBox days
Regards
Kraemer
Lösung Kraemer 25.08.2016 um 13:47:45 Uhr
Goto Top
Function Work_Days(BegDate As Variant, EndDate As Variant) As Integer 
 
 Dim WholeWeeks As Variant 
 Dim DateCnt As Variant 
 Dim EndDays As Integer 
 
 On Error GoTo Err_Work_Days 
 
 BegDate = DateValue(BegDate) 
 EndDate = DateValue(EndDate) 
 WholeWeeks = DateDiff("w", BegDate, EndDate)   
 DateCnt = DateAdd("ww", WholeWeeks, BegDate)   
 EndDays = 0 
 
 Do While DateCnt <= EndDate 
 If Format(DateCnt, "ddd") <> "Sun" And _   
 Format(DateCnt, "ddd") <> "Sat" Then   
 EndDays = EndDays + 1 
 End If 
 DateCnt = DateAdd("d", 1, DateCnt)   
 Loop 
 
 Work_Days = WholeWeeks * 5 + EndDays 
 
Exit Function 
 
 Err_Work_Days: 
 
 ' If either BegDate or EndDate is Null, return a zero   
 ' to indicate that no workdays passed between the two dates.   
 
 If Err.Number = 94 Then 
 Work_Days = 0 
 Exit Function 
 Else 
' If some other error occurs, provide a message.   
 MsgBox "Error " & Err.Number & ": " & Err.Description   
 End If 
 
End Function

Quelle
Dr.Cornwallis
Dr.Cornwallis 29.08.2016 um 10:49:42 Uhr
Goto Top
Danke für eure Antworten, das ist leider noch nicht ganz das was ich benötige.

Ich bräuchte diese Werte für eine Access Query, bei dieser sollen im Feld mit Datumswerten als Kriterium die ersten 5 Werktage/Arbeitstage im Monat gefiltert werden.

Bis jetzt habe ich die Vorwoche als Kriterium:

=Datum()-Wochentag(Datum())-5 Und <=Datum()-Wochentag(Datum())-1

Danke!

Gruß

Dr.
Dr.Cornwallis
Dr.Cornwallis 29.08.2016 um 10:51:19 Uhr
Goto Top
Sorry, falscher Thread face-smile
129813
129813 29.08.2016 aktualisiert um 10:56:51 Uhr
Goto Top
In case you don't know, every VBA Function can be written to be also used in access expressions face-wink