Un informe de antigüedad es un informe que muestra las cuentas de títulos de crédito agrupados por edad. El informe hace que sea fácil de encontrar clientes que están atrasados en sus pagos. La clave para la creación de este tipo de informes en Microsoft Access es hacer una vista de los datos que tiene estas columnas ya creadas . Esto se hace utilizando una técnica de gran alcance lenguaje de consulta denominado sub -select . Cosas que necesitará
Microsoft Access 2007
Mostrar más instrucciones
1
Utilice la función DateDiff para calcular qué tan tarde un solo pago . Como un ejemplo muy simplificado , supongamos que hay dos tablas de la base de datos Access : Pedidos y atención al cliente. Cada cliente tiene un nombre y una identificación. Cada orden tiene un ID, un ID de cliente , una cantidad, una fecha de pedido y la fecha de pago. Si el pedido no se paga , la fecha de pago es nulo. El número de días que la orden de pago llega tarde es el número de días entre hoy y la fecha del pedido . Para obtener este valor en una consulta de Access , utilice la función DateDiff . Un ejemplo sería DateDiff ("d " , OrderDate , ahora) . La "d" indica a la función para contar el número de días (en lugar de meses , años, horas , minutos , etc.) El " ahora" en la llamada de función indica la fecha actual según el reloj del equipo . Un sub -select es una consulta de selección independiente anidado dentro de una consulta de selección existente. El sub - SELECT debe devolver un solo valor . He aquí un ejemplo de una consulta con un sub -select que le da sólo a los pedidos de menos de 30 días de retraso :
c.custname SELECT , ( SELECT sum ( o.Amount ) FROM Pedidos o DONDE datediff ("d " o.OrderDate , ahora) < 31 Y o.PaymentDate es nulo y o.CustomerID = c.ID ) como [ 30 días o Menos ], del cliente c ORDER BY
c.CustName Página 2 < p > Combinar subconsultas múltiples en una sola consulta de gran tamaño . Mediante la combinación de estos tipos de subconsultas , cada uno con un conjunto diferente de criterios , se crea un conjunto de columnas , donde cada columna tiene la cantidad total de los pagos de un cliente dado que llegan tarde por el número de días especificado. He aquí un ejemplo :
c.custname SELECT ( SELECT sum ( o.Amount ) FROM Pedidos o DONDE datediff ("d " , o.OrderDate , ahora) < 31 Y o.PaymentDate es nulo y o.CustomerID = c.ID ) como [ 30 días o menos ] , ( SELECT sum ( o.Amount ) FROM Pedidos o DONDE datediff ("d " , o.OrderDate , ahora) > 30 Y datediff ("d " , o.OrderDate , ahora) < 61 Y o.PaymentDate es nulo y o.CustomerID = c.ID ) como [ 31-60 días ] , ( SELECT sum ( o.Amount ) FROM Pedidos o DONDE datediff ("d " , o.OrderDate , ahora) > 60 Y datediff ("d " , o.OrderDate , ahora) < 91 Y o.PaymentDate es nulo y o.CustomerID = c.ID ) como [ 61-90 días ] , ( SELECT suma ( o.Amount ) FROM Pedidos o Donde datediff ("d " , o.OrderDate , ahora) > 90 Y datediff ("d " , o.OrderDate , ahora) < 121 Y o.PaymentDate es nulo y o. IdCliente = c.ID ) como [ 91 a 120 días ] , ( SELECT sum ( o.Amount ) FROM Pedidos o Donde datediff ("d " , o.OrderDate , ahora) > 120 Y o.PaymentDate es nulo y o. IdCliente = c.ID ) como [ 121 días o más] Desde cliente c ORDER BY c.CustName
Esta consulta dará 6 columnas : Nombre del cliente , el monto total de menos de 30 días de retraso , la cantidad de 31 a 60 días de retraso , 61 y 90 días , 91 y 120 días y más de 121 días de retraso. Una vez que la consulta se estableció la forma en que tiene que ser, guárdelo en Access.
3
Crear el informe. Una consulta guardada como la de arriba se puede utilizar como la base de un informe como si se tratara de una mesa . El asistente de informes se puede utilizar , la selección de la consulta guardada en lugar de las tablas.