Um relatório de envelhecimento é um relatório que mostra os valores a receber contas agrupados por idade. O relatório torna mais fácil de detectar os clientes que estão atrasados com os pagamentos. A chave para criar esses tipos de relatórios no Microsoft Access é fazer uma exibição de seus dados que tem essas colunas já criadas . Isso é feito usando uma técnica poderosa linguagem de consulta chamada de sub -select. Coisas que você precisa
Microsoft Access 2007
Show Mais instruções
1
Use a função DateDiff para calcular o quão tarde qualquer pagamento . Como um exemplo muito simplificado , suponha que há duas tabelas no banco de dados Access : Pedidos e Clientes. Cada cliente tem um nome e uma identificação. Cada pedido tem um ID, um ID do cliente, um valor, uma data de fim e uma data de pagamento. Se a ordem não for pago, a data de pagamento é nulo. O número de dias em que a ordem de pagamento está atrasado é o número de dias entre hoje ea data do pedido. Para obter este valor em uma consulta do Access , use a função DateDiff . Um exemplo seria DateDiff ( "d" , OrderDate , Now). O " d " indica a função para contar o número de dias ( em oposição a meses , anos , horas, minutos , etc.) O "Agora " na chamada de função indica a data atual de acordo com o relógio do computador . A sub-select é uma consulta seleção separado aninhado dentro de uma consulta seleção existente. O sub-select deve retornar apenas um valor. Aqui está um exemplo de uma consulta com uma sub -seleção que dá apenas as ordens de menos de 30 dias de atraso :
Selecione c.custname , (SELECT sum ( o.Amount ) FROM Orders o ONDE datediff ("d " o.OrderDate , agora ) < 31 e o.PaymentDate é nula e o.CustomerID = c.ID ) como [ 30 dias ou menos ] , FROM Customer c ORDER BY c.CustName
2
Combine múltiplas sub-consultas em uma única consulta grande . Ao combinar esses tipos de subconsultas , cada um com um conjunto diferente de critérios, um conjunto de colunas é criado , onde cada coluna tem o montante total dos pagamentos para um determinado cliente que estão atrasados pelo número de dias especificado. Aqui está um exemplo:
Selecione c.custname , (SELECT sum ( o.Amount ) FROM Orders o ONDE datediff ( "d" , o.OrderDate , agora ) < 31 e o.PaymentDate é nula e o.CustomerID = c.ID ) como [ 30 dias ou menos ], (select sum ( o.Amount ) FROM Orders o Onde datediff ( "d" , o.OrderDate , agora ) > 30 E datediff ( "d" , o.OrderDate , agora ) < 61 e o.PaymentDate é nula e o.CustomerID = c.ID ) como [ 31-60 ] dias , ( select sum ( o.Amount ) FROM Orders o ONDE datediff ( "d" , o.OrderDate , agora ) > 60 e datediff ( "d" , o.OrderDate , agora ) < 91 e o.PaymentDate é nula e o.CustomerID = c.ID ) como [ 61-90 ] dias , (SELECT sum ( o.Amount ) FROM Orders o Onde datediff ( "d" , o.OrderDate , agora ) > 90 e datediff ( "d" , o.OrderDate , agora ) < 121 e o.PaymentDate é nulo e o. CustomerID = c.ID ) como [ 91-120 dias ], (select sum ( o.Amount ) FROM Orders o Onde datediff ( "d" , o.OrderDate , agora ) > 120 e o.PaymentDate é nulo e o. CustomerID = c.ID ) como [ 121 dias ou Mais ] FROM cliente c ORDER BY c.CustName
Esta consulta vai dar seis colunas: nome do cliente, valor total a menos de 30 dias de atraso , valor entre 31 e 60 dias de atraso , 61 e 90 dias , 91 e 120 dias , e mais de 121 dias de atraso . Uma vez que a consulta é definido o caminho que ele precisa ser , salvá-lo no Access.
3
Criar o relatório. Uma consulta guardado como o descrito acima pode ser utilizado como a base de um relatório como se se tratasse de uma mesa . O assistente de relatório pode ser usado , a seleção da consulta salva em vez de tabelas.