Avatar billede myanimalfarm Nybegynder
02. april 2005 - 19:20 Der er 8 kommentarer og
1 løsning

ASP VB - repeat region count

Jeg har en repeat region som viser alle poster fra en tabel.

Jeg vil gerne have at der ud for hver post vises hvilket nummer post det er, hvordan gør jeg det?

Har luret lidt på at gøre det fra databasen men jeg synes det er super besværligt da det jo ike bare er autonummering, for hvis en post f.eks. bliver slettet "tælder" autonummereringen jo ikke længere rigtig.

Nogle gode forslag??
Avatar billede thesurfer Nybegynder
02. april 2005 - 20:41 #1
Hvad med noget i stil med:

dim i
i = 0
do while not rs.eof
i = i + 1
response.write "post nr: " & i
...
loop
Avatar billede thesurfer Nybegynder
02. april 2005 - 20:41 #2
Eller mener du rs("id") i stedet for "i"..?
Avatar billede myanimalfarm Nybegynder
03. april 2005 - 13:02 #3
uhhh jeg er ikke så stiv i det her, skal bruge lidt mere forklaring :-)

forklarer lige lidt nærmere måske....

lige nu ser det sådan her ud (MEGET forenklet)

id        navn        point
---------------------------
1        Anders        90
2        Per          60
3        Hans          60
4        Michael      100
5        Mark          20

id kommer bare fra et autonummer felt i databasen som er nøgle. Men hvis nu en af posterne slettes kommer det jo til at se sådan her ud:

id        navn        point
---------------------------
1        Anders        90
2        Per          60
4        Michael      100
5        Mark          20

og det går ikke, det den skal er bare at vise hvilket nummer post det er, altså sådan her:

id        navn        point
---------------------------
1        Anders        90
2        Per          60
3        Michael      100
4        Mark          20

det her nye id felt skal ikke ned i databsen eller noget, den skal bare tælle
Avatar billede thesurfer Nybegynder
03. april 2005 - 15:45 #4
Jeg kommentere lige min kode:

dim i ' dimme variablen "i", som skal bruges som tællere
i = 0 ' nulstil "i"
do while not rs.eof ' denne loop skal køre, sålænge at der er poster i databasen
i = i + 1 ' læg 1 til "i"
response.write "post nr: " & i ' udskriv "i", hvilket indikere placering af posten
... ' resten af din kode her
loop ' loop til næste record, så længe at vi ikke er noget til slutningen af records


Din SQL sætning kan f.eks. se sådan ud:

"Select * from TabelNavn order by id"

Du behøver ikke "Asc" (stigende), da det er standard.. imodsætning til "Desc" (faldende)..


Hvis det bare skal være tekst, skal du udskrive "i".. hvis du vil linke til den bestemte post/record i databasen, skal du bruge rs("id").
Avatar billede thesurfer Nybegynder
03. april 2005 - 15:49 #5
Eksempel:

sql = "select * from TabelNavn order by id"

set rs = conn.execute(sql)

dim i
i = 0
do while not rs.eof
i = i + 1
response.write i & "    " & rs("navn") & "    " & rs("point")
rs.movenext
loop


Man skal *altid* huske ".movenext" (f.eks. "rs.movenext", hvis man bruger "set rs =..").. ellers startes en uendelig loop..
Avatar billede myanimalfarm Nybegynder
13. april 2005 - 18:01 #6
det ser ud som noget jeg kan finde ud af...vil du ikke have nogle point?
Avatar billede thesurfer Nybegynder
13. april 2005 - 19:30 #7
La' gå :-)
Avatar billede thesurfer Nybegynder
13. april 2005 - 19:32 #8
Det var hurtigt :-)
Takker for points :-)
Avatar billede myanimalfarm Nybegynder
13. april 2005 - 19:37 #9
Det var så lidt :-)

Skal have lavet det færdigt i weekenden så det er rigtig godt at have svar :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester