Staffelberechnungen (Access 97)

Veröffentlicht am 30.12.2003

Frage: 

Ich habe eine Datenbank mit einer Tabelle für offene Posten. Ich möchte nun über das Tabellenfeld RE-Betrag die Mahngebühren berechnen lassen. Die Berechnung soll wie folgt aussehen: 

RE-BetragMahngebühr
bis 1000 DM5,00 DM
zwischen 1001 und 20.000 DM0,5% des RE-Betrags
mehr als 20.000 DM100 DM

Wie kann ich solch eine Berechnung in eine Access-Abfrage einbinden?

Antwort: 

Access-97-Datenbank mit Demo-Datenbank

Bei einer solchen Staffel-Berechnung ist in den meisten Fällen eine kleine VBA-Prozedur notwendig. 

In der Beispieldatenbank finden Sie eine Funktion namens GetMahngebühr (im Modul modMahngebühren), die anhand eines Rechnungsbetrags die entsprechende Mahngebühr berechnet. Die Prozedur sieht wie folgt aus: 

Public Function GetMahngebühr(REBetrag As _ Variant) As Variant 
    ' berechnet Mahngebühren 
    If IsNull(REBetrag) Then 
        GetMahngebühr = Null 
    ElseIf REBetrag <= 1000 Then 
        GetMahngebühr = 5 
    ElseIf REBetrag <= 20000 Then 
        GetMahngebühr = 0.005 * REBetrag 
    Else 
        GetMahngebühr = 100 
    End If 

End Function 

Diese Funktion können Sie beispielsweise in einer Abfrage einsetzen, um die Mahngebühren zu allen vorhandenen Rechnungen zu ermitteln: 

SELECT RechnungNr, [RE-Betrag], GetMahngebühr([RE-Betrag]) AS Mahngebühr FROM Rechnungen;

Downloads:

Unsere Dienstleistungen

Als starker Partner an Ihrer Seite unterstützen wir Sie in folgenden Breichen:

Access-Programmierung

Benötigen Sie Unterstützung bei der Programmierung von Access-Anwendungen? Wir bieten die gesamte Bandbreite von der Access-Programmierung auf Stundenbasis bis zur Durchführung eines Software-Projektes als Auftragsarbeit an. Kontaktieren Sie uns für ein kostenloses Erstgespräch.

JETZT KONTAKTIEREN

Software-Beratung

Haben Sie ein Software-Projekt und Sie wissen nicht, ob Access die richtige Plattform ist? Wir haben über 20 Jahre Erfahrung beim Erstellen von Windows-, Web und mobilen Anwendungen. Kontaktieren Sie uns für eine kostenlose Erstberatung.

JETZT KONTAKTIEREN