Een ouder rapport is een verslag dat debiteuren bedragen gegroepeerd per leeftijd toont . Het verslag maakt het gemakkelijk om klanten die te laat zijn met hun betalingen te spotten . De sleutel tot het creëren van dit soort rapporten in Microsoft Access is een weergave van de gegevens die deze kolommen al gemaakt heeft te maken . Dit gebeurt met behulp van een krachtige query- taal techniek genaamd een sub - select . Wat je nodig hebt Microsoft Access 2007 Toon Meer Aanwijzingen 1 Gebruik de functie DateDiff om te berekenen hoe laat iemand betaling is . Als een zeer vereenvoudigd voorbeeld , stel dat er twee tabellen in de Access-database : Bestellingen en Klant . Elke klant heeft een naam en een ID . Elke bestelling heeft een ID , een klant-id , een bedrag , een order datum en een betaaldatum . Indien de bestelling nog niet is betaald , de betalingsdatum is null . Het aantal dagen dat de betalingsopdracht te laat is het aantal dagen tussen vandaag en de besteldatum . Om deze waarde te krijgen in een Access- query, gebruikt u de functie DateDiff . Een voorbeeld zou zijn DateDiff ( " d " , OrderDate , Now ) . De " d " geeft de functie van het aantal dagen ( in plaats van maanden , jaren , uren , minuten , enz. ) tellen . "Now " in de functie aanroep geeft de huidige datum volgens de klok van de computer . Een sub - select is een aparte selectiequery genest binnen een bestaande selectiequery . De sub - select mag slechts een waarde retourneren . Hier is een voorbeeld van een query met een sub - select , dat alleen de orders van minder dan 30 dagen te laat geeft : SELECT c.custname , ( SELECT sum ( o.Amount ) FROM Orders o WAAR datediff ( " d " , o.OrderDate , nu ) < 31 EN o.PaymentDate NULL AND o.CustomerID = c.ID ) als [ 30 dagen of minder ] , FROM Customer c ORDER BY c.CustName kopen van 2 Combineer meerdere sub - query's in een grote vraag . Door het combineren van deze vormen van sub- query's , elk met een andere set van criteria , wordt een set kolommen aangemaakt waar elke kolom heeft het totale bedrag van de betalingen voor een bepaalde klant die te laat zijn met het opgegeven aantal dagen . Hier is een voorbeeld : SELECT c.custname , ( SELECT sum ( o.Amount ) FROM Orders o WAAR datediff ( " d " , o.OrderDate , nu ) < 31 EN o.PaymentDate NULL EN o.CustomerID = c.ID ) als [ 30 dagen of minder ] , ( SELECT sum ( o.Amount ) FROM Orders o WAAR datediff ( " d " , o.OrderDate , nu ) > 30 EN datediff ( " d " , o.OrderDate , nu ) < 61 EN o.PaymentDate NULL AND o.CustomerID = c.ID ) als [ 31-60 dagen ] , ( SELECT sum ( o.Amount ) FROM Orders o WAAR datediff ( " d " , o.OrderDate , nu ) > 60 AND datediff ( " d " , o.OrderDate , nu ) < 91 EN o.PaymentDate NULL AND o.CustomerID = c.ID ) als [ 61-90 dagen ] , ( SELECT sum ( o.Amount ) FROM Orders o WAAR datediff ( " d " , o.OrderDate , nu ) > 90 AND datediff ( " d " , o.OrderDate , nu ) < 121 EN o.PaymentDate NULL EN o . KlantId = c.ID ) als [ 91-120 dagen ] , ( SELECT sum ( o.Amount ) FROM Orders o WAAR datediff ( " d " , o.OrderDate , nu ) > 120 EN o.PaymentDate NULL EN o . KlantId = c.ID ) als [ 121 dagen of meer ] FROM Klanten c ORDER BY c.CustName zal deze query 6 kolommen geven : Naam klant , totale bedrag van minder dan 30 dagen te laat , het bedrag tussen 31 en 60 dagen te laat , 61 en 90 dagen , 91 en 120 dagen en meer dan 121 dagen te laat . Zodra de query wordt het opzetten van de manier waarop het moet zijn , op te slaan in Access . 3 Maak het rapport . Een opgeslagen query zoals hierboven kan worden gebruikt als basis van een verslag alsof het een tafel . Het rapport wizard kan worden gebruikt , de opgeslagen query in plaats van de tabellen selecteren.
|