Eine alternde Bericht ist ein Bericht, der Forderungen beläuft sich nach Alter gruppiert zeigt . Der Bericht macht es leicht, Kunden , die spät mit ihren Zahlungen sind zu erkennen. Der Schlüssel zur Schaffung dieser Art von Berichten in Microsoft Access ist es, einen Überblick über Ihre Daten, die diese Spalten bereits erstellt hat zu machen . Dies geschieht mit Hilfe eines mächtigen Abfragesprache Technik namens a sub -select . Things You
Microsoft Access 2007
brauchen anzeigen Weitere Anweisungen
1
Verwenden Sie die Funktion DateDiff zu berechnen , wie spät irgendeine Zahlung . Als sehr vereinfachtes Beispiel : Angenommen, es gibt zwei Tabellen in der Access-Datenbank: Aufträge und Kunden . Jeder Kunde hat einen Namen und eine ID . Jeder Auftrag hat eine ID , eine Kunden-ID , einen Betrag , einen Auftrag Datum und den Zahlungstermin . Ist die Bestellung noch nicht bezahlt , ist der Zahlungstermin null . Die Anzahl der Tage , dass die Reihenfolge Zahlungsverzug ist die Anzahl der Tage zwischen heute und dem Bestelldatum . Um diesen Wert in einer Access-Abfrage zu erhalten , verwenden Sie die Funktion DateDiff . Ein Beispiel wäre DateDiff ( "d" , OrderDate , Now) sein . Das "d " erzählt die Funktion, um die Anzahl der Tage ( um Monate, Jahre , Stunden, Minuten usw. im Gegensatz) zu zählen. Das "Jetzt" in den Aufruf der Funktion zeigt das aktuelle Datum nach der Uhr des Computers . Ein Sub -select ist ein separates Auswahlabfrage innerhalb einer bestehenden Auswahlabfrage verschachtelt . Die Sub-Select zurückgeben muss nur einen Wert . Hier ist ein Beispiel für eine Abfrage mit einem Sub-Select , die gerade die Aufträge weniger als 30 Tage zu spät gibt :
SELECT c.custname , ( SELECT sum ( o.Amount ) FROM Bestellungen WHERE datediff o ( "d " o.OrderDate , jetzt ) < 31 UND o.PaymentDate ist NULL uND o.CustomerID = c.ID ) als [ 30 Tage oder weniger ] FROM Customer c ORDER BY c.CustName
2 < p> Kombinieren Sie mehrere Sub- Abfragen in einer einzigen großen Abfrage. Durch die Kombination dieser Arten von Unterabfragen , die jeweils mit einem unterschiedlichen Satz von Kriterien , wird ein Satz von Spalten erzeugt , wobei jede Spalte den Gesamtbetrag der Zahlungen für einen bestimmten Kunden die spät um die angegebene Anzahl von Tagen sind . Hier ist ein Beispiel :
SELECT c.custname , ( SELECT sum ( o.Amount ) FROM Bestellungen WHERE datediff o ( "d" , o.OrderDate , jetzt ) < 31 UND o.PaymentDate ist null und o.CustomerID = c.ID ) als [ 30 Tage oder weniger ] , ( SELECT sum ( o.Amount ) FROM Bestellungen WHERE datediff o ( "d" , o.OrderDate , jetzt ) > 30 UND datediff ( "d" , o.OrderDate , jetzt ) < 61 und o.PaymentDate ist NULL UND o.CustomerID = c.ID ) als [ 31-60 Tage ] , ( SELECT sum ( o.Amount ) FROM Bestellungen WHERE datediff o ( "d" , o.OrderDate , jetzt ) > 60 UND datediff ( "d" , o.OrderDate , jetzt ) <91 UND o.PaymentDate ist NULL UND o.CustomerID = c.ID ) als [ 61-90 Tage ] , ( SELECT sum ( o.Amount ) FROM Bestellungen WHERE datediff o ( "d" , o.OrderDate , jetzt ) > 90 UND datediff ( "d" , o.OrderDate , jetzt ) < 121 und o.PaymentDate ist null und o . CustomerID = c.ID ) als [ 91-120 Tage ] , ( SELECT sum ( o.Amount ) FROM Bestellungen WHERE datediff o ( "d" , o.OrderDate , jetzt ) > 120 UND o.PaymentDate ist null und o . CustomerID = c.ID ) als [ 121 Tage oder mehr ] FROM Kunden ORDER BY c c.CustName
Diese Abfrage gibt 6 Spalten : Name des Kunden , Gesamtbetrag weniger als 30 Tage zu spät , die Höhe zwischen 31 und 60 Tage zu spät, 61 und 90 Tagen , 91 und 120 Tagen und mehr als 121 Tage zu spät . Sobald die Abfrage wird so, wie es sein muss gesetzt , speichern Sie es in Access.
3
Erstellen Sie den Bericht . Eine gespeicherte Abfrage wie die oben als Grundlage eines Berichts , als ob es ein Tisch waren verwendet werden. Der Berichts-Assistent verwendet werden, die Auswahl der gespeicherten Abfrage statt der Tische.