Avatar billede macriis Nybegynder
16. september 2004 - 01:50 Der er 4 kommentarer og
1 løsning

Funktionen IsDate fejler

Jeg får fejlen "Typer stemmer ikke overens: '[string: "16-16-2004"]'" på linien 3 herunder.

IF Request.ServerVariables("REQUEST_METHOD") = "POST" THEN
Response.Write IsDate(Request.Form("dato"))
    IF IsDate(Request.Form("dato")) = false OR Month(Request.Form("dato"))>12 THEN
        datoFejl = "<font color='red'>Du har indtastet en forkert dato. Dato skrives på formen DD-MM-YYYY.</font>"
    ELSE
        formDato = Request.Form("dato")
        formDato = Year(formDato) & "-" & Month(formDato) & "-" & Day(formDato)
        strSQL = "SELECT dato FROM dagsrapport WHERE dato = #" & formDato & "# AND brugerId = " & Session("brugerId")
        Set rsDato = Conn.Execute(strSQL)
        IF NOT rsDato.EOF THEN
            datoExist = "<font color='red'>Du har allerede oprettet en dagsrapport for d. " & FormatDateTime(rsDato("dato"), vbLongDate) & "</font>"
        ELSE
            dato =  Year(formDato) & "-" & Month(formDato) & "-" & Day(formDato)
            strSQL = "INSERT INTO dagsrapport (dato, brugerId, tidsforbrug, antalOpkald, antalBeslutningstagere, antalMoeder) VALUES (#" & dato & "#,'" & Session("brugerId") & "','" & Request.Form("tidsforbrug") & "','" & Request.Form("antalopkald") & "','" & Request.Form("antalBeslutningstagere") & "','" & Request.Form("antalMoeder") & "')"
            Conn.Execute(strSQL)
            rapportgemt = true
        END IF
    END IF
END IF

===========================================================


En lidt variation af koden, giver dette problem:
Typer stemmer ikke overens: 'formDato'.

IF Request.ServerVariables("REQUEST_METHOD") = "POST" THEN
    formDato = Request.Form("dato")
    dato = Year(formDato) & "-" & Month(formDato) & "-" & Day(formDato)
    IF IsDate(dato) = false OR Month(dato)>12 THEN
        datoFejl = "<font color='red'>Du har indtastet en forkert dato. Dato skrives på formen DD-MM-YYYY.</font>"
    ELSE
        strSQL = "SELECT dato FROM dagsrapport WHERE dato = #" & dato & "# AND brugerId = " & Session("brugerId")
        Set rsDato = Conn.Execute(strSQL)
        IF NOT rsDato.EOF THEN
            datoExist = "<font color='red'>Du har allerede oprettet en dagsrapport for d. " & FormatDateTime(rsDato("dato"), vbLongDate) & "</font>"
        ELSE
            strSQL = "INSERT INTO dagsrapport (dato, brugerId, tidsforbrug, antalOpkald, antalBeslutningstagere, antalMoeder) VALUES (#" & dato & "#,'" & Session("brugerId") & "','" & Request.Form("tidsforbrug") & "','" & Request.Form("antalopkald") & "','" & Request.Form("antalBeslutningstagere") & "','" & Request.Form("antalMoeder") & "')"
            Conn.Execute(strSQL)
            rapportgemt = true
        END IF
    END IF
END IF
Avatar billede stoney96 Nybegynder
16. september 2004 - 02:07 #1
Du skal først konvertere til en Variant med "CVDate" som kan behandles som dato.
I første eksempel:
IsDate(CVDate(Request.Form("dato")).........

I andet eksempel:
formDato = CVDate(Request.Form("dato"))
Avatar billede macriis Nybegynder
20. september 2004 - 13:32 #2
Beklager men det virker ikke. Jeg ønsker at benytte nederste kode, og får fejlen:

  Typer stemmer ikke overens: 'CVDate'

på linien:

  formDato = CVDate(Request.Form("dato")).

Så vidt jeg kan forstå på artiklen:

  http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbenlr98/html/vagrptypeconversion.asp

så er CVDate en ældre funktion, der er erstattet af noget andet. Men dette andet kan jeg ikke lige gennemskue hvordan gøres. Det er nævnt sådan her i artiklen:

  "The same effect can be achieved by converting an expression to a Date, and then assigning it to a Variant."

Hvordan gør man det?

Er det CDate eller DateSerial?
Avatar billede stoney96 Nybegynder
20. september 2004 - 14:32 #3
Sorry, se tidspunktet for svaret. Er vågen nu og der er selvfølgeligt CDATE som skal benyttes.... ;o)
Avatar billede macriis Nybegynder
20. september 2004 - 14:37 #4
Ok :-)

Men desværre. CDate giver følgende fejl:

  Typer stemmer ikke overens: 'CDate'.
Avatar billede macriis Nybegynder
25. oktober 2004 - 10:05 #5
Hvis du ikke har flere kommentarer lukker jeg hermed
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester