Stránka 1 z 1

MS Access - počet pracovních dní mezi dvěma daty

Napsal: 08 bře 2014 20:13
od mano20
Zdravím,
můžete mi prosím poradit, jak zjistím v Accessu počet pracovních dní (bez víkendů a svátků) mezi dvěma daty, např. 1.1.2014 - 10.1.2014? Jinými slovy něco na způsob funkce Networkdays v Excelu. Díky za rady.

Re: MS Access - počet pracovních dní mezi dvěma daty

Napsal: 09 bře 2014 19:11
od mano20
Zdravím,
vytvořil jsem v Accessu uživatelskou funkci, která se odkazuje na funkci Networkdays z Excelu, ale funguje to jen částečně.

Kód: Vybrat vše

Public Function WorkingDays(StartDate As Date, EndDate As Date Holidays As Date) As Integer
    Dim Exl As Object
    Set Exl = CreateObject("Excel.Application")
    WorkingDays = Exl.WorksheetFunction.NetWorkdays(StartDate, EndDate, Holidays)
    Set Exl = Nothing
End Function


Při tvorbě dotazu volám funkci pomocí následujícího výrazu: Počet pracovních dní: ([StartDate];[EndDate];(#1.1.2014#)), pokud je StartDate např. 1.1.2014 a EndDate 10.1.2014, vrátí funkce 7 pracovních dní, tedy bez Nového roku a dvou víkendových dní. Když se pokusím do výrazu zadat více svátků, hlásí mi to syntaktickou chybu. Jinými slovy, funguje to jen s jedním svátkem. Můžete mi poradit, jak ve výrazu při konstrukci dotazu uvést více svátků, případně jak se odkázat na tabulku, která by tyto svátky obsahovala. Díky.