Toon posts:

Functie in access voor laatste dag in maand?

Pagina: 1
Acties:
  • 382 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Weet iemand hoe ik d.m.v. ofsow de laatste dag van de maand kan bereken?
Zoiets als lastdayofmonth(21-10-00)=31

Heeft iemand een tip?

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Ja is zeer zeker mogelijk, maar is nu laat post morgen wel ff

Verwijderd

Topicstarter
Ok... Ik wacht erop :)

Verwijderd

Topicstarter
kan iemand mij plz helpen???
Ik moet dit voor maandag gefixed hebben
(opdracht van een klant)

  • Onno
  • Registratie: Juni 1999
  • Niet online
De eerste van de volgende maand nemen en daar 1 van aftrekken? :P

Oracle heeft gewoon een functie LAST_DAY(), wie weet heet ie ook wel zo in Access. :)

Verwijderd

Topicstarter
access heeft die functie volgens mij niet (niet kunnen vinden in ieder geval)

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 15:50
Option Explicit

Private Enum Months
cJanuari = 1
cFebruari
'...
End Enum

Public Function LastDay(Month As Integer, Year As Integer) As Integer

Select Case Month
Case cJanuari, cMaart, cMei, cJuli, cAugustus, cOktober, cDecember
LastDay = 31
Case cFebruari:
If IsSchrikkel(Year) Then
LastDay = 29
Else
LastDay = 28
End If
Case Else: LastDay = 0
End Select

End Function

Public Sub Main()


Dim nMaxDay As Integer

nMaxDay = LastDay(Month(Now), Year(Now))

End Sub



Effe wachte voor de functie IsSchrikkel(...) ;)

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 15:50
Public Function IsSchrikkel(Year As Integer) As Boolean

If (Year Mod 4) = 0 Then
IsSchrikkel = True
If (Year Mod 100) = 0 Then
IsSchrikkel = False
If (Year Mod 400) = 0 Then
IsSchrikkel = True
End If
End If
Else
IsSchrikkel = False
End If

End Function

Gelieve deze functie aan te vullen/verbeteren o 2k specialisten :)

[intermezzo]
..Het jaar 2000 is, ondanks tegenstrijdige berichten, een schrikkeljaar. We hebben het schrikkeljaar 2000 te danken aan Paus Gregorius XIII, die in 1582 zijn kalenderbesluit uitvaardigde. Hij stelde dat jaartallen deelbaar door 100 geen schrikkeljaar zijn, tenzij ze ook deelbaar zijn door 400. Dat betekent dus dat 1700, 1800 en 1900 geen schrikkeljaren waren, maar 1600 en 2000 wel! Door dit besluit blijft de lente rond 21 maart beginnen...
[/intermezzo]

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Verwijderd

Topicstarter
sjeeez....
thanx :)

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 15:50
Wel ff controleren he? Zit gegarandeerd nog een fout in die ik niet heb gevonden :)

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 15:50
En ja hoor...rev 1.01 ;)

Public Function LastDay(Month As Integer, Year As Integer) As Integer

Select Case Month
Case cJanuari, cMaart, cMei, cJuli, cAugustus, cOktober, cDecember:
LastDay = 31
Case cFebruari:
If IsSchrikkel(Year) Then
LastDay = 29
Else
LastDay = 28
End If
Case cApril, cJuni, cSeptember, cNovember:
LastDay = 30
Case Else: LastDay = 0
End Select

End Function

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.

Pagina: 1