webForumDet fria alternativet

Vilken "position" i Rs?

ASP

10 svar · 154 visningar · startad av solbulle

Medlem sedan mars 20015 287 inlägg
Frågan#1

Jag listar ut mina poster med "Order by fldArtikelId"

jag har även ett fält: fldPlace som kan vara 0,1,2,3 osv.

Nu vill jag ta reda på i vilken ordning i mitt Rs dessa kommer, alltså på vilken "position" i Rs finns fldPlace 1,2,3 osv (inte 0) så att jag får en lista typ: 5,2,15

Hur är detta möjligt?

(Jag vill ha reda på detta för att kunna "hitta" posten i en selectbox där jag loopar ut mitt Rs)

------------------
/solbulle
Hemmabio | Spelautomater | The Who

Medlem sedan mars 20015 287 inlägg
#2

rs.AbsolutePosition ger ju en del...
men ag vill nu sätta dessa i rätt ordning, efter värdet av rs(fldPlace)

mystring = ""
Do Until rs.eof

If rs("fldPlace") > 0 AND rs("fldPlace") < 100 then
tut = rs.AbsolutePosition 
mystring = mystring & tut & ","

'mystring = mystring & rs("fldArtikelId") & ","
End if

rs.movenext
loop

Hjälp mig!

------------------
/solbulle
Hemmabio | Spelautomater | The Who

[Redigerat av solbulle den 20 jan 2002]

Medlem sedan dec. 200012 464 inlägg
#3
mystring = ""
Do Until rs.eof

If clng(rs("fldPlace")) > 0 AND clng(rs("fldPlace")) < 100 then
mystring = mystring & rs.AbsolutePosition & ","
End if
rs.movenext
loop

l = len(mystring)  
if l > 0 then
mystring = left(mystring,l-1)
end if

Vad är problemet?

------------------
essentitia preter non sans multiplicandum

Medlem sedan mars 20015 287 inlägg
#4

Jo, nu får jag ut en lista, mystring = 1,3,6,13 typ, i nummerordning.
Men jag vill ha nummren placerad i den ordning som vars värde fldPlace ger.
fldPlace har alltså ett värde av typ 1,2,3 osv. Jag vill ha det

Min tabell ser ut som liknande:
rs.AbsolutePosition är då inte med i tabellen, men det är det värde det får i rs:et (tror jag.)

fldArtikelId | fldPlace | (rs.AbsolutePosition)
1 | 3 |1
2 | 4 |2
5 | 1 |3
8 | 0 |4
11 | 2 |5

Jag vill ha ut mystring = 3,5,1,2

Antar att jag som vanligt går över ån efter vatten.
(Även osäker om jag greppat rs.AbsolutePosition rätt.)

------------------
/solbulle
Hemmabio | Spelautomater | The Who

Medlem sedan mars 20015 287 inlägg
#5

Är det kört?

Kanske ska tänka om i resten av scriptet?

------------------
/solbulle
Hemmabio | Spelautomater | The Who

Medlem sedan dec. 200012 464 inlägg
#6

Går det inte lika bra att lägga in numren i en array?

dim arr()
redim arr(50)
max = 0
while not rs.eof
plno = clng(rs("fldPlace"))
if plno > 0 and plno < 100 then
   ub = ubound(arr)
   if plno > ub then
      redim preserve arr(ub+10)
   end if
   arr(plno) = rs.absoluteposition
   if plno > max then max = plno
end if
rs.movenext
wend

------------------
essentitia preter non sans multiplicandum

Medlem sedan mars 20015 287 inlägg
#7

Hm, nja jag får nog ge upp eller tänka om, arrayen placerar dom ockaå i "fel" ordning.
Det känns som jag måste kika över hela mitt script.
Jag tackar för hjälpen.

------------------
/solbulle
Hemmabio | Spelautomater | The Who

Medlem sedan dec. 200012 464 inlägg
#8

Hur då fel ordning? Tänk på att arr(0) inte används.

------------------
essentitia preter non sans multiplicandum

Medlem sedan mars 20015 287 inlägg
#9

Om jag nu inte gör helt galet så får jag i strängen ut tex: 1,2,3,5
Jag vill ha ut den som: 3,5,1,2
(Se exemplet 5 inlägg högre upp.)

------------------
/solbulle
Hemmabio | Spelautomater | The Who

Medlem sedan mars 20015 287 inlägg
#10

Är detta något jag kan använda mig av? http://cgi.webforum.nu/wf/Forum11/HTML/001343.html

------------------
/solbulle
Hemmabio | Spelautomater | The Who

Medlem sedan mars 20015 287 inlägg
#11

jag listar ut, sorterar imin SQL istället, så att det blir Order by fldPlace istället, tror att jag slipper detta problem här då i alla fall.

------------------
/solbulle
Hemmabio | Spelautomater | The Who

285 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
155 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)