Informe personalizado en access con VBA

Llevo un tiempo pegandome con este tema y hasta el dia de hoy no he podido dar con la solucion

Se trata de lo siguiente:

Pretendo hacer un informe al que se accede desde un formulario en el que seleciono el año a monstrar, con el siguiente resultado:

N_Socio Apelllidos Nombre Enero Febrero Marzo Abril Mayo Junio Julio Agosto ...

0001 Iglesias Jorge XXX --- XXX XXX ---- --- XXX XXX

0002 Suarez Eva XXX XXX XXX XXX XXX XXX XXX XXX

0003 Menendez Julio --- --- --- --- --- XXX XXX XXX

Los datos los obetengo de dos tablas, Tabla Socio (N_Socio, apellidos, nombre) y de la tabla Contabilidad (N_Socio, Tipo_Cuota, Mes_Pago, Año_Pago, Importe)

Problemas:

Al hacer el informe vinculando los datos de N_socio, Apellidos y Nombre a la tabla socios, me aparecen en el informe todos los socios (Hasta aqui correcto)

He creado unos campos independientes en el informe para cada uno de los meses.

Si realizo una busqueda de mes y año en VBA para el mes de enero, el resultado me aparece en todos los meses de enero independientemente del socio.

He conseguido por foros de consulta y paginas, un recordset que me recorre los registros uno a uno, pero no doy con la forma de para que marque las "XXX" en el mes que tiene pagado, o las "---" en el mes impagado

'Dim rst As DAO. Recordset 'Creas la variable recordset
'Set rst = CurrentDb.OpenRecordset("CS_Estado_Contabilidad") 'Abres el recordset sobre la tabla/consulta
'If rst.RecordCount = 0 Then GoTo Salida 'Si no devuelve registro, sales
'rst.MoveFirst  'Te mueves al primer registro
'Do Until rst.EOF   'Inicias el recorrido de registros
'rst.Numero = DLookup("[Numero]", "CS_Estado_Contabilidad", "[Cuota] = '" & CuotaA & "'" & "'" & " AND [Año_Apunte] = " & A_A & " AND [Numero] = " & NumSoc)
'Me.E_Mes_Ene.Caption = "XXX"
'MsgBox rst.Numero
'aquí programas lo que quieres hacer con cada registro
'rst.MoveNext 'Te mueves al siguiente registro
'Loop 'Vuelves a ejecutar el bucle
'Salida:  'Cierras el recordset y liberas memoria
'rst.Close
'Set rst = Nothing

Estoy muy perdido, agradeceria toda la ayuda necesaria para poder hacerlo de forma correcta

Añade tu respuesta

Haz clic para o