En aldrende rapporten er en rapport som viser kundefordringer mengder gruppert etter alder . Rapporten gjør det enkelt å få øye på kunder som kommer for sent med sine betalinger . Nøkkelen til å skape disse typer rapporter i Microsoft Access er å lage en oversikt over dine data som har disse kolonnene som allerede er opprettet . Dette gjøres ved hjelp av en kraftig spørrespråk teknikk som kalles en sub - select . Du trenger
Microsoft Access 2007
Vis flere instruksjoner
en
Bruk DateDiff til å beregne akkurat hvor sent noen betaling . Som en svært forenklet eksempel anta at det er to tabellene i Access database : Ordre og Kunde . Hver kunde har et navn og en ID . Hver ordre har en ID , en kunde -ID, et beløp , en ordre dato og utbetalingsdato . Dersom pålegget ikke ennå har betalt , er betalingsdato null . Antallet dager som ordren betalingen er forsinket er antall dager mellom dag og ordren dato. For å få denne verdien i en Access- spørring , kan du bruke DateDiff . Et eksempel kan være DateDiff ( "d" , OrderDate , nå) . Den " d" forteller funksjon for å telle det antall dager (i motsetning til måneder, år , timer, minutter , og så videre ) . "Now " i funksjon samtale indikerer gjeldende dato etter datamaskinens klokke . En sub -select er et eget utvalgsspørring nestet i en eksisterende utvalgsspørring . Den sub -select må returnere bare én verdi . Her er et eksempel på en spørring med en sub -select som gir bare ordrer mindre enn 30 dager for sent : en
SELECT c.custname , ( SELECT sum ( o.Amount ) fra bestillinger o HVOR DateDiff ( "d " o.OrderDate , nå ) < 31 oG o.PaymentDate er NULL oG o.CustomerID = c.ID ) som [30 dager eller mindre ] , fra Customer c ORDER BY c.CustName
2 < p> Kombiner flere sub-spørringer til en eneste stor spørring . Ved å kombinere disse typer sub -spørringer , hver med et annet sett av kriterier , er et sett med kolonner opprettes der hver kolonne har den totale mengden av betalinger for en gitt kunde som er sent av det angitte antallet dager. Her er et eksempel : en
SELECT c.custname , ( SELECT sum ( o.Amount ) fra bestillinger o HVOR DateDiff ( "d" , o.OrderDate , nå ) < 31 OG o.PaymentDate er NULL OG o.CustomerID = c.ID ) som [30 dager eller mindre ], ( SELECT sum ( o.Amount ) fra bestillinger o HVOR DateDiff ( "d" , o.OrderDate , nå ) > 30 AND DateDiff ( "d" , o.OrderDate , nå ) < 61 oG o.PaymentDate er NULL oG o.CustomerID = c.ID ) som [ 31-60 dager ] , ( SELECT sum ( o.Amount ) fra bestillinger o HVOR DateDiff ( "d" , o.OrderDate , nå ) > 60 AND DateDiff ( "d" , o.OrderDate , nå ) < 91 oG o.PaymentDate er NULL oG o.CustomerID = c.ID ) som [ 61-90 dager ] , ( SELECT sum ( o.Amount ) fra bestillinger o HVOR DateDiff ( "d" , o.OrderDate , nå ) > 90 AND DateDiff ( "d" , o.OrderDate , nå ) < 121 OG o.PaymentDate er NULL OG o . CustomerID = c.ID ) som [ 91-120 dager ] , ( SELECT sum ( o.Amount ) fra bestillinger o HVOR DateDiff ( "d" , o.OrderDate , nå ) > 120 AND o.PaymentDate er NULL oG o . CustomerID = c.ID ) som [ 121 dager eller mer ] FRA Customer c ORDER BY c.CustName
Dette søket vil gi seks kolonner : Kunde , sum mindre enn 30 dager for sent , beløp mellom 31 og 60 dager for sent, 61 og 90 dager, 91 og 120 dager, og mer enn 121 dager forsinket . Når søket er satt opp slik det må være, lagre den i Access.
3
Opprett rapporten . En lagret spørring som den ovenfor kan brukes som grunnlag for en rapport på samme måte som om den var en tabell . Rapporten Veiviseren kan brukes , velge den lagrede spørringen i stedet for tabeller .