Avatar billede skuumm Nybegynder
02. marts 2002 - 14:55 Der er 3 kommentarer og
1 løsning

Frem og tilbage i et recordset

Ud fra brugernes ønsker om indhold, genereres der en SQLstreng som resultere i at et recordset bliver skrevet ud. Ud for hver record er der et link som åbner en popup med alle detajler som den enkelte record. [select * from tabel where ID 0 request(ID)]Nu har jeg behov for at lave en "frem og tilbage" navigation på popup vinduet.
jeg har altså behov for at finde recordID for den forrige og for den næste record i det oprindelige recordset.
Hvordan kan det gøres??

recordsettet indeholder ~1500 records
Avatar billede mrbarnes Nybegynder
02. marts 2002 - 15:02 #1
hvilken type er recordID

Hvis du laver ID typen til autonummer vil du så kunne trække en fra/læg til recorden du har fremme og derved vide hvad foregående og næste record er...

Håber det hjælper...
Avatar billede skuumm Nybegynder
02. marts 2002 - 15:05 #2
RecordID er autonummer. Jeg kan dog ikke være sikker på at alle records i recordsettet er forløbende. så jeg kan ikke bare trække en fra eller ligge en til.
Avatar billede coltau Juniormester
03. marts 2002 - 09:00 #3
Jeg formoder at dit popup-vindue kan vise indholdet af en record. Hvis linket til popup-vinduet ser således ud:
visinfo.asp?ID=?? ' Hvor ?? er ID-nummer for den record som skal vises.
Du skal udvide popup-vinduet med en parameter mere (evt. mode) og to link til forrige/næste:
Link til forrige: <a href='visinfo.asp?ID=??&mode=prior'>Forrige</a>
Link til næste: <a href='visinfo.asp?ID=??&mode=next'>Næste</a>
Tegnene ?? skal være den samme ID fra request.QueryString("ID")
Herefter skal asp-koden i popup-vinduet udvides med kode der kan vise forrige/næste på baggrund af ID.
Noget i denne stil:

strID = LCase(Request.QueryString("ID"))
strMode = LCase(Request.QueryString("mode"))
if strMode = "prior" then
  SQL = "select TOP 1 * from tabelnavn where ID<" & strID ' Find den forrige record
end if
if strMode = "next" then
  SQL = "select TOP 1 * from tabelnavn where ID>" & strID ' Find den næste record
else 
  SQL = "select * from tabelnavn where ID=" & strID ' Eksisterende SQL-sætning i popup-vindue
end if
Set RS = conn.Execute(SQL)
if RS.EOF or RS.BOF then
  ' Du er nået til enden. Der findes ikke flere. Her kan vises den samme eller andet.
else
  strID = RS("ID") ' Denne sætning er vigtig da ID kan være forrige/næste
end if

Herefter vises indholdet af record, som du gør nu og tilføjer link til forrige og næste som beskrevet ovenover.
Avatar billede netsrac Praktikant
03. marts 2002 - 14:25 #4
Du kan gøre som coltau siger, eller du kan benytte dig af noget der hedder paging som er skabt til lige netop det du eftersøger:

http://activedeveloper.dk/aspdigital/kapitel2/paging.asp
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