Det du kan göra är att ha ett unikt id till varje rad och sen räkna antalet rader och göra en random räkning med lägsta 1 och högsta det tal du får från räkningen av databaserna... Tyvärr finns det bara textfällt i tabellen !!!!!!! Kan man lösa det ändå ? Du kan använda "Recordset.Move [Position]" också... Inga identiteter?? Tja, mitt råd är att fixa det så att det funkar som föregående talare. ladda ned denna, http://www.mrwize.nu/scripts/arrays/clsArray.zip , zip-fil som innehåller en vb-script class som gör det du vill.Sv: Slumpa 1 post ur databas
Om just det nummret av någon anledning inte skulle finnas så kan den slumpa ut ett nytt nummer som du försöker med ;)
Mvh ThomasSv: Slumpa 1 post ur databas
Sv: Slumpa 1 post ur databas
Ta först reda på antalet poster i din databas med Count(*) i select satsen och efter det gör du en Rnd räkning...
Recordset ändrar du till din variabel för anslutningen till databasen och [Position] ändrar du till variabeln du har använt när du räknat ut Rnd functionen...
lngPosition = Int(Rnd * lngAntal) ska det vara om jag inte minns fel nu =)
Mvh ThomasSv: Slumpa 1 post ur databas
Annars får du göra en lite värre sak som resuterar i en ganska stor datamängd men det kanske funkar ändå om du inte har så stor tabell och/eller så många träffar på din ASP-sida.
Hämta upp alla data till ett recordset (SELECT * FROM tabellnamn).
Slumpa ett tal mellan 1 och recordset.count (antalet poster i tabellen).
Ta det slumpade talet och använd dig av recordsettets metod move:
rs.move(slumpattal)
Du befinner dig då på den post som gäller och det är också den som du vill ha ut.
Denna metod funkar men är ganska omständig.
//MikaelSv: Slumpa 1 post ur databas
Får du problem så kan du posta här eller kontakta mig direkt på info@mrwize.nu
Finns ett antal olika egenskaper och metoder för att sortera, lägga till, ta bort värden från en array.
Den stödjer både "vanliga" och 2-dimensionella arrays.
cya,
PatrikB