Avatar billede nird Nybegynder
21. januar 2004 - 23:55 Der er 5 kommentarer og
1 løsning

Arbejdsdage i sql ellers Acces

Er der en mulighed for en funktion der retunerer antal arbejdsdage i en given periode. Enten i sql eller i Acces?
22. januar 2004 - 00:13 #1
Hvis du laver en tabel kaldet "Helligdage" med kun en kolonne. Denne kolonne skal hedde "Dato" og være af datatypen Dato/Tid

Herefter indsætter du disse 2 funktioner i et modul:

Public Function Arbejdsdag(Dato As Date) As Boolean
    If Weekday(Dato) = 7 Or Weekday(Dato) = 1 Then
        Arbejdsdag = False
    ElseIf DCount("*", "Helligdage", "Dato = #" & Format(Dato, "yyyy-mm-dd") & "#") > 0 Then
        Arbejdsdag = False
    Else
        Arbejdsdag = True
    End If
End Function

Public Function FindAntalArbejdsdage(Startdato As Date, Slutdato As Date) As Long
    Dim tmpDato As Date
    Dim n As Integer
    tmpDato = Startdato
    Do Until tmpDato >= Slutdato
        If Arbejdsdag(tmpDato) Then
            n = n + 1
        End If
        tmpDato = tmpDato + 1
    Loop
    FindAntalArbejdsdage = n
End Function

Herefter kan du finde antal arbejdedage ved at spørge f.eks.:
FindAntalArbejdsdage(Dato1;Dato2)

/Thomas
Avatar billede trer Nybegynder
22. januar 2004 - 09:01 #2
Alle skæve helligdage beregnes ud fra påske.  Pinse er 50 dage efter påske. Kr. himmelfart er 40 dage efter, bededag er 4 fredag efter påske etc.

Påsken beregnes som værende første søndag efter første fuldmåne efter forårsjævndøgn. Du kan på nettet finde formler til at beregne påske, men nemmest er at lave en tabel med påske-dage for de næste 10 år (kan findes i en almanak).
Avatar billede nird Nybegynder
22. januar 2004 - 14:04 #3
Findes der ikke en nemmere måde? Ved at der i excel findes en funktion antal.arbejdsdage(dag1, dag2)
22. januar 2004 - 14:08 #4
Der er desværre ikke en tilsvarende funktion i Access. Du kan set et langt mere besværligt eks. her:http://www.mvps.org/access/datetime/date0012.htm

Men jeg synes nu ikke, at mit eks. er særlig besværligt. Så snart koden ligger i et modul, kan du jo bruge funktionen fuldstændig om den i Excel. Den i Excel tager vel ikke engang hensyn til helligdage, gør den?
Avatar billede nird Nybegynder
22. januar 2004 - 14:20 #5
den tager hensyn til helligdage...
Men prøver...
Avatar billede nird Nybegynder
22. januar 2004 - 14:22 #6
Hvor kalder jeg funktione fra? sql?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester