Un rapporto di invecchiamento è un report che mostra i conti i crediti raggruppati per età . Il rapporto lo rende facile da individuare i clienti che sono in ritardo con i pagamenti. La chiave per la creazione di questi tipi di rapporti in Microsoft Access è di fare una vista dei dati che ha queste colonne già create. Questo viene fatto utilizzando una tecnica potente linguaggio di interrogazione chiamato un sub -select . Cose che ti serviranno
Microsoft Access 2007
Show More Istruzioni
1
Utilizza la funzione DateDiff per calcolare quanto sia in ritardo qualsiasi pagamento è . Come un esempio molto semplificato , supponiamo che ci siano 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, una data di fine e la data di pagamento. Se l'ordine non è stato ancora pagato , la data di pagamento è nullo . Il numero di giorni che il pagamento di ordine è 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 potrebbe essere DateDiff ( "d" , Data ordine , adesso ) . La "d" indica alla funzione per contare il numero di giorni (a differenza di mesi , anni , ore, minuti , ecc.) L '" ora" nella chiamata di funzione indica la data corrente secondo l'orologio del computer . Un sub- SELECT è una query di selezione separato nidificato all'interno di una query di selezione esistente . Il sub- SELECT deve restituire un solo valore . Ecco un esempio di una query con un sub -select , che dà solo gli ordini di meno di 30 giorni di ritardo :
SELEZIONA c.custname , (select sum ( o.Amount ) FROM Ordini WHERE o DateDiff ( " d " , o.OrderDate , ora ) < 31 e o.PaymentDate è nulla e o.CustomerID = c.ID ) come [ 30 giorni o meno ], dal cliente c ORDER BY
c.CustName
2 < p > Combina sub-query multiple in una singola query di grandi dimensioni . Grazie alla combinazione di questi tipi di query sub, ognuno con un diverso insieme di criteri , viene creato un insieme di colonne , dove ogni colonna è l'importo totale dei pagamenti per un determinato cliente che sono in ritardo per il numero di giorni specificato . Ecco un esempio :
SELEZIONA c.custname , ( selezionare Somma ( o.Amount ) FROM Ordini WHERE o DateDiff ( "d" , o.OrderDate , ora ) < 31 e o.PaymentDate è nulla e o.CustomerID = c.ID ) come [ 30 giorni o meno ] , ( SELECT SUM ( o.Amount ) FROM ordini WHERE o DateDiff ( "d" , o.OrderDate , ora ) > 30 e DateDiff ( "d" , o.OrderDate , ora ) < 61 e o.PaymentDate è nulla e o.CustomerID = c.ID ) come [ 31-60 giorni ] , ( selezionare Somma ( o.Amount ) FROM ordini WHERE o DateDiff ( "d" , o.OrderDate , ora ) > 60 e DateDiff ( "d" , o.OrderDate , ora ) < 91 e o.PaymentDate è nulla e o.CustomerID = c.ID ) come [ 61-90 giorni ] , ( SELEZIONA sum ( o.Amount ) FROM ordini WHERE o DateDiff ( "d" , o.OrderDate , ora ) > 90 AND DateDiff ( "d" , o.OrderDate , ora ) < 121 E o.PaymentDate è nulla e o. CustomerID = c.ID ) come [ 91-120 giorni ] , ( selezionare Somma ( o.Amount ) FROM ordini WHERE o DateDiff ( "d" , o.OrderDate , ora ) > 120 e o.PaymentDate è nulla e o. CustomerID = c.ID ) come [ 121 giorni o più ] FROM Customer c ORDER BY c.CustName
Questa query darà 6 colonne : nome del cliente , l'importo totale meno di 30 giorni di ritardo , importo tra il 31 e il 60 giorni di ritardo , 61 e 90 giorni , 91 e 120 giorni, e più di 121 giorni di ritardo. Una volta che la query viene impostato il modo in cui deve essere, salvarlo in Access .
3
creare il rapporto. Una query salvata come questo può essere utilizzato come base di una relazione come se fosse una tabella . La procedura guidata di report può essere utilizzato , selezionare la query salvata invece dei tavoli.