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

Como Muestro registro a azar....

Estas en el tema de Como Muestro registro a azar.... en el foro de ASP Clásico en Foros del Web. Hola!! Alguien podria decirme como mostrar un registro a azar de una tabla en una base de datos access. Seria bueno un ejemplo. Gracias por ...
  #1 (permalink)  
Antiguo 13/01/2003, 02:49
Avatar de affv  
Fecha de Ingreso: diciembre-2002
Ubicación: Ahora aqui
Mensajes: 485
Antigüedad: 21 años, 6 meses
Puntos: 0
Como Muestro registro a azar....

Hola!!

Alguien podria decirme como mostrar un registro a azar de una tabla en una base de datos access.

Seria bueno un ejemplo.




Gracias por su ayuda..
__________________
Todo tiene un comienzo y un fin!!
Postea tus proyectos
  #2 (permalink)  
Antiguo 13/01/2003, 04:10
Avatar de garcef  
Fecha de Ingreso: agosto-2001
Ubicación: Querétaro, México
Mensajes: 289
Antigüedad: 22 años, 9 meses
Puntos: 0
A ver que tal te sirve

Este script esta funcionando con unos .swf en una base de datos Access entra a www.eradiomx.com/estudiantes y vas a escuchar música actualiza y escucharas otro tema

<%
Dim oConn, RS, registros, registro_azar
' Conectamos a la BD.
Set oConn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.Recordset")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("tubase.mdb ")&";"
' seleccionamos todos los registros.
sql = "SELECT * FROM tablita"
RS.OPEN sql, oConn, 1, 1
'los contamos con RecordCount.
registros = rs.RecordCount
'Iniciamos randomize para que funcione el Rnd.
Randomize()
'obtenemos un regitro al azar.
registro_azar = Int((registros * Rnd))
'Vamos hasta el registro.
RS.Move(registro_azar)
'Mostramos donde estamos parados.
response.write RS(0)
'Cerramos y limpiamos (como siempre).
RS.Close
oConn.close
Set RS = Nothing
Set oConn = Nothing
%>

Muy simple y sin mayor problema
__________________
garcef
Facebook: url]https://www.facebook.com/memelandiax[/url]
Twitter: @Memelandiax Vine:memelandiax Instagram: memelandiax Youtube: memelandiax
  #3 (permalink)  
Antiguo 13/01/2003, 04:14
Avatar de garcef  
Fecha de Ingreso: agosto-2001
Ubicación: Querétaro, México
Mensajes: 289
Antigüedad: 22 años, 9 meses
Puntos: 0
¡¡ Se me olvidaba !!

la Tabla de Access "en este caso tablita "

debe tener una columna de nombre evento o el que tu quieras sin Id ni nada

Esto es

+mibase.mdb
***Tabla llamada tablita
*****Columna de nombre evento

Espero te sirva
__________________
garcef
Facebook: url]https://www.facebook.com/memelandiax[/url]
Twitter: @Memelandiax Vine:memelandiax Instagram: memelandiax Youtube: memelandiax
  #4 (permalink)  
Antiguo 13/01/2003, 05:21
 
Fecha de Ingreso: enero-2003
Mensajes: 71
Antigüedad: 21 años, 5 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.
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 12:15.