17. april 2006 - 15:57Der er
15 kommentarer og 1 løsning
Subscript out of range: 'i'
Jeg har lavet lidt kode der henter nogle værdier fra en DB og ligger dem i et array.
'Get the data from the DB into an array, for performance. if NOT rs.EOF then myArray = rs.GetRows() max = UBound(myArray) end if
'Closing database, we don't need it anymore - we have the info in the array rs.close() Set rs = Nothing
Response.Write max & "<br>" For I = 0 to max For J = 4 to 13 If myArray(J,I) <> "" Then Data = Right(myArray(J,I), 2) Response.Write Data & "<br>" End If Next Next
Hvorfår for jeg denne fejl: Ubound = 13 12 08 07 10
Med OS2ai forsøger Aarhus Kommune og OS2-fællesskabet at give offentlige medarbejdere adgang til generativ AI uden at gøre kommunerne mere afhængige af amerikanske techgiganter.
hvad er det præcis du vil have ud? Du skal tænke på der er forskel på ubound(myArray) og ubound(myArray,2) myArray er jo et todimensionelt array, første del siger noget om hvor mange felter du har...du siger du har 14, det passer også med at ubound giver 13 for du skal jo tælle "nul" med. Læs evt artiklen her http://activedeveloper.dk/artikler/default.asp?articleid=176
så afhængig af hvad det er du vil have så kunne du gøre sådan her .... For I = 0 to max For J = 0 to ubound(myArray,2) If myArray(I,J) <> "" Then Data = Right(myArray(I,J), 2) Response.Write Data & "<br>" End If Next Next
Ja jeg kender godt artiklen og har også læst den et par gange, men syntes ikke at den fortalte mig, som du nu gør, at det er antal felter pr/linje den tæller, jeg mente at det var total antal "felter" i mit array.
Det jeg er ude på er at få datoen eks. 10.12 ud og barbere "10." (Data = Right(myArray(J,I), 2)) væk så jeg kun har måneden tilbage. Men som i kan se får jeg Subscript out of range: 'i'
hvad så med Response.Write max & "<br>" For I = 4 to max For J = 0 to ubound(myarray,2) If myArray(I,J) <> "" Then Data = Right(myArray(I,J), 2) Response.Write Data & "<br>" End If Next Next
det er jo lige det med om det er I eller J som skal stå først,,, og når index er out of bounce...så er det fordi du har byttet om på dem Hvis I er større end J og du bytter om så er det derfor det går galt...tilsvarende omvendt
Hej busschou, undskyld ventetiden. Jeg har lige haft 2 vira jeg ikke kunne komme af med, og nu hvor de er væk kan jeg konstaterer at der er flere ting på min computer der ikke virker mere. Bl.a koden ovenfår virker ikke i min browser så jeg har måttet rykke det hele over på en anden maskine og her virker det. Koden kom til at se sådan ud:
For I = 0 to Max For J = 4 to 13 If myArray(J,I) <> "" Then Data = Right(myArray(J,I), 2) Response.Write Data & " " Response.Write myArray(2,I) & " " & myArray(3,I) & "<br>" End If Next 'Response.Write "<br>" Next
Hvis du lige smider et svar så er der point til dig. Tak for hjælpen.
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.