Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/01/2003, 05:21
cuboo
 
Fecha de Ingreso: enero-2003
Mensajes: 71
Antigüedad: 22 años, 7 meses
Puntos: 0
Lo primero que tienes que hacer es conocer el numero de registros que hay en la tabla.

Si el numero de registros es siempre el mismo puedes ahorrarte la primera consulta sql. Si no conoces el numero de registros tienes que contarlos primero y despues con la funcion randomize y rnd generas un numero aleatorio que este dentro del rango de registros que existen.

Si en la tabla tienes un campo Id que identifica los registros la cosa es tan sencilla como lanzar una consulta buscando el registro que coincide con el numero aleatorio que has obtenido anteriormente.

Abres el registro y solo queda hacer lo que quieras con él.

Aqui te pongo un código que espero que te lo aclare un poco.

Código:
' se crean las conexiones
Db="\ruta\db\basededatos.mdb"
SQL="SELECT count(*) FROM tabla"
                   
SET Conn = Server.CreateObject ("ADODB.Connection")
SET Rs 	 = Server.CreateObject ("ADODB.RecordSet")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath(Db)

' se lanza la sentencia sql para conseguir el 
' numero total de registros y se genera el numero aleatorio.

RS.Open SQL, Conn              
randomize
numero_aleatorio=int(rnd*Rs(0))+1
Rs.close

' se abre el registro cuyo Id corresponde con el 
' numero_aleatorio generado anteriormente.

SQL="SELECT * FROM base WHERE Id=" & numero_aleatorio
Rs.Open SQL, Conn

'aqui haces lo que sea con el registro

Rs.Close
Conn.Close
Saludos.