Para lograr lo que necesitas, utilizaremos una función que mapee el mes actual al dígito de la patente/matrícula y luego una consulta de dominio (DCount) para contar las coincidencias en tu tabla.
Aquí tienes el código VBA que puedes usar para el evento On Load (Al Cargar) de tu formulario.
Codigo para el formulario
Este código está diseñado para:
Determinar el dígito final que corresponde al mes actual.
Contar las patentes cuyo último dígito coincide con el mes.
Mostrar el resultado en el TextBox del mes actual y vaciar el resto.
Pasos para implementar
Asegúrate de tener tus TextBox de resultados con nombres únicos que sigan un patrón similar (ej: txtResultadoEnero, txtResultadoFebrero, etc.).
Abre tu formulario en Vista Diseño.
Ve a la Hoja de Propiedades del formulario.
En la pestaña Evento, busca la propiedad Al cargar (On Load).
Haz clic en el botón ... (puntos suspensivos) y selecciona Constructor de Código.
Pega el código anterior dentro de la Private Sub Form_Load()... End Sub.
Ajusta las constantes NOMBRE_TABLA y CAMPO_PATENTE con los nombres reales de tu base de datos.
Ajusta el array controlesResultados para que coincida con los nombres exactos de tus 12 TextBox de resultados.
Ejemplo de Mapeo de Dígito:

Si prefieres que Noviembre sea el dígito 0 y Diciembre el dígito 1, el código tal como está (usando (mesActual - 1) Mod 10) funciona perfectamente para un ciclo de 10 dígitos.
Consulta SQL para Conteo Total
Una consulta SQL para obtener los conteos de todos los dígitos y así llenar todos los 12 TextBox
Código SQL (para usar en una Consulta Guardada o un Recordset)
SELECT
Right([Patente], 1) AS UltimoDigito,
Count([Patente]) AS Cantidad
FROM
TblPatentes
GROUP BY
Right([Patente], 1);
Código VBA para Llenar Todos los Controles
Este código utiliza la consulta anterior, recorre los resultados y actualiza solo los TextBox de los meses que corresponden al dígito encontrado (siguiendo el patrón: Enero=0, Febrero=1, Noviembre=0, Diciembre=1, etc.).
Requisitos Previos:
Guarda la consulta SQL anterior en Access con el nombre, por ejemplo, QryConteoPatentes.
Asegúrate de que tus TextBox de resultados sigan el patrón: txtResultadoEnero, txtResultadoFebrero, etc.
Private Sub Form_Load()
' 1. Definir los nombres de los 12 TextBox de resultados
Dim controlesResultados(1 To 12) As String
controlesResultados(1) = "txtResultadoEnero"
controlesResultados(2) = "txtResultadoFebrero"
controlesResultados(3) = "txtResultadoMarzo"
controlesResultados(4) = "txtResultadoAbril"
controlesResultados(5) = "txtResultadoMayo"
controlesResultados(6) = "txtResultadoJunio"
controlesResultados(7) = "txtResultadoJulio"
controlesResultados(8) = "txtResultadoAgosto"
controlesResultados(9) = "txtResultadoSeptiembre"
controlesResultados(10) = "txtResultadoOctubre"
controlesResultados(11) = "txtResultadoNoviembre"
controlesResultados(12) = "txtResultadoDiciembre"
' 2. Limpiar todos los campos de resultado y establecer en 0 (cero)
Dim i As Integer
For i = 1 To 12
Me.Controls(controlesResultados(i)).Value = 0 ' Inicializa en 0
Next i
' 3. Conectar a la base de datos y ejecutar la consulta de conteo
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim digito As String
Dim cantidad As Long
Set db = CurrentDb
' Ejecutar la consulta guardada (asegúrate de que el nombre coincida)
Set rs = db.OpenRecordset("QryConteoPatentes", dbOpenSnapshot)
' 4. Recorrer los resultados de la consulta
If Not rs.EOF Then
rs.MoveFirst
Do While Not rs.EOF
digito = rs!UltimoDigito ' El dígito de la patente (0 a 9)
cantidad = rs!Cantidad ' El conteo de patentes con ese dígito
' 5. Mapear el dígito encontrado a los meses correspondientes y actualizar el control
Select Case digito
Case "0" ' Enero y Noviembre
Me.Controls(controlesResultados(1)).Value = cantidad ' Enero
Me.Controls(controlesResultados(11)).Value = cantidad ' Noviembre
Case "1" ' Febrero y Diciembre
Me.Controls(controlesResultados(2)).Value = cantidad ' Febrero
Me.Controls(controlesResultados(12)).Value = cantidad ' Diciembre
Case "2" ' Marzo
Me.Controls(controlesResultados(3)).Value = cantidad
Case "3" ' Abril
Me.Controls(controlesResultados(4)).Value = cantidad
Case "4" ' Mayo
Me.Controls(controlesResultados(5)).Value = cantidad
Case "5" ' Junio
Me.Controls(controlesResultados(6)).Value = cantidad
Case "6" ' Julio
Me.Controls(controlesResultados(7)).Value = cantidad
Case "7" ' Agosto
Me.Controls(controlesResultados(8)).Value = cantidad
Case "8" ' Septiembre
Me.Controls(controlesResultados(9)).Value = cantidad
Case "9" ' Octubre
Me.Controls(controlesResultados(10)).Value = cantidad
End Select
rs.MoveNext
Loop
End If
' 6. Cerrar el Recordset y limpiar objetos
rs.Close
Set rs = Nothing
Set db = Nothing
End SubExplicación de la Lógica del Código
Inicialización: Todos los 12 TextBox de resultados se limpian y se establecen en 0.
Ejecución de la Consulta: El código ejecuta la consulta guardada QryConteoPatentes, que devuelve una lista como esta: | UltimoDigito | Cantidad | | :---: | :---: | | 0 | 50 | | 1 | 45 | | ... | ... |
Mapeo del Dígito:
Si la consulta encuentra que hay 50 patentes que terminan en 0, el código entra al Case "0".
Dentro de este caso, actualiza el TextBox de Enero y el de Noviembre con el valor 50.
Si la consulta encuentra 45 patentes que terminan en 1, el código actualiza el TextBox de Febrero y el de Diciembre con 45.
Para los demás dígitos (2 al 9), solo hay un mes asociado, por lo que se actualiza el TextBox correspondiente una sola vez.
Esto asegura que todos los meses muestren el conteo de patentes que les corresponde, independientemente de cuál sea el mes actual.
Esta es una posible solución.