21 messaggi dal 27 gennaio 2002
Salve a tutti,

ho un problema che probabilmente è semplice ma io non riesco a risolvere, in pratica devo ciclare dei record per n_volte e nel loop, quando arrivo alla fine dei record esistenti devo iniziare da capo col primo record, vi faccio l'esempio che è più semplice:

For I = 1 To n_volte
If rs.EOF = True Then
rs.MoveFirst
Else
rs.MoveNext
End If
Next

Tutto ciò serve per scegliere un record in base alla variabile n_volte che cambia di +1 in un'altra parte dello script. Il record è il primo, poi la variabile diventa n_volte+1 e il ciclo for tira fuori il secondo record, ecc.

Mi sono dimenticato di dire che lo script sopra non funziona bene, se i record nel db sono 2, e n_volte=3 (ad esempio), lo script funziona ma quando cicla su I=2 da errore, perchè probabilmente il record non esiste.

Se c'è un modo più semplice suggerite pure!
Grazie mille a tutti per il supporto.
A presto.
Modificato da Roboled il 23 ottobre 2007 19.44 -
21 messaggi dal 27 gennaio 2002
Nessuno può aiutarmi? :-(
394 messaggi dal 11 agosto 2004
Ma guarda se devo essere onesto non ho mica ben capito cosa deve fare quella funzione e il suo utilizzo..
21 messaggi dal 27 gennaio 2002
Ciao,

hai ragione, è una cosa semplice ma è difficile da spiegare, ci proverò:

ho una variabile session("n_vole") che ogni volta che l'utente salta su un'atra pagina del sito viene maggiorata di 1, questa variabile mi serve per fare in modo che ad ogni pagina che l'utente cambia leggo il record successivo di una tabella. Se la variabile è uguale a "1" leggo il record 1, se "2" il secondo e via dicendo. Quando la variabile diventa ad esempio "5" ma i record sono 4, lo script deve iniziare daccapo.

Avevo pensato a questo, ma non credo sia efficiente e cmq non funziona bene:

For I = 1 To session("n_volte")
If rs.EOF = True Then 'se il record è arrivato alla fine inizia daccapo
rs.MoveFirst
Else 'in caso contrario passa al record seguente
rs.MoveNext
End If
Next

Response.write(...) 'qui stampo il record a video
Session("n_volte") + 1 ' aumento la variabile così l'utente quando cambia pagina vede il prossimo record

Puoi aiutarmi?
394 messaggi dal 11 agosto 2004
ok vorrei capire un'ultima cosa..
Nel caso in cui i record sono 4 e n_volte è 20 o 5 che record deve scegliere?
Il primo sempre e cmq oppure uno random tra i 4?
21 messaggi dal 27 gennaio 2002
Se n_volte è 5 e i record sono quattro, il record che viene visualizzato è il numero 1, se n_volte è 6, il record è il n. 2. E così via, cicla sempre. Quando arriva alla fine dei record del DB inizia daccapo (io ho usato rs.MoveFirst, il tutto funziona, ma nello script che ho scritto c'è un "buco" tra l'ultimo record e il primo).
394 messaggi dal 11 agosto 2004
Non so se hai già risolto..
Cmq potresti provare così:
If rs.recordcount <= n_volte
For I = 1 To n_volte
rs.MoveNext
Next
Else
For I = 1 To (n_volte-rs.recordcount)
rs.MoveNext
Next
End If
21 messaggi dal 27 gennaio 2002
Ciao, purtroppo non funziona, però mi hai dato un'idea, ora la provo e ti faccio sapere!

Ciao e grazie mille.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.