Beste forumleden
Onderstaand heb ik een module die de feestdagen van het jaar berekend en d.m.v. een query worden die dan weergegeven in een formulier.
Is het nu mogelijk om van de tabel rooster de ingevoerde datums te vergelijken met de datums die door de module gegenereerd wordt.
Op die manier kan ik het rooster controleren op feestdagen.
In het vorige programma had ik een tabel feestdagen (die handmatig ingevuld moest worden) en dat was makkelijk om middels een query het rooster op feestdagen te controleren.
Met deze module die de feestdagen niet in één veld met verschillende records zet maar in één record met verschillende velden, weet ik niet hoe ik dat moet aanpakken.
Iemand enig idee
Ik hoop het
Groet
René
Query
Onderstaand heb ik een module die de feestdagen van het jaar berekend en d.m.v. een query worden die dan weergegeven in een formulier.
Is het nu mogelijk om van de tabel rooster de ingevoerde datums te vergelijken met de datums die door de module gegenereerd wordt.
Op die manier kan ik het rooster controleren op feestdagen.
In het vorige programma had ik een tabel feestdagen (die handmatig ingevuld moest worden) en dat was makkelijk om middels een query het rooster op feestdagen te controleren.
Met deze module die de feestdagen niet in één veld met verschillende records zet maar in één record met verschillende velden, weet ik niet hoe ik dat moet aanpakken.
Iemand enig idee
Ik hoop het
Groet
René
Code:
Option Compare Database
Option Explicit
Function Pasen(jaar As Integer) As Date
Dim A As Byte
Dim B As Byte
Dim C As Byte
Dim D As Byte
Dim E As Byte
A = jaar Mod 19
B = Int(jaar / 100)
C = Int((3 * B - 5) / 4)
D = (Int(12 + 11 * A + (8 * B + 13) / 25 - C) Mod 30 + 30) Mod 30
If 11 * D < A + 1 Then
E = 56 - D
Else
E = 57 - D
End If
Pasen = DateValue("01/03/" & Str(jaar)) + E - 1 - Int(E + (5 * jaar) / 4 - C) Mod 7
End Function
Function IsZZFdag(Datum As Date) As Boolean
Dim jaar As Integer
Dim TDag As String
Dim Pa1 As Date
IsZZFdag = False
'Controleren of de datum een zaterdag of een zondag is
If DatePart("w", Datum) = 1 Or _
DatePart("w", Datum) = 7 Then
IsZZFdag = True
GoTo Einde
End If
'Controleren op feestdagen met een vaste datum
TDag = Format(Datum, "dd-mm")
If TDag = "01-01" Then
IsZZFdag = True
GoTo Einde
End If
If TDag = "30-04" Then
IsZZFdag = True
GoTo Einde
End If
If TDag = "05-05" Then
IsZZFdag = True
GoTo Einde
End If
If TDag = "25-12" Then
IsZZFdag = True
GoTo Einde
End If
If TDag = "26-12" Then
IsZZFdag = True
GoTo Einde
End If
'Bepalen eerste paasdag
jaar = DatePart("yyyy", Datum)
Pa1 = Pasen(jaar)
'Controle goede vrijdag
If (Datum = Pa1 - 2) Then
IsZZFdag = True
GoTo Einde
End If
'Controle tweede paasdag
If (Datum = Pa1 + 1) Then
IsZZFdag = True
GoTo Einde
End If
'Controle hemelvaartdag
If (Datum = Pa1 + 39) Then
IsZZFdag = True
GoTo Einde
End If
'Controle tweede pinksterdag
If (Datum = Pa1 + 50) Then
IsZZFdag = True
GoTo Einde
End If
Einde:
End Function
Query
Code:
SELECT Year(Date()) AS Jaar, pasen([jaar]) AS Pa, Format(DateSerial([Jaar],1,1),"dd-mm-yyyy dddd") AS Nieuwjaar, Format([Pa]-2,"dd-mm-yyyy dddd") AS [Goede vrijdag], Format(([Pa]),"dd-mm-yyyy dddd") AS [1e paasdag], Format(([Pa]+1),"dd-mm-yyyy dddd") AS [2e paasdag], Format(([Pa]+39),"dd-mm-yyyy dddd") AS Hemelvaart, Format(([Pa]+49),"dd-mm-yyyy dddd") AS [1e pinksterdag], Format(([Pa]+50),"dd-mm-yyyy dddd") AS [2e pinksterdag], Format(DateSerial([Jaar],4,30),"dd-mm-yyyy dddd") AS Koninginnedag, Format(DateSerial([Jaar],5,5),"dd-mm-yyyy dddd") AS Bevrijdingsdag, Format(DateSerial([Jaar],12,25),"dd-mm-yyyy dddd") AS [1e kerstdag], Format(DateSerial([Jaar],12,26),"dd-mm-yyyy dddd") AS [2e kerstdag];
Laatst bewerkt: