webForumDet fria alternativet

Type Miss Match

8 svar · 422 visningar · startad av Eclipse

EclipseMedlem sedan juli 20003 825 inlägg
#1

Den här koden ger det här felet! Om det inte är varType() 2 eller 3, vad är det då??

myTemp = 333
response.write varType(myTemp) & "<BR>"

'response.write "antal dagar på 18 månader: " & dateDiff("d", date(), dateAdd("m",18,date()))    & "<BR><BR>"

DIM intNrOfDays, arrMyDate
intNrOfDays = dateDiff("d", date(), dateAdd("m",18,date()))
response.write varType(intNrOfDays) & "<BR>"
intNrOfDays = Cint(intNrOfDays)
response.write varType(intNrOfDays) & "<BR>"
[b]arrMyDate(intNrOfDays)[/b]

2
3
2

Microsoft VBScript runtime error '800a000d'

Type mismatch

/v1/load_public_menus.asp, line 27

***
Rad 27 markerad.

@ndersMedlem sedan juni 200032 969 inlägg
#2

Vad är det du försöker göra med den fetmarkerade raden?
Det saknas något, ex. Response.write. Som koden är skriven nu försöker du kalla på en funktion som heter arrMyDate, och ge den parametern intNrOfDays.

Edit: Om du vill kan du använda TypeName() istället för VarType(), och då får du se i klartext vad det är för typ.

mvh

WebbisNetMedlem sedan feb. 20032 027 inlägg
#3

Re: Type Miss Match

Eclipse skrev:

Den här koden ger det här felet! Om det inte är varType() 2 eller 3, vad är det då??

myTemp = 333
response.write varType(myTemp) & "<BR>"


'response.write "antal dagar på 18 månader: " & dateDiff("d", date(), dateAdd("m",18,date()))    & "<BR><BR>"

DIM intNrOfDays, arrMyDate
intNrOfDays = dateDiff("d", date(), dateAdd("m",18,date()))
response.write varType(intNrOfDays) & "<BR>"
intNrOfDays = Cint(intNrOfDays)
response.write varType(intNrOfDays) & "<BR>"
[b]arrMyDate(intNrOfDays)[/b]

2
3
2

Microsoft VBScript runtime error '800a000d'

Type mismatch

/v1/load_public_menus.asp, line 27

***
Rad 27 markerad.

är inte O-et en nolla där?

EclipseMedlem sedan juli 20003 825 inlägg
#4

Webbis ??

Anders,

Det fungerar att skriva
myArray(23)
DIM myArray(23)

EclipseMedlem sedan juli 20003 825 inlägg
#5

Grrr.....

'DIM arrMyDate(546)' 546
DIM arrMyDate(cInt(intNrOfDays))' 546

Den avmarkerade fungerar!!

Microsoft VBScript compilation error '800a0402' 

Expected integer constant 

/v1/load_public_menus.asp, line 22 

DIM arrMyDate(cInt(intNrOfDays))' 546
--------------^
OveRRidEMedlem sedan feb. 200112 078 inlägg
#6

Du kan inte deklarera en array med ett variabelt antal index i VBScript. Du måste använda ReDim.

Dim myArray(1)
ReDim Preserve myArray(intNrOfDays)

Preserve ser till att eventuella poster i arrayen inte raderas när den ändrar storlek.

EclipseMedlem sedan juli 20003 825 inlägg
#7

Fett...!!

***
DIM intNrOfDays
intNrOfDays = dateDiff("d", date(), dateAdd("m",18,date()))
response.write typeName(intNrOfDays) & "<BR>"
response.write intNrOfDays & "<BR>"
intNrOfDays = CInt(intNrOfDays)
response.write typeName(intNrOfDays) & "<BR>"
response.write intNrOfDays & "<BR>"
DIM arrMyDate(1)' 546
'ReDim Preserve arrMyDate(CInt(intNrOfDays))
ReDim Preserve arrMyDate(intNrOfDays)

Long
546
Integer
546

Microsoft VBScript runtime error '800a000a' 

This array is fixed or temporarily locked 

/v1/load_public_menus.asp, line 24
@ndersMedlem sedan juni 200032 969 inlägg
#8

Eclipse skrev:

Det fungerar att skriva
myArray(23)

Hmm, vad menar du att den koden ska göra?

Det är möjligt att du har rätt, men jag förstår inte bara. :)

mvh

EclipseMedlem sedan juli 20003 825 inlägg
#9

Fasen, jag blir knäpp på detta!

Kanske jag gör fel???

Jag loopar för att få arrayer, en array för varje dag i 1.5 år (= 18 månader).

application(2004-09-06)
application(2004-09-07)
application(2004-09-08)
application(2004-09-09)
application(2004-09-10) osv....

Jag vill att varje application ska innehålla lite data.

***
OK, vi skiter i det.

Vid närmare eftertanke kanske en array inte behövs...

Nu undrar jag hur man kskriver en SQL sats med bara två COUN(*) i?

'SQL = "SELECT " _
'& " (SELECT COUNT(*) FROM [roomBooking] rb WHERE rb.dteDate = #" & dteMyDate & "#) " _
'& ", (SELECT COUNT(*) FROM [event] e WHERE e.dteCreated = #" & dteMyDate & "# ); "

SQL = "SELECT u.intID " _
& ", (SELECT COUNT(*) FROM [roomBooking] rb WHERE rb.dteDate = #" & dteMyDate & "#) " _
& ", (SELECT COUNT(*) FROM [event] e WHERE e.dteCreated = #" & dteMyDate & "# ) " _
& " FROM users u;"

140 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)