Frågan 27 maj 2003 15:24 #1 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?
Peeer Medlem sedan mars 2002 5 907 inlägg 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?
Peeer Medlem sedan mars 2002 5 907 inlägg Hmm, den där funktionen kanske bara finns i MySQL, och du använder access (eller?). Då vet jag inte.
@nders Medlem sedan juni 2000 32 969 inlägg 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
L LarsG Medlem sedan dec. 2000 12 464 inlägg Newid finns bara i MS SQL server. Möjligen att RND finns.
hur skall jag skriva med RND då? förslag?
@nders Medlem sedan juni 2000 32 969 inlägg Prova att använda det enligt tidigare förslag i tråden.
Mvh
SELECT * FROM blah ORDER BY RND()
?
eller
SELECT * FROM blah ORDER BY RND(id)
@nders Medlem sedan juni 2000 32 969 inlägg 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.)