2 dimemsion til 1 dimension i array
Hovedproblem:at omforme et 2 dimensionelt array, hentet med getrows og omsætte det til 1 dimensionelt.
Selve koden henter 2 dimensionelt array, og omformer det til et enkelt array, som kontroludskrives.
Når så det nye 1 dimensionelle array skal bruges husker det kun den første værdi.
Her følger selve koden:
Set rs = Conn.Execute("SELECT * FROM resultat_standard WHERE Svarer = 1")
rs.CacheSize = 10
if not rs.eof then
kolonner = Array ("1","2","3","4","5","6","7","8","9","10")
arr_stiller = rs.getrows(-1,,kolonner)
end if
rs.close
Conn.Close
set rs = nothing
Set Conn = nothing
Dim stiller ()
if isArray(arr_stiller) then
N = Clng (UBound(arr_stiller,1))
Redim stiller(N)
For i = LBound(arr_stiller) To UBound(arr_stiller,2)
For j = LBound(arr_stiller) To UBound(arr_stiller,1)
stiller (i) = arr_stiller(j, i)
' naar 1 dim. array udskrives kommer alle værdier med
Response.write "j = " & j & " værdi = " & stiller (i) & "<br>"
Next
Next
else
Response.write "ingen poster"
end if
' 1 dim. array genudskrives - og her er fejlen
For i = LBound(stiller) To UBound(stiller)
Response.write "i = " & i & " værdi = " & stiller (i) & "<br>"
Next
og resultatet af koden.
j = 0 værdi = 2
j = 1 værdi = 3
j = 2 værdi = 2
j = 3 værdi = 1
j = 4 værdi = 2
j = 5 værdi = 3
j = 6 værdi = 3
j = 7 værdi = 2
j = 8 værdi = 1
j = 9 værdi = 2
i = 0 værdi = 2
i = 1 værdi =
i = 2 værdi =
i = 3 værdi =
i = 4 værdi =
i = 5 værdi =
i = 6 værdi =
i = 7 værdi =
i = 8 værdi =
i = 9 værdi =
Det skal siges at de data, som hentes med getrows, kun vil være af en dimension!
??:-) karsten_larsen
