Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Abfrage Berechnung mit Grenze Höchstbetrag

Begonnen von Remdi, März 18, 2019, 13:53:49

⏪ vorheriges - nächstes ⏩

Remdi

Ich möchte in einer Abfrage einen Währungsbetrag aus einem Feld um 13% erhöhen (mit 0,13 multiplizieren).
Als Ergebnis soll aber maximal 20 € rauskommen.
Beispiele:
7,60 € * 0,13 = 0,99 €
55,20 € * 0,13 = 7,18 €
288,70 € * 0,13 = 37,53 €
Die ersten beiden Berechnungen sollen so stehen bleiben. Bei der dritten Berechnung soll als Ergebnis 20 € stehen.

Ich hoffe, dass es dafür im Access eine Lösung gibt, die ich umsetzen kann.

Hintergrund: Ich verkaufe Artikel bei Ebay und möchte die Gebühren dafür in der Datenbank berechnen. In der Kategorie in der ich verkaufe brauche ich einen Aufschlag von 13% mit Höchstbetrag 20 €.

Kann mir jemand helfen mein Vorhaben umzusetzen?

Gruß Jürgen

ebs17

SELECT
   D.Betrag,
   IIF(D.Betrag > Z.Aufschlaggrenze / Z.Zinssatz, Z.Aufschlaggrenze, D.Betrag * Z.Zinssatz) AS Aufschlag
FROM
   tblData AS D,
   tblZuschlag AS Z


Die Tabelle tblZuschlag sollte dazu genau einen Datensatz enthalten oder auf einen solchen gefiltert sein.
Mit freundlichem Glück Auf!

Eberhard

Remdi

Hallo Eberhard,

vielen dank für deine schnelle Antwort.
Leider ist deine Anleitung zu hoch für mich :-(.
Ich bin nur ein recht einfacher Anwender und bräuchte weitere Erklärungen, wie ich das umsetzen muss.
Oder wo finde ich eine Beschreibung dazu, ohne mehrer Nächte deswegen vor der Maschine zu verbringen?

Gruß Jürgen

ebs17

SQL-Ansicht
Die Anweisung ist also eine komplette Abfrage.

Eine Tabelle, wo in Datensätzen Deine Beträge stehen, solltest Du schon haben. Ich habe sie hier tblData genannt.
Im Vorschlag ist die Verwendung einer weiteren Tabelle vorgesehen. Diese enthält als Felder Aufschlaggrenze (=> 20 €) und Zinssatz (=> 13 Prozent).
Durch diese Tabelle wird man auch einfach variabel, wenn man mal andere Grenzen und/oder Zinssätze zu  berücksichtigen hätte => in einer gescheiten Datenbank braucht man nicht umprogrammieren, wenn ein paar neue Daten hinzu kommen.
Mit freundlichem Glück Auf!

Eberhard

Remdi

Danke für deine Bemühungen, aber ich raffe das leider auch mit der Beschreibung in deinem link überhaupt nicht, sorry :-(.

Ich möchte in meiner vorhandenen Abfrage diesen berechneten Wert stehen haben. Der Basiswert aus dem berechnet werden soll ist ein Berechnungsergebnis der Abfrage. Mit dem Ergebnis soll dann in der selben Abfrage auch noch weiter berechnet werden.
Ich hoffe, ich habe mich verständlich ausgedrückt.

Zwischenfrage: Ich würde jemanden suchen, der mir bei solchen Problemchen per Teamviewer weiterhilft, selbstverständlich gegen Bezahlung. Gibt es Firmen die so etwas machen?
Bei meiner Warenwirtschaft funktioniert das mit einem Servicepartner perfekt.

Gruß Jürgen

Remdi

Problem gelöst: Wenn([RE_Shop_netto]*0,13>20;20;[RE_Shop_netto]*0,13)

Gruß Jürgen