Cordial saludo
soy un aficionado a la ofimática digo aficionado ya que no soy un experto y lo que he aprendido ha sido gracias a foros como este desde el año pasado cree una aplicación o base de datos en acces 2010 esta es para el control de empresas paga diario o gota a gota como les conocemos aquí en Colombia, tengo toda la estructura con tablas como : clientes, coodeudores, créditos, abonos, cobradores
en los informes tengo listados y recibos por cobrador de sus clientes con sus creitos hasta ahí todo muy bien pero en el informe cuando llamo el ultimo abono hay dias que lo trae bien pero en otros días trae el penúltimo o antepenúltimo a continuación les pongo la secuencia:
SELECT Creditos.Iddcredito, Clientes.Nombre, Creditos.Monto, Creditos.Total, Sum(Abonos.Abono) AS abonado, [total]-[abonado] AS saldo, Creditos.Cuota, Int(([abonado]/[cuota])) AS [Cuotas Canceladas], Creditos.Dias, Creditos.[Fecha Inicia], Clientes.[Direccion 1], Clientes.Telefonos, Clientes.Negocio, Creditos.Cobrador, Int(([Dias]-[cuotas canceladas])) AS [Saldo Cuotas], Sum(Abonos.Atrazos) AS SumaDeAtrazos, Creditos.[Fecha Final], Last(Abonos.[Fecha de Abono]) AS ÚltimoDeFecha, Last(Abonos.[Abono]) AS ÚltimoDeAbono, Creditos.Enrutado, Creditos.[Dia De Cobro], Cobradores.Nombre
FROM Cobradores INNER JOIN (Clientes INNER JOIN (Creditos INNER JOIN Abonos ON Creditos.Iddcredito = Abonos.Credito) ON Clientes.Idcliente = Creditos.Idcliente) ON Cobradores.Idcobrador = Creditos.Cobrador
GROUP BY Creditos.Iddcredito, Clientes.Nombre, Creditos.Monto, Creditos.Total, Creditos.Cuota, Creditos.Dias, Creditos.[Fecha Inicia], Clientes.[Direccion 1], Clientes.Telefonos, Clientes.Negocio, Creditos.Cobrador, Creditos.[Fecha Final], Creditos.Enrutado, Creditos.[Dia De Cobro], Cobradores.Nombre
HAVING (((Sum(Abonos.Abono))<[total]) And ((Creditos.Cobrador)=Cobrador.Codigo))
WITH OWNERACCESS OPTION;