klein probleem met datum

Status
Niet open voor verdere reacties.

dinoshop

Terugkerende gebruiker
Lid geworden
8 sep 2000
Berichten
1.100
ik gebruik deze om te filteren feestdagen , maar zou ook graag willen dat die filter op oudennieuw

dag: IIf(IsZZFVdag([Datum])=Waar;"feestdag";IIf(Weekday([Datum];2)<6;"Week";Format([Datum];"dddd";2;2)))

hoe pas ik dit aan ?
heb natuurlijk al van alles geprobeerd
 
Ook Oud en Nieuw toegevoegd als feestdag in je functie?
 
was maar zo makkelijk
ik gebruik een code die feestdagen filter en daarbij een vergoeding berekend .jij kent het wel.
nu heb ik twee velden in tabel staan regulier en event nu is zo dat een regulier wel recht heeft op vergoeding bij feestdagen maar een event niet uitzondering 31-12 en 1-1
deze mogen worden berekend als 200%.
nu heb ik alles werkend behalve die oudennieuw niet .
daar zoek ik dus een oplossing voor .
Code:
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
 
nu heb ik twee velden in tabel staan regulier en event nu is zo dat een regulier wel recht heeft op vergoeding bij feestdagen maar een event niet uitzondering 31-12 en 1-1 deze mogen worden berekend als 200%.
Je stelt nu een andere vraag, Je vroeg namelijk:
ik gebruik deze om te filteren feestdagen , maar zou ook graag willen dat die filter op oudennieuw
En jouw functie filtert dus wel degelijk op Oud en Nieuw, want die datums staan in de functie. Maar nu wil je dus blijkbaar níet filteren op Oud en nieuw. Dan moeten die datums niet meer in de functie voorkomen, lijkt mij.
 
zoals je ziet kan je dus met een tekst filteren in de bovenste formule en daar dus een tests aan geven "feestdagen".
das heel mooi maar zou speciaal er uit willen hebben "oudennieuw", als deze nu in de formule zet word er op alle dagen die een feestdag zijn ingevuld oudennieuw en ook daarbij behorende percentages dus dat werkt maar de scheiding tussen feestdag en oudennieuw lukt mij niet .

ik zoek dus zoiets als
If TDag = "01-01" Then
Tdag="oudennieuw"
IsZZFdag = True
GoTo Einde
maar dat werk natuurlijk voor geen meter.
hoe los ik dit dus op?

End If
 
in de query denk ik aan zoiets
IIf(IsZZFVdag([Datum])=#1-1#;"oudennieuw")
 
Waarom wil je de check in de functie hebben? Die levert een Boolean op, en geen tekst. Dat kan natuurlijk wel, maar dan moet je de functie aanpassen. Zou niet eens een gek idee zijn trouwens. Maar dit kan volgens mij ook:
Code:
Dag: IIF([Datum]=DateSerial(Year(Date()+1,1,1)) OR [Datum]= DateSerial(Year(Date()+1,1,0)); "OudEnNieuw";
IIf(IsZZFVdag([Datum])=Waar;"feestdag";IIf(Weekday([Datum];2)<6;"Week";Format([Datum];"dddd";2;2)))
 
Laatst bewerkt:
das het idee die ook bedoel alleen geeft hij aan het getal +1,1,1 niet te herkennen en te kort aan ) sluittekens.
 
heel voorzichter gezegt heb ik de formule opgelost
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan