Access - Informe con n registros

 
Vista:

Informe con n registros

Publicado por Marco (5 intervenciones) el 08/06/2022 21:41:08
Hola a todos/as,

Gracias de antemano por la ayuda.

Quiero generar un informe en base a una consulta con que se genera los registros cada vez que se abre el informe. Hasta ahí todo bien.

Lo que necesito es que ese informe muestre un nº limitado de registros en función de un campo Texto de un formulario, es decir, en ese campo ponemos un nº hacemos click sobre un botón y le informe debe mostrar solamente los n registros que queramos. La consulta se ordena aleatoriamente cada vez que se ejecuta.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Informe con n registros

Publicado por Anonimo (3316 intervenciones) el 08/06/2022 23:27:51
Si se maneja SQL una pista (digamos que deseo como máximo 5 registros):

Original:
Select ABC, BCD, CDE From XYZ .....

Modificada:
Select TOP 5 ABC, BCD, CDE From XYZ .....

Añadiendo la variable (nElementos):
Select TOP " & nElementos & " ABC, BCD, CDE From XYZ
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Informe con n registros

Publicado por Marco (5 intervenciones) el 08/06/2022 23:36:58
Gracias por contestar,

La verdad que no me manejo bien ni con SQL ni con VBA.

Supongo que tendría que declarar la variable igualandola al campo de texto donde estaría el dato, en un evento al abrir el informe para que hiciera la selección de los campos y los registros tal y como pones en la última opción.

Pero ni idea.

Para más datos sería:
Consulta origen de los datos para el informe: Consulta_Aleatoria
Formulario donde está el campo nelementos: Menu Campo: Texto18
Nombre del informe : Totales

Al ejecutar la consulta me muestra más de 1000 registro.

Necesito que el informe muestre n registros.

Muchas Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Informe con n registros

Publicado por Anonimo (3316 intervenciones) el 09/06/2022 00:13:52
Con esa premisas va a ser complicado porque se le tiene que asignar al informe el origen de datos (la SQL) en tiempo de ejecución.

Pero solo continuaríamos si antes se resuelve lo que para mi es un misterio de implementación .... lo del 'orden aleatorio'.

Siempre comenzara en el primero eso si, obedeciendo al orden que se le imponga o al 'natural' de esa tabla, y se repetirá siempre.

Cuando se busca 'aleatoriedad' normalmente se inicia el generador de números aleatorios y se crea un bucle para elegir uno a uno y de forma aleatoria al total de registros que se desean.

Esos registros se copian en una tabla temporal (o se marcan en la tabla que los contiene en un campo creado a propósito para ello).

El informe utilizará la tabla temporal (o una consulta que devuelva los seleccionados en la tabla y que antes se marcaron).

Curiosidad ¿Es un listado para un sorteo o para una diezma?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Informe con n registros

Publicado por Marco (5 intervenciones) el 09/06/2022 07:59:44
La aletoriedad la soluciono con una tabla temporal, asignando un número aleatorio mediante una consulta de creación de tabla. Cada vez que se ejecuta el informe se borra la tabla y se le registran datos nuevos en función de la selección de las categorías en un formulario.

El tema es que lo tenía hecho y funcionaba, pero tengo mala cabeza y no recuerdo como lo hice, tuve que modificar la estructura de las tablas y se fue al traste, además como no he tenido tiempo de tocarlo en meses, pues básicamente no recuerdo como conseguí que mostrara el informe los n primeros elementos de la tabla.

La tabla temporal se ordena en función de Alet, de esa tabla se crea una consulta (prefiero trabajar con consultas que con las tablas directamente)

Es una base de datos para hacer exámenes tipo test de un banco de preguntas de manera que indicando el nº de preguntas y las categorías de las mismas te imprima un examen (informe), sin que se repita el orden de las preguntas.

Muchas Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Informe con n registros

Publicado por Anonimo (3316 intervenciones) el 09/06/2022 09:15:07
Desconociendo el diseño real me es imposible deducir donde pueda estar el problema.

Si existe una tabla temporal en la que se cargan de forma aleatoria unos datos que se refrescan/reinician con cada uso ....

En lugar de crear doscientos (o los que sean) registros aleatorios en esa tabla temporal -lo requerirá su tiempo y parte del contenido será desperdiciado- utilizaría otro método.

En el (supuesto) bucle que los selecciona es donde pondría el limite de registros -un contador si no se utiliza un For .. Next, que por diseño limita el numero de interacciones-.

Con esta variación el informe no necesita modificación alguna.

Pero cada programador utiliza su método (al que se supone adaptado como un guante a la necesidad).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Informe con n registros

Publicado por Marco (5 intervenciones) el 09/06/2022 09:41:56
Pues, en este caso estudiaré lo que comentas a ver si se adapta mejor

Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Informe con n registros

Publicado por Marco (5 intervenciones) el 09/06/2022 08:08:23
Le he enviado los archivos.

Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar