kalendar rooster

Status
Niet open voor verdere reacties.

klablabla

Gebruiker
Lid geworden
28 apr 2008
Berichten
116
Graag zou ik mijn verlof database bij gaan uitbreiden.
Hoe kan ik het beste aan de slag gaan als ik vanuit al die verlof aanvragen een rooster wil maken?
In de DB wordt naam, begin dag en eind dag opgeslagen als datum.
 
Als je een rooster wilt maken, bedoel je vermoedelijk een kalender overzicht? Of zo nee, wat dan wel?
 
Dat is in beginsel een beetje lastig, omdat je in je tabel opslaat wanneer iemand is ingeroosterd. Je zou zeggen: de ontbrekende dagen zijn dan de vrije dagen, maar in een db werkt dat niet zo. Je moet op de een of andere manier die gegevens genereren om ze te kunnen laten zien. Je kunt dat doen door een datumtabel te maken die je vult met alle noodzakelijke (werk)dagen. In een query neem je dan je roostertabel op, en die tabel met werkdagen, en m.b.v. een criterium maak je een gedeeltelijk cartesisch product query. Die lervert dan een tabel op met alle lege dagen, en dagen dat er mensen zijn ingeroosterd. Op basis daarvan maak je dan een kruistabel query.
 
Laat ik dan maar eerst beginnen met tijd tellen in mijn verlof aanvraag.
Mensen vullen begin datum in en eind datum in (eventueel tijd).

Ik wil nu kunnen tellen hoeveel uur verlof er genomen is. bijv.
2-5-2012 t/m 10-5-2012
dit is 7 keer 8 uur verlof
En een weekend erin die niet gewerkt wordt.

Wat ook mogelijk moet zijn is
2-5-2012 12:00 t/m 2-5-2012 16:00
dit is dus 1 keer 4 uur.

Hoe kan ik dit het makkelijkst rekenen.
Dagen duren 8 uur ipv 24, dat zou ik kunnen oplossen door aantal dagen keer 8 te doen.

Maar dan zit ik met de weekenden en feestdagen.
 
Om er achter te komen of het een feestdag is of weekend heb ik de volgende code.
In een tabel heb ik heb ik alle feestdagen staan.

Code:
Function OfficeClosed(TheDate) As Integer
   
   OfficeClosed = False
     TheDate = Format(TheDate, "dd/mm/yyyy")

   If Weekday(TheDate) = 1 Or Weekday(TheDate) = 7 Then
       OfficeClosed = True

   ElseIf Not IsNull(DLookup("HoliDate", "Holidays", "[HoliDate]=#" _
     & TheDate & "#")) Then
       OfficeClosed = True
   End If

End Function

Nu het volgende:

Ik heb twee invoervelden met datums, begin en eind datum.
Nu wil ik de dagen tellen zonder de weekend en feestdagen.

Iemand nog tips.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan