ho l'esigenza di estrarre 6 record in maniera casuale da un database access...
però devono essere diversi tras loro... ovvero non è sufficiente fare 6 estrazioni casuali perchè potrebbero verificarso dei doppioni...
come posso fare?
ho l'esigenza di estrarre 6 record in maniera casuale da un database access...
però devono essere diversi tras loro... ovvero non è sufficiente fare 6 estrazioni casuali perchè potrebbero verificarso dei doppioni...
come posso fare?
Ars longa...vita brevis.
è un bel casino perchè (non uso molto access quindi chiedi conferma) ma access non ha nessuna funzione di select random. Se così fosse dovresti lavorare con più select
cerca estrazione random nel forum ci sono degli script di esempio...coincettualmente, basta ordinare in maniera random gli elementi e poi estrarne i primi 6...oppure ci sono altre scelte...cerca![]()
Codice PHP:<%
dim iItems()
iMaxItems = 6 'numero di record da estrarre
set conn = server.createObject("ADODB.Connection")
conn.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & server.mapPath("\database\db.mdb")
sql = "SELECT * FROM Tabella1"
set rs = server.createObject("ADODB.Recordset")
rs.open sql, conn, 1, 3
iMax = rs.recordCount
if iMax < iMaxItems then iMaxItems = iMax
reDim iItems(iMaxItems - 1)
for x = 0 to iMaxItems - 1
randomize()
i = int(iMax * rnd() + 1)
for y = 0 to uBound(iItems)
alreadyExists = false
if iItems(y) = i then
alreadyExists = true
x = x - 1
exit for
end if
next
if not alreadyExists then
iItems(x) = i
end if
next
if not rs.eof then
for each item in iItems
rs.moveFirst
rs.move item - 1
response.write rs("nomeCampo") & "
"
next
end if
rs.close
set rs = nothing
conn.close
set conn = nothing
%>