[ASP] Functie met invoer datum werkt niet goed

Pagina: 1
Acties:

  • TweakersOnly
  • Registratie: September 2000
  • Laatst online: 21:46
De volgende eenvoudige functie heeft als input een datum geeft als output de dag van de week.
code:
1
2
3
4
5
6
7
8
9
10
11
12
FUNCTION getDagnaam (datum)
    datum = CDate(datum)
    SELECT CASE Weekday(datum)
        CASE "1" getDagnaam = "zondag"
        CASE "2" getDagnaam = "maandag"
        CASE "3" getDagnaam = "dinsdag"
        CASE "4" getDagnaam = "woensdag"
        CASE "5" getDagnaam = "donderdag"
        CASE "6" getDagnaam = "vrijdag"
        CASE "7" getDagnaam = "zaterdag"
    END SELECT
END FUNCTION

In twee verschillende situaties roep ik de functie van twee identieke datums aan.

Situatie 1, waarin de dagnaam correct wordt teruggegeven:
code:
1
2
3
4
5
dim dagnaam
dagnaam = getDagnaam(objRECORDSET("Begindatum"))

'Er hangt een MS Access DB  achter de applicatie
'welke de datums in de database teruggeeft in het formaat dd/mm/yyyy

Situatie 2, waarin de dagnaam NIET correct wordt teruggeven:
code:
1
2
3
4
dim dagnaam
dagnaam = getDagnaam(Request.Form("Begindatum"))

'De datuminvoer moet worden ingevoerd volgens het formaat dd/mm/yyyy

Als ik de input van de functie opvraag, dan krijg ik "12:00:00 AM" te zien. Blijkbaar krijgt de functie in situatie 2 niet de correcte datum binnen. Het vreemde is echter, dat een Request.Write(objRECORDSET("Begindatum")) in situatie 1 en een Request.Write(Request.Form("Begindatum")) twee identieke datums op. :?

Wie o wie kan mij helpen? :)

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
CDate( Request.Form( "datum" )

Maar als je met / werkt gebruik dan de us notatie. Zoniet gebruik dan - als scheidingsteken.

  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 15-04 15:52
zoek eens op Session.LCID

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

Blijkbaar zijn het toch niet helemaal dezelfde datums.
Probeer inderdaad eens een CDate.

  • TweakersOnly
  • Registratie: September 2000
  • Laatst online: 21:46
Het probleem is opgelost. :)

Het normale gebruik van CDate werkte in eerste instantie met onderstaande code ook niet:
code:
1
dagnaam = getDagnaam(CDate(Request.Form("Begindatum")))

De oplossing was het gebruik van een extra ( ) in de functie, dus
code:
1
getdagnaam = getDagnaam((CDate(Request.Form("Begindatum"))))

Veel dank aan [bold]Gert[/bold] voor de eerste aanzet. :)