/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Type mismatch
Fra : Rasmus Nielsen


Dato : 09-02-02 18:34

Hej,

Hvorfor får jeg subj. ved flg.:
i=-1
For t = LBound(kurvArray) to UBound(kurvArray)
i=i + 1

Det er i forb. med en gennemgang af et array...

--
Venlig hilsen / Best regards,

Rasmus Nielsen.



 
 
Rasmus Nielsen (10-02-2002)
Kommentar
Fra : Rasmus Nielsen


Dato : 10-02-02 13:10

Hej,

Nu har jeg kredset problemet ind:
(Variablen nr bruges i en database forespørgsel).

Flg. virker ikke:

i = 1
nr = kurvArray(" & i & ")

Flg. virker:
nr = kurvArray(1)

Hvad er forskellen???

Fejlen er stadig: Type mismatch: '[string: " & i & "]'

--
Venlig hilsen / Best regards,

Rasmus Nielsen.



Jørn Andersen (10-02-2002)
Kommentar
Fra : Jørn Andersen


Dato : 10-02-02 14:13

On Sun, 10 Feb 2002 13:10:11 +0100, "Rasmus Nielsen"
<postmaster@rasmusn.dk> wrote:

>Flg. virker ikke:
>
>i = 1
>nr = kurvArray(" & i & ")
>
>Flg. virker:
>nr = kurvArray(1)
>
>Hvad er forskellen???
>
>Fejlen er stadig: Type mismatch: '[string: " & i & "]'

Fejlen er, at når du sætter _1_ i anførselstegn ("1"), så opfattes det
som en tekststreng, som selvfølgelig ikke giver mening. Prøv:
nr = kurvArray(i)

Good luck,
Jørn


Rasmus Nielsen (10-02-2002)
Kommentar
Fra : Rasmus Nielsen


Dato : 10-02-02 15:04

> Fejlen er, at når du sætter _1_ i anførselstegn ("1"), så opfattes det
> som en tekststreng, som selvfølgelig ikke giver mening. Prøv:
> nr = kurvArray(i)

Giver samme fejl.

--
Venlig hilsen / Best regards,

Rasmus Nielsen.



Rasmus Nielsen (10-02-2002)
Kommentar
Fra : Rasmus Nielsen


Dato : 10-02-02 15:10

> Giver samme fejl.

Nå, nu gør den ikke aligevel...

Flg. virker nu:

i = 0
For t = LBound(kurvArray) to UBound(kurvArray)
i = i + 1
i = 1
nr = kurvArray(i)

Flg. virker ikke:

i = 0
For t = LBound(kurvArray) to UBound(kurvArray)
i = i + 1
nr = kurvArray(i)

Hvad er da forskellen?

--
Venlig hilsen, Rasmus Nielsen.



Jørn Andersen (10-02-2002)
Kommentar
Fra : Jørn Andersen


Dato : 10-02-02 15:26

On Sun, 10 Feb 2002 15:10:21 +0100, "Rasmus Nielsen"
<postmaster@rasmusn.dk> wrote:

>Flg. virker ikke:
>
>i = 0
>For t = LBound(kurvArray) to UBound(kurvArray)
>i = i + 1
>nr = kurvArray(i)
>

Får du stadig "Type Mismatch"?

Prøv at skrive dine variable ud - fx:

i = 0
For t = LBound(kurvArray) to UBound(kurvArray)
i = i + 1
nr = kurvArray(i)
Response.Write t & ", " & i & ", " & nr & "<br>"
Next

Er de som du forventer?

Jeg kan ikke lige gennemskue, hvad det er du vil opnå med at have *2*
tællere (t og i)?

Mvh. Jørn


Rasmus Nielsen (10-02-2002)
Kommentar
Fra : Rasmus Nielsen


Dato : 10-02-02 17:04

> Prøv at skrive dine variable ud - fx:
>
> i = 0
> For t = LBound(kurvArray) to UBound(kurvArray)
> i = i + 1
> nr = kurvArray(i)
> Response.Write t & ", " & i & ", " & nr & "<br>"
> Next
>
> Er de som du forventer?

Det giver samme fejl: Subscript out of range: 'i'

--
Venlig hilsen / Best regards,

Rasmus Nielsen.



Peter Lykkegaard (10-02-2002)
Kommentar
Fra : Peter Lykkegaard


Dato : 10-02-02 17:16


"Rasmus Nielsen" <postmaster@rasmusn.dk> wrote in message
news:3c6699ae$0$22324$edfadb0f@dspool01.news.tele.dk...
> > Prøv at skrive dine variable ud - fx:
> >
> > i = 0
> > For t = LBound(kurvArray) to UBound(kurvArray)
> > i = i + 1
> > nr = kurvArray(i)
> > Response.Write t & ", " & i & ", " & nr & "<br>"
> > Next
> >
> > Er de som du forventer?
>
> Det giver samme fejl: Subscript out of range: 'i'
>
Der jo lidt forskel på "Type Mismatch" og "Subscript out of range"

Hvad er værdien af t og værdien af i når du får din "Subscript out of
range"?

Normalt når man løber igennem et array vha For-løkke så bruger man tælleren
til at hente data i ens array
Fx
For intCount = LBound(kurvArray) to UBound(kurvArray)
Response.Write kurvArray(intCount) & "<br>"
Next

Prøv at gennemtænke din programmering og skriv (evt i pseudokode) hvad det
er du vil opnå

mvh/Peter Lykkegaard




Rasmus Nielsen (10-02-2002)
Kommentar
Fra : Rasmus Nielsen


Dato : 10-02-02 18:57

> For intCount = LBound(kurvArray) to UBound(kurvArray)
> Response.Write kurvArray(intCount) & "<br>"
> Next

Jeg skal bruger hver værdi fra array'et i en sql-sætning (where varenummer =
'værdien fra arrayet'), og det kan man vel ikke gøre med ovenstående?

--
Venlig hilsen / Best regards,

Rasmus Nielsen.



Jørn Andersen (10-02-2002)
Kommentar
Fra : Jørn Andersen


Dato : 10-02-02 19:11

On Sun, 10 Feb 2002 18:56:58 +0100, "Rasmus Nielsen"
<postmaster@rasmusn.dk> wrote:

>> For intCount = LBound(kurvArray) to UBound(kurvArray)
>> Response.Write kurvArray(intCount) & "<br>"
>> Next
>
>Jeg skal bruger hver værdi fra array'et i en sql-sætning (where varenummer =
>'værdien fra arrayet'), og det kan man vel ikke gøre med ovenstående?

Så ville jeg nok bruge noget i retning af:

strVarenumre = ""
For intCount = LBound(kurvArray) to UBound(kurvArray)
strVarenumre = strVarenumre & kurvArray(intCount) & ", "
Next

strVarenumre = Left(strVarenumre, Len(strVarenumre) - 2)

strSQL = "SELECT whatever FROM table" & _
" WHERE varenummer IN (" & strVarenumre ")"


Ideen er at lave en kommasepareret liste over de opsamlede varenumre -
noget a la "35, 46, 27, 11, "
Til slut kortes det sidste ", " af.
Listen indsættes så i SQL'en - hvor WHERE-strengen bliver til:
" WHERE varenummer IN (35, 46, 27, 11)"

Det er forudsat, at værdierne er gemt i Arrayet som tal - ellers må du
selv lige korrigere med anførselstegn hist og her :)
- Ikke testet, så forbehold for fejl.

Good luck,
Jørn


Søg
Reklame
Statistik
Spørgsmål : 177506
Tips : 31968
Nyheder : 719565
Indlæg : 6408561
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste