consulta registros aleatorios
Publicado por José Pérez (1 intervención) el 18/04/2010 08:41:13
Hola
estoy tratando de crearme una pequeña aplicación con visual basic referente a preguntas de examen tipo test, de las que siempre tienes 4 respuestas alternativas y sólo una es la correcta. la base de datos con la que trabajo es access 2003.
lo q pretendo es generarme test de diferentes temas con las condiciones de que quiero que me genere preguntas aleatorias no repetidas que me cumplan la condición de que sean de un tema "x", y que el tamaño que me muestre de registros en esa columna se lo indique yo por un parametro con entrada a través de una caja de texto.
el problema creo que lo tengo con la condición de aleatoriedad
la conexión la realizo a través de dataenmviroment
la cosulta que tengo en el mismo es la siguiente
SELECT * FROM preguntas WHERE id_t_p like ? ORDER BY rand(id_p) limit = ?
el número de preguntas que quiero obtener resultado de la consulta se lo quiero introducir con parámetro (es decir, unas veces serán 10 preguntas, otras 24, otras..., el campo id_t_p es el identificador del tema, es de tipo texto y el campo id_p es autonumérico (clave principal).
el error que me da dice algo tal que así
controlador odbc microsoft access. error de sintaxis (falta operador) en la expresión de consulta 'rand(id_p) limit = paramOO1'
no soy muy bueno que digamos con el vb, por lo que estoy tratando de modificar la consulta a otras similares como las siguientes que muestro, pero también me da el mismo tipo de error
SELECT * FROM preguntas WHERE id_t_p = ? ORDER BY rand(id_p) limit = ?
SELECT * FROM preguntas WHERE id_t_p like ? ORDER BY rand() limit = ?
SELECT * FROM preguntas WHERE id_t_p = ? ORDER BY rand() limit = ?
SELECT * FROM preguntas WHERE id_t_p like ? ORDER BY rand(id_p) limit ?
SELECT * FROM preguntas WHERE id_t_p = ? ORDER BY rand(id_p) limit ?
SELECT * FROM preguntas WHERE id_t_p like ? ORDER BY rand() limit ?
SELECT * FROM preguntas WHERE id_t_p = ? ORDER BY rand() limit = ?
.................................
gracias de antemano por la atención y comentarios
estoy tratando de crearme una pequeña aplicación con visual basic referente a preguntas de examen tipo test, de las que siempre tienes 4 respuestas alternativas y sólo una es la correcta. la base de datos con la que trabajo es access 2003.
lo q pretendo es generarme test de diferentes temas con las condiciones de que quiero que me genere preguntas aleatorias no repetidas que me cumplan la condición de que sean de un tema "x", y que el tamaño que me muestre de registros en esa columna se lo indique yo por un parametro con entrada a través de una caja de texto.
el problema creo que lo tengo con la condición de aleatoriedad
la conexión la realizo a través de dataenmviroment
la cosulta que tengo en el mismo es la siguiente
SELECT * FROM preguntas WHERE id_t_p like ? ORDER BY rand(id_p) limit = ?
el número de preguntas que quiero obtener resultado de la consulta se lo quiero introducir con parámetro (es decir, unas veces serán 10 preguntas, otras 24, otras..., el campo id_t_p es el identificador del tema, es de tipo texto y el campo id_p es autonumérico (clave principal).
el error que me da dice algo tal que así
controlador odbc microsoft access. error de sintaxis (falta operador) en la expresión de consulta 'rand(id_p) limit = paramOO1'
no soy muy bueno que digamos con el vb, por lo que estoy tratando de modificar la consulta a otras similares como las siguientes que muestro, pero también me da el mismo tipo de error
SELECT * FROM preguntas WHERE id_t_p = ? ORDER BY rand(id_p) limit = ?
SELECT * FROM preguntas WHERE id_t_p like ? ORDER BY rand() limit = ?
SELECT * FROM preguntas WHERE id_t_p = ? ORDER BY rand() limit = ?
SELECT * FROM preguntas WHERE id_t_p like ? ORDER BY rand(id_p) limit ?
SELECT * FROM preguntas WHERE id_t_p = ? ORDER BY rand(id_p) limit ?
SELECT * FROM preguntas WHERE id_t_p like ? ORDER BY rand() limit ?
SELECT * FROM preguntas WHERE id_t_p = ? ORDER BY rand() limit = ?
.................................
gracias de antemano por la atención y comentarios
Valora esta pregunta
0