Puedo agrupar registros por criterios en un subformulario utilizando access y bv

Mi nombre es William

Hola compañeros trabajo en un proyecto de Votación ya lo tengo hecho pero no me gusto como me quedo muestro los registros pero en cada uno me salen los cargos de cada uno de los postulados... Quiero mostrar en un subformulario hecho en Access con Código Vb los registros de una tabla agrupado por un criterio y que en cada registro reciba votos individual ...

2 Respuestas

Respuesta
1

Si quiere suba unas imagenes o si prefiere envíeme su base de datos a [email protected] y le colaboro.

¡Gracias! 

donde esta la flecha quiero que solo salga una vez comite de somos venezuela y debajo todos los registros que se postularon para ese cargo y asi con todos... en un subformulario o formulario

Para mi la imagen no me dice nada, se requiere conocer la estructura de las tablas para construir la la consulta SQL.

Como el formulario es continuo, para mi la única forma es filtrar por descripción como muestra la imagen.

Le envíe a su correo la base de datos.

¡Gracias! amigo Eduardo excelente tu análisis me ayudo mucho hay un detalle en el proyecto evaluó el tiempo que tarda el elector... 

He modificado y adaptado su pregunta utilizando una función para agrupar del maestro Jesús Mantilla, la cual se debe llamar en la consulta origen de datos del formulario. Quedaría de esta forma.

No oculté el consecutivo para que lo pueda ver. Con base en este número defino un formato condicional para mostrar y ocultar el titulo del grupo. Le envíe a su correo la base de datos.

Respuesta
1

Access tiene un generador grafico de consultas que entre otras opciones permite agrupar y obtener los datos (sumas etc.) de cada agrupación.
Una vez obtenidos los datos, se puede hacer una nueva consulta (de datos cruzados, hay un asistente) y presentar en cada cruce de línea/columna, el dato anteriormente calculado.

Esa segunda consulta se puede utilizar como origen de datos para un formulario (o informe), según sea el destino final casi no será necesario maquillaje (tamaño de los títulos ... etc)

Con los datos aportados, es la primera opción que se me ocurre.

Al parecer avance un poco en el tiempo y entendí que eran las conclusiones y no la adquisición de datos.

En la imagen el dato que se repite esta en la sección detalle (por eso sale en todos los registros), si se pone en la cabecera solo saldrá una vez.

Ya lo coloque en el encabezado pero no me lo sincroniza con los demás cargos al menos cuando le doy click alado de un registro de selección

En un informe se mostraría tal como deseas, en ellos se puede agrupar y cada grupo tiene su cabecera, pie...(como si fuesen informes diferentes unos a continuación de otros).

Si se pretende emular en un formulario continuo ese método no es valido

Una opción alternativa para simular un encabezado de grupo en un formulario continuo es (aparte de poder agrupar, esto es: ordenar por grupo para que salgan juntos sus elementos) disponer de un dato de tipo numérico que se iniciaría con cada grupo.

Tomando como ejemplo los datos de la imagen posteada
Comité de somos Venezuela // Edwin Bravo // 1
Comité de somos Venezuela // Rosmel y Viña // 2
Comité de Educacion y .... // María Mecias // 1
Comité de Educacion y .... // Dalida Quintero // 2
Comité de Cultura .... // Juan García// 1
A cada grupo se le añade el elemento cero de su conjunto
Comité de somos Venezuela // Comité de somos Venezuela // 0
Comité de somos Venezuela // Edwin Bravo // 1
Comité de somos Venezuela // Rosmel y Viña // 2
Comité de Educacion y .... //Comité de Educacion y .... // 0
Comité de Educacion y .... // María Mecias // 1
Comité de Educacion y .... // Dalida Quintero // 2
Comité de Cultura .... // Comité de Cultura ....// 0
Comité de Cultura .... // Juan García// 1

Se ordena por grupo y después numero y solo se visualiza lo que esta en negrita (mas el botón de votar y lo que se necesite)
El valor cero seria el titulo del subconjunto (grupo) y para que no interfiera para otros usos basta que se condicione a que el numero sea mayor que cero y para que no salga el botón de voto, se puede utilizar el formato condicional (que se oculte el botón o se le inhabilite si el numero es cero) y para que se diferencie el titulo del grupo volver a aplicar formato condicional y cambiar el color de la tinta, el fondo, ponerle negrita etc., cuando el numero sea cero.

Espero haberme explicado bien y que la idea te parezca sencilla y aplicable a tus datos.
Reitero que para otros usos en los que los títulos (el elemento cero) no se necesite, basta una consulta de selección en la que se filtre por los mayores que cero, con lo cual se obtiene de nuevo el conjunto de datos original.

Gracias enrique por tu aporte, tengo tres tablas relacionadas ... la tabla postulacion tiene la siguiente estructura:

En principio a Access 30 registros fantasma no le supondrán ninguna molestia sobre todo si podemos excluirlos a voluntad (una consulta de selección sobre una tabla, se comporta a todos los efectos como la tabla original).

La imagen del diseño de consulta que has posteado, tiene mas informacion de la que (a mi juicio) es necesaria, sobre todo si tenemos en cuenta la segunda imagen que solo presenta la foto, el grupo y el candidato.
Para obtener los votos solo seria indispensable el ID del candidato y un botón para aplicar el voto, añadir su foto, nombre y a que postula no se puede considerar superflua mas bien necesaria, añadiría las reglas que afectan a los grupos (cuantos candidatos se pueden seleccionar en función del grupo).

Esos datos se podrán obtener de la información actual y a ella añadirle los registros fantasma o inventados que se necesitan para obtener el resultado que generar el registro cero de cada grupo.

El método a aplicar es un poco mas avanzado: unir dos consultas
Una de ellas con los datos reales (Id del postulante, nombre, grupo al que postula, su foto, el numero de seleccionables del grupo ...)
La otra utiliza la tabla de cargos y por cada uno de ellos se genera un registro en la que la ID del postulante seria cero, el nombre el del grupo, el grupo el propio grupo, sin foto y como numero de elementos seleccionables por grupo un hermoso cero

Co apreciaras ambas consultas tienen el mismo numero de campos (al menos en el ejemplo), lo que permite unirlas la formula es sencilla (recomiendo que 'para experimentar' se duplique una de las consultas: guardarla con otro nombre)
Se abre 'la copia de ¿la primera?' en modo diseño y se selecciona su 'vista SQL', se abrira una ventana con la SQL, al final de la misma habrá un punto y coma (es el indicador de su final), se borra el punto y coma y un simple 'Enter' para ir a una nueva línea en esa ventana.
. En la nueva línea solo se escribe esto: UNION y un nuevo 'Enter' para ir a otra línea.

Abrimos la otra consulta también accedemos a su 'Vista SQL' y seleccionamos todo el contenido (el punto y coma final tambien) un simple Control + C y se cierra
El contenido ciado se pega en la consulta que estamos creando en la línea que continua a UNION.
Se deberá obtener tantos registros como la suma de ambas (estarán un poco revueltos) pero si se les ordena por Grupo + ID_postulante deberia presentar los resultados como necesitas y en cada grupo (al tener el valor mas bajo de ID, el cero) el primero ... el titulo del grupo.

(Si tienes problemas con la foto, crea una imagen de un solo pixel (o en blanco) para que ocupe/pese lo mínimo y adjudícasela a todos los grupos)
Parece lioso la primera vez (y posiblemente lo sea), pero si lo logras lo podrás utilizar para resolver mas situaciones parecidas y si no lo logras o no ves claro algún paso: publica la/las dudas (esto creo que solo es una parte de lo que necesitas, si aun no has resuelto la validación de las votaciones individuales).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas