Es raro no recibirlo porque hasta ahora no he tenido problemas. De todas formas te digo que hay mil formas distintas de hacerlo. Por ejemplo, he construido tu tabla
Como te decía, se puede hacer de mil formas distintas. En este caso construyo una consulta como la de la imagen
Es fácil usando copiar y pegar. Cuando la abro
Sólo me muestra aquellos empleados que ¿solicitaron? Algún día libre. Por cierto, dile a Pepe que es un caradura. Luego en un formulario le pongo dos combinados, el primero llamado Elegirempleado, que sólo me muestra aquellos empleados que SÍ pidieron al menos un día. En el otro combinado me va a mostrar los meses en que ese empleado solicitó al menos un día.
Según mi entender ¿para qué va a mostrarme todos los empleados? Si no aparece en el combinado es que no pidió nada de nada. Por eso no aparecerán ni Ana, Maika, Molinero ni Roberto. Pero eso es opinión mía, ya que no sé como quieres hacerlo.
Elijo a Pepe(el caradura) y en el combinado ElegirMes me va a mostrar sólo aquellos meses en que ¿solicitó? Algo.
Elijo Febrero y
Vamos a elegir a Luis, en el combinado Elegir mes, sólo me muestra el mes en que ha pedido algo.
Elijo Febrero y
Pero, se le podría decir que te mostrara que días pidió, etc.
El origen de la fila del combinado ElegirEmpleado es
SELECT empleado FROM Consulta2 GROUP BY empleado;
El código del evento Después de actualizar de este combinado es
Private Sub ElegirEmpleado_AfterUpdate()
ElegirMes.RowSource = "select mes from consulta2 where empleado like '" & Me.ElegirEmpleado & "' group by mes"
End Sub
Es decir, le doy origen de la fila al combinado ElegirMes. Y el código del evento Después de actualizar de este combinado es
Private Sub ElegirMes_AfterUpdate()
Dim b As Byte
b = DCount("*", "consulta2", "format([m1],""mmmm/yyyy"") like '" & Me.ElegirMes & "' and empleado='" & ElegirEmpleado & "'")
MsgBox "Ese mes, el empleado " & "" & Me.ElegirEmpleado & "" & " ha disfrutado de " & b & " días"
End Sub