Nwlapcug.com


Come creare report in Access di invecchiamento

Un report di invecchiamento è un report che Mostra gli account receivable importi raggruppati per età. La relazione lo rende facile per individuare gli utenti che sono in ritardo con i pagamenti. La chiave per creare questi tipi di report in Microsoft Access è quello di rendere una visualizzazione dei dati con queste colonne già create. Questa operazione viene eseguita utilizzando una tecnica di linguaggio di query avanzate chiamato un sub-select.

Istruzioni

1

Utilizzare la funzione DateDiff per calcolare quanto tardi qualsiasi uno pagamento è. Come un esempio molto semplificato, si supponga che esistono due tabelle nel database di Access: ordini e clienti. Ogni cliente ha un nome e un ID. Ogni ordine ha un ID, un ID cliente, un importo, data dell'ordine e una data di pagamento. Se l'ordine non è stato ancora pagato, la data di pagamento è null. Il numero di giorni che l'ordine di pagamento è in ritardo è il numero di giorni tra oggi e la data dell'ordine. Per ottenere questo valore in una query di Access, utilizzare la funzione DateDiff. Un esempio sarebbe DateDiff ("d", OrderDate, ora). La "d" indica alla funzione per contare il numero di giorni (al contrario di mesi, anni, ore, minuti, ecc.). il "ora" nella chiamata di funzione indica la data corrente in base all'orologio del computer. Un sub-select è una query di selezione separata nidificata all'interno di una query di selezione esistente. Le sub-select deve restituire un solo valore. Ecco un esempio di una query con un sub-select che dà solo gli ordini meno di 30 giorni di ritardo:

SELEZIONARE c.custname,

(SELECT sum(o.Amount) FROM Orders o WHERE datediff("d", o.OrderDate, now) < 31 AND o.PaymentDate is NULL AND o.CustomerID = c.ID) as [30 Days or Less],

DA cliente c ORDER BY c.CustName

2

Combinare più sub-query in una singola query di grandi dimensioni. Combinando questi tipi di query di sub, ognuna con un diverso set di criteri, viene creato un set di colonne, dove ogni colonna ha l'importo totale dei pagamenti per un determinato cliente che sono in ritardo per il numero specificato di giorni. Ecco un esempio:

SELEZIONARE c.custname,

(SELECT sum(o.Amount) FROM Orders o WHERE datediff("d", o.OrderDate, now) < 31 AND o.PaymentDate is NULL AND o.CustomerID = c.ID) as [30 Days or Less],
(SELECT sum(o.Amount) FROM Orders o WHERE datediff("d", o.OrderDate, now) > 30 AND datediff("d", o.OrderDate, now) < 61 AND o.PaymentDate is NULL AND o.CustomerID = c.ID) as [31-60 Days],
(SELECT sum(o.Amount) FROM Orders o WHERE datediff("d", o.OrderDate, now) > 60 AND datediff("d", o.OrderDate, now) < 91 AND o.PaymentDate is NULL AND o.CustomerID = c.ID) as [61-90 Days],
(SELECT sum(o.Amount) FROM Orders o WHERE datediff("d", o.OrderDate, now) > 90 AND datediff("d", o.OrderDate, now) < 121 AND o.PaymentDate is NULL AND o.CustomerID = c.ID) as [91-120 Days],
(SELECT sum(o.Amount) FROM Orders o WHERE datediff("d", o.OrderDate, now) > 120 AND o.PaymentDate is NULL AND o.CustomerID = c.ID) as [121 Days or More]

DA cliente c ORDER BY c.CustName

Questa query darà 6 colonne: nome del cliente, importo totale inferiore 30 giorni fine, importo tra 31 e 60 giorni di ritardo, 61 e 90 giorni, 91 e 120 giorni e più di 121 giorni di ritardo. Una volta che la query è impostata il modo che ha bisogno di essere, è possibile salvarlo in Access.

3

Creare il report. Una query salvata come quello di cui sopra può essere utilizzato come base di una relazione, proprio come se si trattasse di una tabella. Può essere utilizzata la creazione guidata report, selezionare la query salvata anziché le tabelle.

Consigli & Avvertenze

  • Non consentono l'accesso per auto-generare un report sulla query salvate. La funzionalità di rilevi aggiunge raggruppamento che causerà un errore quando viene eseguito. Utilizzare la creazione guidata report.