ciao,

ho visto che questo problema è già stato affrontato diverse volte, ma la mia domanda è un po' diversa.
ho realizzato una pagina asp che viene richiamata da un filmato in flash, questa pagina restituisce il nome di un file mp3 in modo casuale da un elenco presente in una tabella in access.
Un metodo per fare il cosidetto "record precedente" e "record successivo" sarebbe quello di fare una prima query cercando il record con ID < di quello selezionato e una seconda query cercando l'ID > sempre di quello selezonato.
Però io volevo cercare una soluzione più elegante e usare cioè i recordset.

il mio problema è che se voglio vedere con il .BOF o con il. EOF se il record casuale è il primo o l'ultimo ho sempre valore "false"

posto lo script (in rosso la parte che non funziona):

codice:
<% randomize()
id = request.querystring("id")
if id ="" then
query = "SELECT * FROM records"
else
query = "SELECT * FROM records WHERE idpromo=" & id
end if
set titoli = server.createobject("adodb.recordset")
titoli.open query, connDB, 1, 1
if not titoli.BOF and not titoli.EOF then
cursore = Fix(titoli.RecordCount*Rnd())
titoli.Move (cursore)
response.write ("&file_mp3=" & titoli("file1"))
response.write("&titolo="+Server.URLEncode(titoli("artista") & " """ & titoli("titolo") & """"))
if not titoli.EOF=true then
titoli.movenext
end if
response.write ("&avanti=" & titoli("idpromo"))




else
response.write("&titolo=file audio non trovato")
end if %>
grazie