Formulario continuo con contador de registros

Es la 3ª vez que os pido ayuda y siempre me lo habéis solucionado.

Hace años que estoy construyendo una base para registrar películas, series...

Entre muchas otras cosas, tengo una consulta (de 2 tablas) en la que registro los actores (tabla1... Es la ficha de cada actor) que participan en cada película (tabla2... Es la ficha de cada película).

Necesito hacer un formulario continuo que sea capaz de agrupar cada actor (permitiéndome ver todos los registros) y me haga una cuenta de registros, y que además pueda ordenarlos de modo descendiente para ver que actor ha participado en más películas hasta llegar al que menos...

Creía que sería muy fácil (porque llevo años con bases), pero llevo ya 4 dias con esto y cada vez lo tengo menos claro, de hecho, ya no se ni por donde empezar... He probado de hacerlo con un informe pero necesito poner varios controles y prefiero los formularios.

Os agradezco de antemano vuestra ayuda, que seguro que me resultará útil

1

1 respuesta

Respuesta
2

A mi se me ocurre que hagas una consulta de totales entre las dos tablas, agrupando por actor y contando por película.

Si me pones una imagen en la que se vean los campos de las dos tablas y cómo están relacionadas, te digo la SQL que necesitas para crearla.

Luego haces tu formulario continuo sobre esa consulta, ¡Y listo!

Un saludo.


Hola

Lo replanteo con otras 2 tablas... pero el objetivo es el mismo.

-La tabla "FItxa2 Actors.Directors" es donde registro el actor que ha participado en la peli

-La tabla "Actors-Directors" es la ficha de cada actor (de aqui saco la inf de cada actor, director...)

La relación la puse entre los campos "Nom Actor-Director" en una tabla y "NomiCognoms" en la otra.

He hecho lo de "agrupar por" y que me ordene ascendentemente por al campo "Nom Actor-Director" y cuando abro en vista hoja de datos no veo ninguna agrupación.... y si en este campo sustituyo "agrupar por" por "contar"... pues no me cuenta ni agrupa, ni nada...no se...

Te adjunto la imagen de la consulta que he hecho y otra de lo que me gustaría obtener pero lo he hecho en excel para que te hagas una idea de lo que intento... no necesito que me lo agrupe y separe igual que excel, sino que con un campo con el resultado de la "cuenta" en cada registro, me conformo.

El objetivo final sería hacer el formulario para poder ver un "ranking" del actor que ha participado en más películas, y a la vez poder ver los registros de cada participación.

Bueno, no se si he conseguido explicarme bien.... creía que sería facilísimo, pero ya ves... no se ni por donde empezar.

Muchas gracias por dedicar tu tiempo a mi pregunta.

Estás cometiendo un error muy común con las consultas de datos agrupados: "Agrupar por" lo que hace es juntar todos los registros que tengan TODOS los campos en los que se lo pones iguales, mientras que opciones como Suma o Cuenta, trabajan sobre los datos de los grupos resultantes.

En tu caso no te agrupa porque IdFitxa2 es un valor único, y si agrupas por un valor único, vas a tener todos los valores (es decir, como si no agruparas)

Para obtener un resultado como el que señalas en el excel (Aaron Abrams -> 2), la consulta la puedes hacer únicamente con la tabla Fitxa2 y los campo IdFitxa2 y Nom Actor-Director, poniendo Cuenta en el primero y Agrupar por en el segundo.

Con la consulta que tienes actualmente, cambiando el "Agrupar por" de Fitxa2 a "Cuenta", también te debería salir el conteo que buscas (si los datos son como los que muestras en el Excel). Eso sí, yo quitaría de la consulta el campo "Foto".

Por otro lado, si quieres tener un resultado como el del excel, eso lo consigues fácilmente con un informe, siguiendo el asistente: seleccionas os campos de las dos tablas, y cuando te pregunte si quieres alguna aprupación, eliges el campo "nom Actor-Director", y le marcas que te haga la cuenta.

A ver si te sale, si no te preparo un ejemplillo.

¡Gracias! 

Claro!!! ahora lo entiendo...

Ya lo he probado con los 2 campos que me has dicho...y efectivamente...funciona bien

Después he hecho una nueva consulta con esta que acabo de crear + la tabla Actors-Directors, para que me devuelva los otros datos que necesito ver, y tambien funciona

Una cosa más... el campo "ID Fitxa2" es un número que corresponde al "Id" de cada película (en otra tabla) y en otra consulta lo tengo relacionado para ver por ej. el Título y Año de la peli.

Lo he probado y claro, como ahora el campo me lo ha renombrado a "CuentaDeIdFitxa2" y me devuelve una cuenta.... me busca la ficha de la pelicula que no es

Le daré unas cuantas vueltas más y se veo que me atasco te lo comentaré para ver si se te ocurre alguna solución

Muy agradecido de nuevo.... al final el 20% de la mi base va a ser mérito tuyo...jjjj

Un saludo

Hola....

Te escribo para comentarte que ya está todo solucionado.

Solo una cuestión: en la nueva consulta que he hecho hay tablas y otra consulta.

Mi pregunta: es por que he puesto una consulta dentro de otra el motivo por el cual no me deja modificar los datos?. Me aparece al pie de la consulta y de su formulario en texto "No se puede actualizar este Recordset" (que por cierto no se que es).

Muchas gracias de nuevo

Últimamente no me llegan las notificaciones de esta web, y acabo de ver que escribiste ayer...

Empezando por lo de ayer y que te devuelva el nombre de la peli que no es:

El fallo es que haces la relación entre la consulta de totales y la tabla, y access busca los registros relacionados a partir del valor que contiene el campo relacionado. Esto quiere decir que si relacionas IdFitxa de tu tabla Peliculas con CuentaDeIdFitxa de la consulta, es imposible que te devuelva algo con sentido, porque si el campo Cuenta para Aaron Abrams es 2, y lo relacionas con la tabla Peliculas por el ID, te devolverá el título de la Pelicula 2, y no los de las pelis 578 y 1336.

Como no acabo de ver lo que quieres mostrar en tu consulta final, se me hace difícil darte alguna sugerencia.

Duda de hoy:

Un recordset es un conjunto de registros que se maneja como una unidad: los registros de una tabla o los de una consulta.

Hay recordsets actualizables y otros no actualizables. Los primeros son los de las tablas o los de las consultas de selección "normales". Recordsets no actualizables son, por ejemplo, los de una consulta de unión o una consulta de totales, y cualquiera que se derive de ellos (una consulta que tenga como base una consulta de unión o totales, no será actualizable).

Ese es tu caso: has hecho una consulta uniendo una consulta de totales con otra, y ahí no puedes modificar ni añadir datos.

¡Gracias! 

Ya he solucionado para que me devuelva el título correcto de la película, lo he hecho añadiendo otra tabla a la consulta.

Muchas gracias... y hasta la próxima

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas