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).