Eftersom jag gillar helgdagar så fixade jag det.Räkna ut helgdagar....
Nån som har nån smidig lösning på följande.....
Midsommarhelg:
Midsommarafton infaller alltid Fredagen mellan den 19-25 juni.
Midsommardagen infaller alltid Lördagen mellan den 20-26 juni.
Hur gör jag denna kontroll utifrån ett angivet årtal som tex
2001 och sedan en utskrift?
Nåt sånt här.....
If Månad = 6 Then
If Dag = 19 AND <= 25 AND WeekDay = 5 Then
-- Skriv ut Midsommarafton, datum
If Dag = 20 AND <= 26 AND WeekDay = 6 Then
-- Skriv ut Midsommardagen, datum
End If
End If
Samma sak med Alla Helgonshelgen som alltid infaller
Lördagen mellan den 31 oktober och 6 november.
If Månad = 10 Then
If Dag = 31 AND WeekDay = 6 Then
ElseIf Dag = 6 AND WeekDay = 6 Then
End If
-- Skriv ut Alla Helgons Dag, datum
End If
mvh
TorbjörnSv: Räkna ut helgdagar....
<code>
Dim s As String
s = AllaHelgonsDag("2002-10-28", "2002-11-03")
's kommer här vara "11-02 Alla helgons dag"
Public Function AllaHelgonsDag(strStartDatum As String, strSlutDatum As String) As String
'Infaller alltid den första lördagen i november
Dim loopdatum As Date
Dim i As Byte
Dim helgonsdag As String
'Infaller november under perioden?
If Month(CDate(strStartDatum)) <= 11 And Month(CDate(strSlutDatum)) >= 11 Then
loopdatum = Year(strStartDatum) & "-11-01"
For i = 1 To 31
If Weekday(loopdatum, vbMonday) = 6 Then
Exit For
End If
loopdatum = loopdatum + 1
Next i
'Infaller alla helgons dag under perioden
If CDate(loopdatum) >= strStartDatum And strSlutDatum >= CDate(loopdatum) Then
AllaHelgonsDag = Mid(loopdatum, 6, 5) & " Alla helgons dag"
Else
AllaHelgonsDag = ""
End If
End If
End Function
</code>
Den är kanske inte vackrast eller optimerad på ett bra sätt men den funkar.
Bäst för VB men funkar bra också i ASP om du skriver om det hela lite.
Genom inmatning av två datum (svenskt) i strängformat så får du tillbaka svaret. Tom sträng betyder att den inte gör det.
Håll till godo.