Det verkar som det blir fel när ett skottår dyker upp. Trodde datediff skulle klara av detta Vad är det som blir fel menar du (och vilket är det egentliga problemet du vill lösa)? Tack för ditt svar, fick mig att tänka om och har nu löst problemet. Trots en fungerande lösning så får jag tänka om, det blev för många loopsDatediff räknar fel vid skottår
men tydligen inte.
Någon som har en lösning på problemet datediff och skottår, har naturligtvis googlat på frågan
men inte hittat något.
Använder datediff för att räkna ut antalet dagar mellan två datum:
days8 = DateDiff("d", datum1, dag(1))
Mellan Datum1 och dag(1) är det 35 dagar, sedan loopar jag
och när 35 träffas eller +35 så utförs if-satsen.
Använder även en dateserial och den har jag inget problem gällande
skottår.
Do Until boolExitMo1 = True Or days8count > 1000
If dag(1) = DateSerial(thisyear, thismonth, 1) And days8 = days8count Then
boolExitMo1 = True
lblB1.Visible = True
lblB1.Text = "F"
lblC1.Visible = True
lblC1.Text = "N"
lblE1.Visible = True
lblE1.Text = "E"
End If
Stort tack för svar.
Lasse
Visual Basic 2010 används.Sv: Datediff räknar fel vid skottår
DateDiff() tycks fullt kapabel att ta hänsyn till skottår:
Private Sub DateCheck()
Dim d1 As New Date(2012, 2, 1)
Dim d2 As New Date(2012, 3, 1)
Dim diff = DateDiff("d", d1, d2)
If (diff <> 29) Then
' Kommer Aldrig Hända™
Throw New FileNotFoundException()
End If
End Sub
Sv:Datediff räknar fel vid skottår
Sv: Datediff räknar fel vid skottår
vilket gjorde programmet segt.
Får hitta på en annan lösning utan loops om det nu är överhuvudtaget
möjligt.
Tillbaks till startruta 1 :(