Avatar billede lund_dk Praktikant
04. oktober 2005 - 08:08 Der er 10 kommentarer og
1 løsning

3 random fra accss database

Nogen som kan hjælpe mig med et kode eksempel på hvordan man tække 3 tilfældige poster ud fra en database.
Og af de 3 tilfældige der udtrækkes må de samme ikke udtrækkes på samme gang.
Avatar billede goose Nybegynder
04. oktober 2005 - 08:36 #1
Jeg er sikker på din løsning ligger her: http://www.eksperten.dk/spm/562224

/Goose
Avatar billede lund_dk Praktikant
04. oktober 2005 - 08:43 #2
har jeg kigget på, men den laver jo bare 3 random tal som ikke har med databasen at gøre, er ikk det jeg har brug for.
Avatar billede nielle Nybegynder
04. oktober 2005 - 08:47 #3
SELECT TOP 3 * FROM dinTabel ORDER BY NewID()
Avatar billede goose Nybegynder
04. oktober 2005 - 08:53 #4
Såvidt jeg kan se, så finder koden på den side jeg henviser til da nogle randdom poster fra en database - not?

nielle>> vil det ikke bare tage de samme 3 fra toppen hver gang?

/Goose
Avatar billede lund_dk Praktikant
04. oktober 2005 - 09:03 #5
ikke så vidt jeg kan se, så tager den altså bare nogle random_number
Avatar billede softspot Forsker
04. oktober 2005 - 12:15 #6
Jeg tror det er 3. eller 4. gang dette spørgsmål bliver stillet (her på Eksperten) indenfor de sidste 3 måneder, så det må være en populær funktionalitet :)

Jeg har lige testet denne og den fungerer i hvert tilfælde mod en Access-database:

Randomize
rndIdx = -int(1000*Rnd())+1
SQL = "SELECT * FROM tabel ORDER BY Rnd(" & rndIdx & "*ID)"
Avatar billede nielle Nybegynder
04. oktober 2005 - 14:24 #7
04/10-2005 08:53:18> Desværre findes NewID() ikke i Access - kun i MS SQL. Men ellers ville den havde givet 3 forskellige rækker pr. gang.
Avatar billede lund_dk Praktikant
25. november 2005 - 21:25 #8
JEg har prøvet at udskrive det således, men får fejl, gør jeg noget galt ?


rndIdx = -int(1000*Rnd())+1
SQL = "SELECT * FROM varer ORDER BY Rnd(" & rndIdx & "*ID)"
Set RSMenu = conn.Execute(SQL)
response.write = rsMenu("vareoverskrift")
Avatar billede lund_dk Praktikant
25. november 2005 - 21:32 #9
Min fejl, fik det til at virke

Randomize
rndIdx = -int(1000*Rnd())+1
SQL = "SELECT TOP 3 * FROM varer ORDER BY Rnd(" & rndIdx & "*vareID)"
Set RSMenu = conn.Execute(SQL)
While Not RSMenu.EOF
response.write  rsMenu("vareoverskrift") & "<br>"
RSMenu.MoveNext
    Wend

liggr du et svar?
Avatar billede softspot Forsker
25. november 2005 - 22:11 #10
Det kan du tro :)
Avatar billede softspot Forsker
25. november 2005 - 22:33 #11
Tak for point :)
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