Crea una counsulta nueva, cierras la ventana donde se eligen las tablas y abres la vista SQL (primer icono de la izquierda), aparecera una ventana blanca con
SELECT; ahi tienes que pegar el codigo.
Código SQL:
Ver originalSELECT Ingresos.numsoc,
socios.nombre,
Ingresos.fecha AS Fecha,
SUM(Ingresos.importe) AS TotalPagado,
COUNT(*) AS numeroCuotas,
Ingresos.concepto
FROM (Ingresos INNER JOIN socios
ON Ingresos.numsoc = socios.numsoc)
INNER JOIN (SELECT Ingresos.numsoc,
MAX(Ingresos.fecha) AS mfecha
FROM Ingresos
WHERE (((Ingresos.concepto)="Q"))
GROUP BY Ingresos.numsoc) AS sbc
ON (Ingresos.fecha = sbc.mfecha)
AND (Ingresos.numsoc = sbc.numsoc)
GROUP BY Ingresos.numsoc, Ingresos.fecha
socios.nombre,
Ingresos.concepto
HAVING (((Ingresos.concepto)="Q"));
Una vez pegado debes modificarlo para que se ajuste a tu base de datos, debes cambiar los nombres de las tablas y de los campos:
Ingresos --> nombre de tu tabla ingresos
socios --> nombre de tu tabla de socios
numsoc --> nombre de tu campo con el numero de socio
fecha --> ...
...
Ingresos.concepto)="Q" --> aqui debe ir tu restricción para obtener cuotas cambia Q por el contenido que deba tener el campo concepto.
Puedes agregar campos (apellido...) a la consulta principal pero recuerda agregarlos tanto en la primera parte, despues del primer
select, como en el ultimo
group by, "nombretabla.nombrecampo," el ultimo no debe llevar la coma. No añadas anada en la subconsulta, (SELECT ...) AS sbc.
Código SQL:
Ver originalSELECT Ingresos.numsoc,
socios.nombre,
Ingresos.fecha AS Fecha,
SUM(Ingresos.importe) AS TotalPagado, '<-- lista de campos a mostrar'
COUNT(*) AS numeroCuotas,
Ingresos.concepto
FROM (Ingresos INNER JOIN socios
ON Ingresos.numsoc = socios.numsoc) '<-- combinación de tablas'
INNER JOIN (SELECT Ingresos.numsoc,
MAX(Ingresos.fecha) AS mfecha
FROM Ingresos '<-- subconsulta que elige la '
WHERE (((Ingresos.concepto)="Q")) 'fecha mas alta para cada'
GROUP BY Ingresos.numsoc) AS sbc 'socio'
ON (Ingresos.fecha = sbc.mfecha) '<-- combinacion de las tablas con'
AND (Ingresos.numsoc = sbc.numsoc) 'la sub consulta'
GROUP BY Ingresos.numsoc,
Ingresos.fecha,
socios.nombre, ' <-- agrupacion de registros'
Ingresos.concepto
HAVING (((Ingresos.concepto)="Q")); '<-- restrición de cuotas'
No he comentado la subconsulta pero sigue una estructura similar a la consulta principal.
Una vez hecho esto te debe dar lo que buscas...
Quim