/ 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
Array
Fra : Ukendt


Dato : 03-05-06 09:04

Hej NG

Skal denne For løkke ikke udskrive alt hvad der ligger i arrayet
"(arrFerieFridage)"...???

For j = 0 To Ubound(arrFerieFridage)
Response.Write "arr(j,0)= " & arrFerieFridage(j,0) & "<br>"
Next

Jeg spørger fordi, jeg kun får 1. gennemløb...
Bjarne





 
 
Thomas Smedebøl (03-05-2006)
Kommentar
Fra : Thomas Smedebøl


Dato : 03-05-06 10:34

bsn wrote:
> Hej NG
>
> Skal denne For løkke ikke udskrive alt hvad der ligger i arrayet
> "(arrFerieFridage)"...???
>
> For j = 0 To Ubound(arrFerieFridage)
> Response.Write "arr(j,0)= " & arrFerieFridage(j,0) & "<br>"
> Next
>
> Jeg spørger fordi, jeg kun får 1. gennemløb...
> Bjarne

Det ser ud som om du arbejder med 1-dimensionalt array i for-sætningen,
men to-dimensionalt array i responsen. Der er noget med at du skal
angive hvilken dimension du ønsker ubound for hvis du har flere
dimensioner.

Hvordan ser dit array ud?

Mvh Thomas

Ukendt (03-05-2006)
Kommentar
Fra : Ukendt


Dato : 03-05-06 12:21


"Thomas Smedebøl" <whisdow@hotmail.com> skrev i en meddelelse
news:44587919$0$15791$14726298@news.sunsite.dk...
> bsn wrote:
>> Hej NG
>>
>> Skal denne For løkke ikke udskrive alt hvad der ligger i arrayet
>> "(arrFerieFridage)"...???
>>
>> For j = 0 To Ubound(arrFerieFridage)
>> Response.Write "arr(j,0)= " & arrFerieFridage(j,0) & "<br>"
>> Next
>>
>> Jeg spørger fordi, jeg kun får 1. gennemløb...
>> Bjarne
>
> Det ser ud som om du arbejder med 1-dimensionalt array i for-sætningen,
> men to-dimensionalt array i responsen. Der er noget med at du skal angive
> hvilken dimension du ønsker ubound for hvis du har flere dimensioner.
>
> Hvordan ser dit array ud?

Det er vel 1-dimensionalt array - det indeholder kun datoer(03-05-2006).

Har prøvet denne med samme resultat (altså kun 1. gennemløb)
For j = Lbound(arrFerieFridage) To Ubound(arrFerieFridage)
Response.Write "arr(j,0)= " & arrFerieFridage(j,0) & "<br>"
Next

Bjarne



Michael Zedeler (03-05-2006)
Kommentar
Fra : Michael Zedeler


Dato : 03-05-06 12:42

bsn wrote:
> "Thomas Smedebøl" <whisdow@hotmail.com> skrev i en meddelelse
> news:44587919$0$15791$14726298@news.sunsite.dk...
>
>>bsn wrote:
>>
>>>Hej NG
>>>
>>>Skal denne For løkke ikke udskrive alt hvad der ligger i arrayet
>>>"(arrFerieFridage)"...???
>>>
>>> For j = 0 To Ubound(arrFerieFridage)
>>> Response.Write "arr(j,0)= " & arrFerieFridage(j,0) & "<br>"
>>> Next
>>>
>>>Jeg spørger fordi, jeg kun får 1. gennemløb...
>>>Bjarne
>>
>>Det ser ud som om du arbejder med 1-dimensionalt array i for-sætningen,
>>men to-dimensionalt array i responsen. Der er noget med at du skal angive
>>hvilken dimension du ønsker ubound for hvis du har flere dimensioner.
>>
>>Hvordan ser dit array ud?
>
> Det er vel 1-dimensionalt array - det indeholder kun datoer(03-05-2006).
>
> Har prøvet denne med samme resultat (altså kun 1. gennemløb)
> For j = Lbound(arrFerieFridage) To Ubound(arrFerieFridage)
> Response.Write "arr(j,0)= " & arrFerieFridage(j,0) & "<br>"
> Next

arr(x) - en dimension
arr(x,y) - to dimensioner
arr(x,y,z) - tre dimensioner

(Fortsæt selv listen efter behov.)

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
Visit my home page at http://michael.zedeler.dk/
Get my vcard at http://michael.zedeler.dk/vcard.vcf

Thomas Smedebøl (03-05-2006)
Kommentar
Fra : Thomas Smedebøl


Dato : 03-05-06 13:36

lav:
> Response.Write "arr(j,0)= " & arrFerieFridage(j,0) & "<br>"
om til
> Response.Write "arr(j)= " & arrFerieFridage(j) & "<br>"

virker det?

mvh thomas

Ukendt (03-05-2006)
Kommentar
Fra : Ukendt


Dato : 03-05-06 18:05


"Thomas Smedebøl" <whisdow@hotmail.com> skrev i en meddelelse
news:4458a3c2$0$15781$14726298@news.sunsite.dk...
> lav:
> > Response.Write "arr(j,0)= " & arrFerieFridage(j,0) & "<br>"
> om til
> > Response.Write "arr(j)= " & arrFerieFridage(j) & "<br>"
>
> virker det?

Nej, det giver fejlen:

Der opstod en Microsoft VBScript-kørselsfejl (0x800A0009)
Indekset er uden for området: 'arrFerieFridage'

Bjarne



Thomas Smedebøl (03-05-2006)
Kommentar
Fra : Thomas Smedebøl


Dato : 03-05-06 18:42

> Der opstod en Microsoft VBScript-kørselsfejl (0x800A0009)
> Indekset er uden for området: 'arrFerieFridage'

Her er et eksempel på det du vil opnå:
'Create the aFoo array
Dim aFoo
aFoo = Array("Hello, ", "World!", "How ", "are ", "you?")

Dim iLoop
For iLoop = LBound(aFoo) to UBound(aFoo)
Response.Write aFoo(iLoop) & "<BR>"
Next


Mvh Thomas

Ukendt (03-05-2006)
Kommentar
Fra : Ukendt


Dato : 03-05-06 23:12


"Thomas Smedebøl" <whisdow@hotmail.com> skrev i en meddelelse
news:4458eb70$0$15785$14726298@news.sunsite.dk...
>> Der opstod en Microsoft VBScript-kørselsfejl (0x800A0009)
>> Indekset er uden for området: 'arrFerieFridage'
>
> Her er et eksempel på det du vil opnå:
> 'Create the aFoo array
> Dim aFoo
> aFoo = Array("Hello, ", "World!", "How ", "are ", "you?")
>
> Dim iLoop
> For iLoop = LBound(aFoo) to UBound(aFoo)
> Response.Write aFoo(iLoop) & "<BR>"
> Next

Det virker perfekt...

Men...

Jeg bruger denne sætning til at danne array med ferie- og fridage...
(ud fra en tabel med enkeltdatoer)

arrFerieFridage = objRsFerieFridage.GetRows

Vil denne sætning ikke læse alle datoer fra et recordset ind i et
array...???
Det eneste jeg kan få udskrevet er den første dato i arrFerieFridage...
Kan du forklare det, så også jeg kan forstå det...
Jeg kan se, at dit eksempel er en tekstsætning, er det det samme med
datoer...???

Bjarne



Ukendt (03-05-2006)
Kommentar
Fra : Ukendt


Dato : 03-05-06 23:13


"Thomas Smedebøl" <whisdow@hotmail.com> skrev i en meddelelse
news:4458eb70$0$15785$14726298@news.sunsite.dk...
>> Der opstod en Microsoft VBScript-kørselsfejl (0x800A0009)
>> Indekset er uden for området: 'arrFerieFridage'
>
> Her er et eksempel på det du vil opnå:
> 'Create the aFoo array
> Dim aFoo
> aFoo = Array("Hello, ", "World!", "How ", "are ", "you?")
>
> Dim iLoop
> For iLoop = LBound(aFoo) to UBound(aFoo)
> Response.Write aFoo(iLoop) & "<BR>"
> Next

Det virker perfekt...

Men...

Jeg bruger denne sætning til at danne array med ferie- og fridage...
(ud fra en tabel med enkeltdatoer)

arrFerieFridage = objRsFerieFridage.GetRows

Vil denne sætning ikke læse alle datoer fra et recordset ind i et
array...???
Det eneste jeg kan få udskrevet er den første dato i arrFerieFridage...
Kan du forklare det, så også jeg kan forstå det...
Jeg kan se, at dit eksempel er en tekstsætning, er det det samme med
datoer...???

Bjarne




Thomas Smedebøl (03-05-2006)
Kommentar
Fra : Thomas Smedebøl


Dato : 03-05-06 23:26

> Vil denne sætning ikke læse alle datoer fra et recordset ind i et
> array...???
Det burde den da.

> Det eneste jeg kan få udskrevet er den første dato i arrFerieFridage...
> Kan du forklare det, så også jeg kan forstå det...
Næ - det forstår jeg ikke... Er du sikker på du har mere end 1 post i
tabellen?

> Jeg kan se, at dit eksempel er en tekstsætning, er det det samme med
> datoer...???
Ja.

mvh thomas

Ukendt (04-05-2006)
Kommentar
Fra : Ukendt


Dato : 04-05-06 11:19


"Thomas Smedebøl" <whisdow@hotmail.com> skrev i en meddelelse
news:44592df5$0$15787$14726298@news.sunsite.dk...
>> Vil denne sætning ikke læse alle datoer fra et recordset ind i et
>> array...???
> Det burde den da.
>
>> Det eneste jeg kan få udskrevet er den første dato i arrFerieFridage...
>> Kan du forklare det, så også jeg kan forstå det...
> Næ - det forstår jeg ikke... Er du sikker på du har mere end 1 post i
> tabellen?
>
>> Jeg kan se, at dit eksempel er en tekstsætning, er det det samme med
>> datoer...???
> Ja.
Tak for tålmodigheden - Jørgens indlæg fik lyset til at virke...
Bjarne



Jørn Andersen (04-05-2006)
Kommentar
Fra : Jørn Andersen


Dato : 04-05-06 10:14

On Thu, 4 May 2006 00:12:40 +0200, "bsn" <bsnsnabelaoncabledotdk>
wrote:

>Jeg bruger denne sætning til at danne array med ferie- og fridage...
>(ud fra en tabel med enkeltdatoer)
>
>arrFerieFridage = objRsFerieFridage.GetRows
>
>Vil denne sætning ikke læse alle datoer fra et recordset ind i et
>array...???

Jo.

>Det eneste jeg kan få udskrevet er den første dato i arrFerieFridage...

Check, hvor mange datoer, du har i array'et med:
Response.Write Ubound(arrFerieFridage, 2)
- hvor 2-tallet angiver, at det er anden dimension.

VBScript-dokumentationen siger:
dimension
Optional. Whole number indicating which dimension's upper bound is
returned. Use 1 for the first dimension, 2 for the second, and so on.
If dimension is omitted, 1 is assumed.

- så:
Response.Write Ubound(arrFerieFridage, 1)
er altså det samme som:
Response.Write Ubound(arrFerieFridage)

Men et recordset er i princippet altid to-dimensionelt (det er jo et
udtræk fra en tabel, dvs. med rækker og kolonner). Se fx:
<url: http://www.aspfaqs.com/aspfaqs/ShowFAQ.asp?FAQID=161>
(eller søg på "getrows method" på Google).

Ovenstående link fortæller bl.a.:
To display this array data, we need to use two nested For loops. The
first loop needs to loop through each row. The total number of rows
can be found by examining the upper bound of the second dimension of
the array (UBound(ArrayName, 2)). Next, an inner loop needs to step
through each column of the current row. This can be done via a For
loop as well; to find the total number of columns, retrieve the
upper-bound of the first dimension of the array (UBound(ArrayName,
1)).

Det forklarer så samtidig, hvorfor du kun får udskrevet den første
dato. Du skrev i det første indlæg:
For j = 0 To Ubound(arrFerieFridage)
Response.Write "arr(j,0)= " & arrFerieFridage(j,0) & "<br>"
Next

Ved første gennemløb er j = 0, så det du trækker ud er:
arrFerieFridage(0,0)
- hvilket angiver værdien i kolonne 0, række 0

Men ved næste gennemløb er j = 1, så det du trækker ud er:
arrFerieFridage(1,0)
- hvilket angiver værdien i kolonne 1, række 0

Men du har formentlig trukket FerieFridage ud med:
SELECT FerieFridage FROM osv.
- så der er kun én kolonne (nr. 0), hvorfor du får en fejl.

Det burde virke med:
For j = 0 To Ubound(arrFerieFridage, 2)
Response.Write "arr(0,j)= " & arrFerieFridage(0,j) & "<br>"
Next

Så vil første gennemløb give det samme som før (0,0), mens andet
gennemløb giver:
arrFerieFridage(0,1)
- hvilket angiver værdien i kolonne 0, række 1


>Kan du forklare det, så også jeg kan forstå det...

Håber det giver lidt mening.
Den har også snydt mig (indtil flere gange). Så af en eller anden
grund virker det mest intuitivt (for os to i hvert fald), at dimension
1 er rækker, mens 2 er kolonner - men det er altså omvendt.

>Jeg kan se, at dit eksempel er en tekstsætning, er det det samme med
>datoer...???

Ja, Array-funktionen:
Array(x, y, z)
er ligeglad med hvilken datatype x, y og z er.
Array-funktionen returnerer et én-dimensionelt array (en "liste").


Good luck!

--
Jørn Andersen,
Brønshøj

Jørn Andersen (04-05-2006)
Kommentar
Fra : Jørn Andersen


Dato : 04-05-06 10:34

On Thu, 04 May 2006 11:13:42 +0200, Jørn Andersen <jorn@jorna.dk>
wrote:

>Ovenstående link fortæller bl.a.:
>To display this array data, we need to use two nested For loops.

I dit tilfælde, hvor du kun har én kolonne, behøver du kun én loop.
(Blot for at undgå misforståelser.)


--
Jørn Andersen,
Brønshøj

Ukendt (04-05-2006)
Kommentar
Fra : Ukendt


Dato : 04-05-06 11:27


"Jørn Andersen" <jorn@jorna.dk> skrev i en meddelelse
news:vjfj52dhcjk0vs1p6n126rfsn0l4bl1kv9@4ax.com...
> On Thu, 4 May 2006 00:12:40 +0200, "bsn" <bsnsnabelaoncabledotdk>
> wrote:
>
>>Jeg bruger denne sætning til at danne array med ferie- og fridage...
>>(ud fra en tabel med enkeltdatoer)
>>
>>arrFerieFridage = objRsFerieFridage.GetRows
>>
>>Vil denne sætning ikke læse alle datoer fra et recordset ind i et
>>array...???
>
> Jo.
>
>>Det eneste jeg kan få udskrevet er den første dato i arrFerieFridage...
>
> Check, hvor mange datoer, du har i array'et med:
> Response.Write Ubound(arrFerieFridage, 2)
> - hvor 2-tallet angiver, at det er anden dimension.
>
> VBScript-dokumentationen siger:
> dimension
> Optional. Whole number indicating which dimension's upper bound is
> returned. Use 1 for the first dimension, 2 for the second, and so on.
> If dimension is omitted, 1 is assumed.
>
> - så:
> Response.Write Ubound(arrFerieFridage, 1)
> er altså det samme som:
> Response.Write Ubound(arrFerieFridage)
>
> Men et recordset er i princippet altid to-dimensionelt (det er jo et
> udtræk fra en tabel, dvs. med rækker og kolonner). Se fx:
> <url: http://www.aspfaqs.com/aspfaqs/ShowFAQ.asp?FAQID=161>
> (eller søg på "getrows method" på Google).
>
> Ovenstående link fortæller bl.a.:
> To display this array data, we need to use two nested For loops. The
> first loop needs to loop through each row. The total number of rows
> can be found by examining the upper bound of the second dimension of
> the array (UBound(ArrayName, 2)). Next, an inner loop needs to step
> through each column of the current row. This can be done via a For
> loop as well; to find the total number of columns, retrieve the
> upper-bound of the first dimension of the array (UBound(ArrayName,
> 1)).
>
> Det forklarer så samtidig, hvorfor du kun får udskrevet den første
> dato. Du skrev i det første indlæg:
> For j = 0 To Ubound(arrFerieFridage)
> Response.Write "arr(j,0)= " & arrFerieFridage(j,0) & "<br>"
> Next
>
> Ved første gennemløb er j = 0, så det du trækker ud er:
> arrFerieFridage(0,0)
> - hvilket angiver værdien i kolonne 0, række 0
>
> Men ved næste gennemløb er j = 1, så det du trækker ud er:
> arrFerieFridage(1,0)
> - hvilket angiver værdien i kolonne 1, række 0
>
> Men du har formentlig trukket FerieFridage ud med:
> SELECT FerieFridage FROM osv.
> - så der er kun én kolonne (nr. 0), hvorfor du får en fejl.
>
> Det burde virke med:
> For j = 0 To Ubound(arrFerieFridage, 2)
> Response.Write "arr(0,j)= " & arrFerieFridage(0,j) & "<br>"
> Next

Det var denne der snød mig...

> Så vil første gennemløb give det samme som før (0,0), mens andet
> gennemløb giver:
> arrFerieFridage(0,1)
> - hvilket angiver værdien i kolonne 0, række 1
>
>
>>Kan du forklare det, så også jeg kan forstå det...
>
> Håber det giver lidt mening.
> Den har også snydt mig (indtil flere gange). Så af en eller anden
> grund virker det mest intuitivt (for os to i hvert fald), at dimension
> 1 er rækker, mens 2 er kolonner - men det er altså omvendt.

Ja, det er den omvendte verden...men sådan er det jo...
snydt godt og grundigt er jeg blevet - det har været en lang hård læring,
men lærerig
Jeg bøjer mig i støvet...Du formåede at bibringe forståelsen...Tak for
tålmodigheden...;-D
Måske jeg vender tilbage med andre problematikker...
Bjarne



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

Månedens bedste
Årets bedste
Sidste års bedste