Foros del Web » Programando para Internet » ASP Clásico »

Registros aleatorios

Estas en el tema de Registros aleatorios en el foro de ASP Clásico en Foros del Web. Uso este codigo para mostrar registros de un bd Access aleatoriamente,pero quiero que no me muestre el mismo dos veces seguidas. set Conn=Server.CreateObject("ADODB.Connection") conn.open "DRIVER={Microsoft ...
  #1 (permalink)  
Antiguo 06/05/2003, 13:38
Avatar de Biopepe  
Fecha de Ingreso: abril-2003
Ubicación: Bilbao
Mensajes: 63
Antigüedad: 22 años
Puntos: 0
Registros aleatorios

Uso este codigo para mostrar registros de un bd Access aleatoriamente,pero quiero que no me muestre el mismo dos veces seguidas.

set Conn=Server.CreateObject("ADODB.Connection")
conn.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="& server.mappath("/db/datos.mdb")

set rs = Server.CreateObject("ADODB.Recordset")
SQL = "select * from datos"
rs.OPEN sql, conn,3,1
intTotalRecords = rs.RecordCount
Randomize()
session("random")=0
intRandomNumber = Int((intTotalRecords * Rnd))
if session("random")<>intRandomNumber then
rs.Move intRandomNumber
session("random")=intRandomNumber
redimImage ""&rs("nombre_fich")&"", 225, 275, 300, 300
else
Randomize()
intRandomNumber = Int ((intTotalRecords * Rnd))
end if
rs.close
conn.close
Set RS = nothing
Set conn = nothing

redimimage es un procedimiento(creo que se llama asi) que he declarado mas alante. El caso es que hay veces que no carga. ¿hay algo masl en el codigo?
Gracias
  #2 (permalink)  
Antiguo 06/05/2003, 13:41
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años, 5 meses
Puntos: 0
entonces copia el trozo que muestra el reg dos veces

redimImage ""&rs("nombre_fich")&"", 225, 275, 300, 300
redimImage ""&rs("nombre_fich")&"", 225, 275, 300, 300
  #3 (permalink)  
Antiguo 06/05/2003, 13:57
Avatar de Biopepe  
Fecha de Ingreso: abril-2003
Ubicación: Bilbao
Mensajes: 63
Antigüedad: 22 años
Puntos: 0
Asi lo que consigo es que lo haga dos veces.
Gracias

Lo he solucionado con un Do While

Do while session("random")=0
if session("random")<>intRandomNumber then
rs.Move intRandomNumber
session("random")=intRandomNumber
redimImage ""&rs("nombre_fich")&"", 225, 275, 300, 300
else
session("random")=0
end if
loop

Gracias de todas formas bakanzipp
  #4 (permalink)  
Antiguo 06/05/2003, 14:03
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años, 5 meses
Puntos: 0
Cita:
Uso este codigo para mostrar registros de un bd Access aleatoriamente,pero quiero que no me muestre el mismo dos veces seguidas.


jaa..disculpa lei al vere
  #5 (permalink)  
Antiguo 06/05/2003, 20:26
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 23 años, 3 meses
Puntos: 1
amelborp yah on
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #6 (permalink)  
Antiguo 12/05/2003, 01:04
Avatar de josego  
Fecha de Ingreso: enero-2002
Mensajes: 126
Antigüedad: 23 años, 3 meses
Puntos: 0
Sentencia Select

-----------------------------
SELECT top 10 cedula
from USUARIOS
order by newid()
-----------------------------
espero te sirva.

Salu2

Jo
__________________
José G. Díaz Unda
Analista de Sistemas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:56.