Avatar billede mothwe Nybegynder
24. marts 2004 - 21:47 Der er 12 kommentarer og
1 løsning

SQL-statement

Når jeg henter en vare ud fra min database (eks.: "SELECT * FROM varer WHERE varenr='10011';") vil jeg også gerne kunne udskrive forrige og næste varenr i tabellen, så brugeren kan klikke på "Vis næste vare" og "Vis forrige vare"...

Hvordan grejer jeg lige den?
Avatar billede terry Ekspert
24. marts 2004 - 21:51 #1
This is possible, but may I ask why you want only three previous and next records? What do you do if the user wnats to see th eone before the previous? So what I am getting at is why not get them all but show the one with varenr = '10011'
Avatar billede mothwe Nybegynder
24. marts 2004 - 21:55 #2
Hej Terry.
Det er i forbindelse med en hjemmeside, hvor kunden kan kigge på mine varer. Når kunden går ind på "vare.asp?varenr=10011" vises en siden med denne vare - i bunden af siden skal brugeren så have mulighed for at klikke på "Næste vare" (<A HREF="vare.asp?varenr=10032">) og "Forrige vare" "Næste vare" (<A HREF="vare.asp?varenr=10006">)
Avatar billede misbruger Nybegynder
24. marts 2004 - 21:57 #3
Kan du ikke være venlig at definere den forrige og den næste...

...er det den forrige række eller varenr=10010 and varenr=10012 ?
Avatar billede mothwe Nybegynder
24. marts 2004 - 21:59 #4
Det er det FORRIGE og NÆSTE varenr (WHERE varegrp="102" - men dette er underordnet i forhold til mit behov for hjælp) - man kan dog ikke regne med at fordi det aktuelle varenr er 10011, så vil det forrige være 10010 og det næste være 10012.
Avatar billede jensen363 Forsker
24. marts 2004 - 22:00 #5
Hej Terry ... skulle lige til at spørge om det samme, men kan godt se problematikken. Venter spændt på din løsning ;)
Avatar billede mothwe Nybegynder
24. marts 2004 - 22:06 #6
Jeg håber at jeg har forklaret mig tydeligt nok - jeg synes selv at det måske lyder lidt kryptisk :-/
Avatar billede jensen363 Forsker
24. marts 2004 - 22:09 #7
Egentlig ikke, problemstillingen er relevant nok, jeg tror bare ikke den lige er til at løse ...
Avatar billede mothwe Nybegynder
24. marts 2004 - 22:13 #8
Hvis man som udgangspunkt har et varenr der hedder 10010, er der så ikke en funktion i stil med denne (jeg selv lige finder på):

SELECT PREVIOUS FROM varer WHERE varegrp="101" eller

SELECT NEXT FROM varer WHERE varegrp="101"
Avatar billede mothwe Nybegynder
24. marts 2004 - 22:14 #9
Eller kan man bruge rs.MoveNext til noget i den forbindelse?
Avatar billede mothwe Nybegynder
24. marts 2004 - 22:28 #10
Jeg lavede denne løsning til at finde næste vare:

DO WHILE NOT rs.EOF
INT i=0
IF rs("varenr")> vnr THEN
  i=i+1
  IF i=1 THEN
    response.write rs("varenr")
  END IF
END IF

rs.MoveNext
LOOP

Men det må da kunne laves mindre kringlet?
Avatar billede mothwe Nybegynder
24. marts 2004 - 22:32 #11
Nå, min løsning blev sådan her:

DO WHILE NOT rs.EOF

INT i=0
INT j=0

IF rs("varenr")> vnr THEN
i=i+1
IF i=1 THEN
response.write  "Vare efter:" & rs("varenr")
END IF
END IF

IF rs("varenr")< vnr THEN
j=j+1
IF j=1 THEN
response.write "Vare før:" & rs("varenr")
END IF
END IF

rs.MoveNext
LOOP

Så med mindre nogen protestere, så gir' jeg pointene til mig selv! Ellers tak for hjælpen!
Avatar billede terry Ekspert
25. marts 2004 - 12:13 #12
Hi jensen 363 > 24/03-2004 22:00:43 I decided againts it as I didnt want to use time on something which would maybe be rejected.

I still dont see the point in being able to page to the previous or next if isnt possible to do it through the whole recordset, and the solution I was going to give would only return exactly waht mothew asked for (three records) or maybe only two if there was not a previos or next.
Avatar billede jensen363 Forsker
25. marts 2004 - 12:17 #13
Terry > Det er bare i orden ... jeg kan se både fordele og ulemper, men måske mest nogle styrings-/performancemæssige problemer i den begrænsede søgning ;)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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