Neuigkeiten:

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

Mobiles Hauptmenü

Falsche Berechnung in Abfrage

Begonnen von Houpli, März 31, 2024, 10:22:06

⏪ vorheriges - nächstes ⏩

Houpli

Hallo

In einer Abfrage berechne ich:
Grundprämie: [Prämiensatz1]*([Vers Summe]/100)
wobei
Vers Summe
Felddatentyp Währung
Format Währung
Dezimalstellenanzeige Automatisch

und
Prämiensatz1
Felddatentyp Zahl
Feldgrösse Long integer

Die obige Berechnung liefert als Resultat 50 statt 250, bei Vers Summe=5'000 und Prämiensatz1=5

Was mache ich falsch?

Gruss Houpli

 

MzKlMu

Hallo,
zeige bitte mal den SQL Text der Abfrage.
Gruß Klaus

ebs17

Deine Formel und Deine Zahlen liefern bei mir die korrekten 250.

ZitatWas mache ich falsch?
Du schaust auf etwas anderes als das, was Du beschreibst?
Mit freundlichem Glück Auf!

Eberhard

Beaker s.a.

Hallo,
Da kann ich Eberhard nur zustimmen. Egal in welcher Reihenfolge man
den Ausdruck berechnet kommt immer 50 raus. Sogar ohne die runden
Klammern, - ist ja reiche Punktrechnung.
Was mich aber immer wieder wundert ist, warum man Prozentzahlen als
Integer deklariert. Das verschleiert doch den tatsächlichen Wert, und
man muss sich immer mit /100 herumschlagen, - wozu?
5% entsprechen 0,05. Das passt sauber in ein Feld mit dem Typ "Währung"
und ich kann damit direkt rechnen.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

PhilS

Zitat von: Beaker s.a. am April 01, 2024, 12:10:27Was mich aber immer wieder wundert ist, warum man Prozentzahlen als
Integer deklariert.
Weil 5(%) eine einfache Ganzzahl ist.
Benutzer wollen die häufig auch genau so eingeben. - Ja, es gibt das Format "Prozent", aber damit habe ich das Prozentzeichen an dem Wert kleben, was nicht immer gewünscht ist.
Dass man dann für viele Rechenoperationen durch 100 teilen muss, sollte sowohl für den mit Prozentrechnung vertrauten Entwickler als auch für den Rechner kein signifikanter Mehraufwand sein.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

MzKlMu

Hallo,
@ekkehard
Dein obiger Beitrag ist etwas verwirrend.
Zitat von: ekkehardDa kann ich Eberhard nur zustimmen. Egal in welcher Reihenfolge man
den Ausdruck berechnet kommt immer 50 raus.
Eberhard hat doch nichts von 50 geschrieben, sondern 250.

Auch ich verwende für Prozentzahlen Integer wenn ganze Prozentzahlen zur Anwendung kommen.
Sind Prozent mit Komma erforderlich verwende ich wenn es um Währung geht auch für die Prozentzahl Währung, ansonsten Double.
Das Format Prozentzahl verwende ich nie.
Gruß Klaus

Beaker s.a.

Hallo Klaus,

Hatten wir das nicht gerade mit der Korrekturlesung. :-(
Ansonsten jeder wie er mag.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)