En este grupo En todos

Foro de Access



Extraer registros Access aleatorios

Escrito por Ddrmama
el 16/02/2009

Hola a todos tengo la siguiente duda. Quiero hacer una batería de preguntas test para exámenes, y como no encuentro ningún programa de test que me guste la quiero hacer en Access. La cuestión está en que me gustaría saber si tengo por ejemplo 100 preguntas, si puedo hacer algún tipo de función o expresión con la que le diga al programa que me extraiga 30 preguntas de manera aleatoria para formar el examen.

Gracias

Juan Cots
Valencia, España
Escrito por Juan Cots
el 16/02/2009

Hola Ddrmama.

En el hilo que te adjunto, puse un ejemplo que tal vez te sirva adaptandolo a tus necesidades

https://foros.emagister.com/tema-seleccion_aleatori-13129-675496-1. Htm

Un saludo

Escrito por Ddrmama
el 17/02/2009

Gracias por tu respuesta me ha venido muy bien, creo que es exactamente lo que busco el problema es que no he entendido muy bien el concepto para llevarlo a mi terreno.

A ver si me puedes orientar. El caso es que quiero crear una base de datos con preguntas de diversos temas, tipo test.

Los campos serían Nº PREGUNTA (ALEATORIO),CATEGORÍA, PREGUNTA (TEXTO), A) (TEXTO CON LA POSIBLE RESPUESTA), B) , C) , RESPUESTA CORRECTA (TEXTO).

Lo que me gustaría hacer es decir por ejemplo de LA CATEGORÍA A, sácame un exámen de 30 preguntas aleatoria de las 100 que tengo en esa tabla y ponla en un informe (eso es lo de menos). Es algo muy parecido a lo que tú tienes hecho pero no sé como sustituir lo que necesito por lo que hay. ¿Me entiendes?

Gracias

Juan Cots
Valencia, España
Escrito por Juan Cots
el 17/02/2009

Hola.
En el formulario Aleatorios de mi ejemplo sustituirías el cuadro combinado donde se elige el CP por un cuadro combinado tuyo en el que puedas seleccionar la categoría.

Una vez eso preparado, te adjunto un documento word con los cambios que deberías hacer en el código.

Aunque el documento es largo, porque te pongo todo el código, fíjate que solo debes cambiar un par de líneas.

Un saludo



Ficheros adjuntos:
aleatorios
Escrito por Ddrmama
el 05/03/2009

Aunque he tardado en contestar pero más vale tarde que nunca, muchas gracias por tu respuesta me ha servido de mucho.

Un saludo

Francisco Casado Martinez
Experto: formación en normativa de cir...
Escrito por Francisco Casado Martinez
el 19/11/2009

Hola, Juan:

He visto tu aportación relativa a la selección aleatoria de registros y se ajusta casi exactamente a lo que necesito. Aunque estoy mas acostumbrado a Delphi que a VB, el código que añadiste en. "aleatorios. Doc" es muy claro.... Excepto que lo que no domino a fondo es Access. Lo digo porque el enlace que has puesto al formulario "Aleatorios" y a la consulta "Nueva" no me funciona; con las consultas no hay problema, pero no consigo entrar al código fuente de los formularios para abrir uno nuevo y hacer un copia-pega para adaptarlo a mis necesidades. ¿Podrías volver a colgarlo o indicarme como acceder al formulario?.

Un saludo por adelantado.

Paco.

Juan Cots
Valencia, España
Escrito por Juan Cots
el 19/11/2009

Hola Francisco.
No se a que te refieres con el problema para entrar al código fuente. Está totalmente abierto y visible.
Explicame donde se te genera el problema
Un saludo

Francisco Casado Martinez
Experto: formación en normativa de cir...
Escrito por Francisco Casado Martinez
el 20/11/2009

Hola:

Vale, como te decía, el problema está en la falta de costumbre con Access... Y a que ayer puede que estuviese ya un poquito dormido. El caso es que intentaba trabajar con el código de tu Formulario como si fuese un Módulo , es decir, sin contar con que ese código debe estar relacionado con sus correspondientes controles. Evidentemente, ninguna de las vistas de diseño del formulario se correspondía con la de entrada de código puro y duro como en la vista de diseño de los Módulos, y a eso me refería.

Bueno, supongo que puedo reproducir o imitar el diseño del formulario en base al código que colgaste en el documento "Aleatorios. Doc" (como te dije ayer, el enlace que pusiste más arriba "https://foros.emagister.com/tema-seleccion_aleatori-13129-675496-1. Htm" no funciona, por lo que no se puede descargar ni el formularuio ni la consulta). Pero lo que no acabo de captar es porqué hacer todo esto en base a un formulario. ¿No están los Módulos para este tipo de cosas? No se, quizá sea que siempre he interpretado que, así a vuelapluma, en Access un Formulario sirve para entrada de datos, un Informe para salida de datos y un módulo para ejecución de código no específico, acciones fuera del alcance de una consulta estándar, y cosas así.

El resumen final es que intento hacer algo similar a lo de Ddrmama, aunque algo más complejo, puesto que la selección de registros para el test debe ser aleatoria en su conjunto pero con algunos parámetros como:

Quiero seleccionar 30 registros aleatorios, de los cuales:

2 me deben cumplir la condición grado de dificultad 1,

3 el grado de dificultad 2,

7 el grado de dificultad 3

.........

y, además, sobre el total de 30 debe haber 7 preguntas de seguridad vial, 4 de mecánica, 8 de señales, etc (evidentemente, tanto el grado de dificultad de cada pregunta como la materia en que se enmarca están definidos en la tabla por sus correspondientes campos relacionados)

Como verás estamos hablando de un truco dentro de un engaño dentro de un misterio (no sé quien dijo algo así).

Por eso no sé si mediante tu procedimiento del formulario puedo conseguir algo así, aunque casi me inclino a un montón de consultas sucesivas comandandadas por una macro, o bien mediante un módulo bien rellenito de bucles. Eso si, si lo consigo se lo vendo a la ONU para que averigue la solución a cada guerra.

Un abrazo (y perdona por el cilindro)

Juan Cots
Valencia, España
Escrito por Juan Cots
el 20/11/2009

Hola Paco.

El problema con el enlace, es debido al editor de textos de este foro, que pone un espacio después de los puntos, es decir el htm final debe ir a continuación del punto sin espacios.
No obstante prueba desde este enlace.

En cuanto a tus comentarios, los formularios de Access, así como los de muchos otros lenguajes de programación llevan módulos de clase asociados para extender las posibilidades a la hora de programar cada objeto que puedan contener.

En muchas ocasiones procedimientos o funciones que perfectamente podrían ir en el módulo asociado al formulario los colocamos en módulos independientes para dar una mayor claridad al código,también hay ocasiones en que queremos declarar procedimientos públicos que sirvan a la totalidad de la aplicación y lógicamente se hace necesario el uso de estos módulos independientes por aquello del alcance.

Una de las principales ventajas de Access con respecto a otros programas es que lleva las tablas integradas, por tanto desde un formulario podemos acceder fácilmente a las mismas o todavía mejor desde un formulario mostrar los datos de una consulta con gran sencillez.

Todo esto (que posiblemente ya sabes) te lo comento, porque en tu caso (que a priori es cierto que si te queda bien la ONU te lo compra seguro) es posible que lo puedas hacer con más facilidad de lo que piensas, porque si consigues una consulta que te devuelva los registros necesarios, luego con el ejemplo que todavía no has podido ver creo que podría resultarte suficiente.

Si te atascas, ya sabes.... Por aquí estamos
Un abrazo

Francisco Casado Martinez
Experto: formación en normativa de cir...
Escrito por Francisco Casado Martinez
el 20/11/2009

OK, captado el tema.

Si lo consigo, te prometo parte de la comisión (creo que la ONU paga bien).

Si no, te enterarás cuando te vuelva a preguntar.

Gracias y un saludo.

Abraham Valencia
Computacion e informatica microsoft mv...
Escrito por Abraham Valencia
el 20/11/2009

Siento bajarles la moral camaradas pero... Ya le vendi a la ONU un sistema asi en PHP y MYSQL :p

Saludos

Abraham

Francisco Casado Martinez
Experto: formación en normativa de cir...
Escrito por Francisco Casado Martinez
el 20/11/2009

Visto lo visto y la competencia aparecida, creo que me iré a algún foro de ajedrez, donde tampoco soy ningún maestro pero al menos sé por donde empezar a colocar las piezas. Saludos a ultramar.


Juan Cots
Valencia, España
Escrito por Juan Cots
el 20/11/2009

No te preocupes Paco, que como Abraham es un poco anti-sistema, seguro que les ha puesto algún virus y la ONU acaba llamándonos para que arreglemos el misterio, el truco y el engaño

Feliz fin de semana a todos

Francisco Casado Martinez
Experto: formación en normativa de cir...
Escrito por Francisco Casado Martinez
el 20/11/2009

A divertirse

Abraham Valencia
Computacion e informatica microsoft mv...
Escrito por Abraham Valencia
el 20/11/2009

Juan, ¿Un poco? Bastante anti-sistema diria yo :) y bueno, he de aceptarlo, me has pillado, no solo virus, sino un keylogger y un par de troyanos les he metido :)

Con decirles que ahora el consejo permanente de seguridad de la ONU ya no son: Rusia, Francia, EEUU, GB y China sino: Corea del Norte, Iran, Palestina, Venezuela y Cuba :)

Abraham

Keila Santos
Ing civil uabc
Escrito por Keila Santos
el 22/02/2010

Hola estoy necesitando un ejemplo como el que mencionas juan pero no puedo entrar al enlace https://foros.emagister.com/tema-seleccion_aleatori-13129-675496-1. Htm que mencionas

saludos

Juan Cots
Valencia, España
Escrito por Juan Cots
el 22/02/2010

Prueba desde aquí

Un saludo

Adonay Vega
Distrito Federal, Mé...
Escrito por Adonay Vega
el 10/11/2011

Sr. Desde méxico le envio mi mas grande admiración y agradecimiento por este programa... Un saludo enorme me funciono al 100% llevaba tiempo buscando algo asi, gracias....! =d