Avatar billede saviola Nybegynder
03. juni 2007 - 19:00 Der er 13 kommentarer og
1 løsning

ASP - fejl omkring dato

Jeg får denne fejl :

Microsoft VBScript runtime error '800a000d'

Type mismatch: '[string: "Friday, August 23, 1"]'

/func/testfunc.asp, line 5

Her er koden :

<%
function getAge(dtDOB)
    dim iAge, dtTmp, dtToday
    dtToday = Date()
    iAge = CInt(DateDiff("yyyy",FormatDateTime(dtDOB,1),Date()))
    dtTmp = CDate((Day(dtDOB) & "/" & Month(dtDOB) & "/" & Year(Date())))
    if (dtTmp > Date) then iAge = iAge - 1
    getAge = iAge
end function
%>

kan nogen se fejlen ?
Avatar billede saviola Nybegynder
03. juni 2007 - 19:01 #1
linie 5 starter med iAge =
Avatar billede thesurfer Nybegynder
03. juni 2007 - 19:14 #2
CInt konvertere et tal i en streng, så længe at strengen ikke indeholder ikke-tal tegn, som f.eks. bogstaver..

Eksempel:

iAge = CInt("5") ' virker int
iAge = CInt("her er nummer 5") ' virker IKKE pga tekst i strengen: "her er nummer "

Dit problem er, at dette returnerer bogstaver i strengen:

DateDiff("yyyy",FormatDateTime(dtDOB,1),Date())
Avatar billede thesurfer Nybegynder
03. juni 2007 - 19:16 #3
PS:
Fejlen i dit spørgmål er, at der returneres: "Friday, August 23, 1"
Avatar billede ellebaek Nybegynder
03. juni 2007 - 21:45 #4
mon dog... datediff burde bare returnere et int da?
Tror mere det er fordi de inputs du giver til datediff ikke helt spiller sammen... prøv dette i stedet:

<%
function getAge(dtDOB)
    dim iAge, dtTmp, dtToday
    dtToday = Date()
    iAge = CInt(DateDiff("yyyy",CDate(dtDOB),Date()))
    dtTmp = CDate((Day(dtDOB) & "/" & Month(dtDOB) & "/" & Year(Date())))
    if (dtTmp > Date) then iAge = iAge - 1
    getAge = iAge
end function
%>

det formatDateTime gør er at den laver din dato til en streng: "Friday, August 23, 1". hvis ovenstående ikke virker, så kan du bruge:
<%
function getAge(dtDOB)
    dim iAge, dtTmp, dtToday
    dtToday = Date()
    iAge = CInt(DateDiff("yyyy",CDate(Day(dtDOB) & "/" & Month(dtDOB) & "/" & Year(Date())),Date()))
    dtTmp = CDate(Day(dtDOB) & "/" & Month(dtDOB) & "/" & Year(Date()))
    if (dtTmp > Date) then iAge = iAge - 1
    getAge = iAge
end function
%>

altså hvor du hiver dag, måned og år ud af din dato og så smider dem sammen til en dato...
Avatar billede saviola Nybegynder
04. juni 2007 - 20:32 #5
når jeg retter koden og uploader til webhotel, så virker det for en stund men efter kort tids navigering på siden, så melder der sig en ny fejl.

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'CInt'

/func/testfunc.asp, line 168


Her er koden:

format = replace(format, "%F", monthname(cint(dateMonth)))
Avatar billede saviola Nybegynder
04. juni 2007 - 20:48 #6
tror sgu nærmere fejl kommer fra det første eksempel...den regner en alder ud på brugeren til -1

kan bare ikke lige se hvor den regner gal...
Avatar billede cpufan Juniormester
06. juni 2007 - 09:25 #7
"når jeg retter koden og uploader til webhotel, så virker det for en stund men efter kort tids navigering på siden, så melder der sig en ny fejl."


så er det vel nærmere fordi, at der er en variabel der bliver "tom"
den bliver smidt undervejs....
Avatar billede thesurfer Nybegynder
09. juni 2007 - 16:07 #8
Ang "efter kort tids navigering på siden":

Noget siger mig, at du henter værdier ind dynamisk, f.eks. via Request.Querstring eller Request.Form..

Med andre der: Der må være steder, hvor værdien ikke bliver sat..

F.eks. hvis du har glemt at til udskrive værdien til siden, ved link eller ligende..


Det nemmeste ville være, at lægge siderne online, så vi kan teste..
Avatar billede thesurfer Nybegynder
16. juni 2007 - 23:59 #9
Ping.. :-)
Avatar billede thesurfer Nybegynder
25. juni 2007 - 03:06 #10
saviola> Er du kommet videre?
Avatar billede saviola Nybegynder
01. juli 2007 - 16:52 #11
nej - har været ude at rejse
Avatar billede thesurfer Nybegynder
01. juli 2007 - 20:06 #12
saviola> Kig lige på indlægget 09/06-2007 16:07:07.
Avatar billede thesurfer Nybegynder
27. juli 2007 - 11:00 #13
Ude at rejse igen?
Avatar billede saviola Nybegynder
06. april 2008 - 20:37 #14
gav op
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