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..
| ||||
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 |
| |||
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:
Saludos. ' 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 |