|
| 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
| |
|
|