jag har en lista som räknar upp samtliga poster i en tabell. För att sortera enligt ID nummer i ordning skriver man ju:
SQLsats = "SELECT * FROM sockrates ORDER BY ID"
men hur gör jag om jag vill slumpa ordningen?
12 svar · 423 visningar · startad av magnusfeldth
jag har en lista som räknar upp samtliga poster i en tabell. För att sortera enligt ID nummer i ordning skriver man ju:
SQLsats = "SELECT * FROM sockrates ORDER BY ID"
men hur gör jag om jag vill slumpa ordningen?
SQLsats = "SELECT * FROM sockrates ORDER BY RAND()"
felmeddelande:
Microsoft JET Database Engine error '80040e14'
Undefined function 'RAND' in expression.
måste jag lägga till något mer än rand() i sql-satsen? måste jag skriva något innan, efter?
Hmm, den där funktionen kanske bara finns i MySQL, och du använder access (eller?). Då vet jag inte.
japp, access
Access har mig veterligen ingen inbyggd funktion för att slumpa, utan du får sköta det i applikationen. Sök i ASP-forumet så finns några exempel.
Om det trots allt skulle gå att lösa i SQL-frågan antar jag att funktionen heter newid(), som den heter i T-SQL för SQL server.
SELECT * FROM blah ORDER BY newid()
Mvh
Newid finns bara i MS SQL server. Möjligen att RND finns.
hur skall jag skriva med RND då? förslag?
Den som provar, han testar.
red: (och det gjorde jag. :D
Hos mig fungerar det andra förslaget alldeles ypperligt.)
testade tvåan och när jag skulle publicera den sa skit-frontpage att "en ogiltig parameter hade skickats till fp-tilläggen" och ville inte publicera den... vad göra? (förrutom det självklara, dumpa fp och gå över till dreamweaver, ska göra det till sommaren.)