Euro Formatierung

Euro Formatierung

Hallo gibt es einen Vorteil zwischen folgenden Methoden bzw. wann sollte man was nehmen.

1- Feldtyp: Wahrung Format: Euro

2- Feldtyp: Zahl Format: Euro

Ich sehe bei Zahl nur Vorteile da es alles hat was auch Währung hat und sogar noch mehr wie z.B. Kombinationsfelder.

Hat de Feldtyp Währung irgendeinen Vorteil, wann ist es besser Währung zu benutzen?

DANKE!

Hallo Fragewurm,

Ich sehe bei Zahl nur Vorteile da es alles hat was auch
Währung hat und sogar noch mehr wie z.B. Kombinationsfelder.

Hat de Feldtyp Währung irgendeinen Vorteil, wann ist es besser
Währung zu benutzen?

Das hängt damit zusammen, wie ein Computer Zahlen behandelt.
Normalerweise müssen Zahlen mit Nachkommastellen als Floating-Point verarbeitet werden. Dazu muss der Wert in eine Mantisse und einen Exponenten mit binärer Basis umgewandelt werden, was zu ungenaugkeiten führt.
Versuche mal den Wert 0.3 aus 1/2tel, 1/4tel, 1/8tel, 1/16tel, 1/32tel, 1/64tel, 1/128tel und 1/256tel, das wären jetzt 8-Bit, genau zusammenzustückeln.
Und stell dir dann vor, du verkauft 1Mio Stück zu 1.30 € …

Bei der Darstellung als Währung wird eine andere Darstellung der Werte verwendet.
Im einfachsten Fall multipliziert man den Wert mit 100, dann kann man alles mit Ganzzahlen rechnen, hat aber keine Möglichkeit mit Bruchteilen von Cents zu rechnen.
Oder man verwendet das BCD-Format, dabei benötigt der Computer zwar etwas länger für die Berechnungen, aber er rechnet wie du es mit Papier und Bleistift tust, wodurch keine Rundungsfehler entstehen.

MfG Peter(TOO)

Hallo Fragewurm,

Ich sehe bei Zahl nur Vorteile da es alles hat was auch
Währung hat und sogar noch mehr wie z.B. Kombinationsfelder.

Hat de Feldtyp Währung irgendeinen Vorteil, wann ist es besser
Währung zu benutzen?

Oder man verwendet das BCD-Format, dabei benötigt der Computer

Hallo
erstal danke, aber ich verstehe nur Bahnhof.
Ich meine wenn ich andere Berechnungen durchführe muss es doch eigentlich auch genau sein - oder.
wie hoch wäre denn die Abweichung bei 1 Mil. 1,30 ?
Würde der PC das nicht errechnen können?

und was heist BCD? Kann ich die div. Formate in Access auch noch mal ändern wie sie berechnet werden sollen ?

Bitte schreibe das noch mal für Dummies wie mcih auf.
Danke

Hallo Fragewurm,

erstal danke, aber ich verstehe nur Bahnhof.

Ich meine wenn ich andere Berechnungen durchführe muss es doch
eigentlich auch genau sein - oder.

Je nach Datenformat stimmen von der Zahl nur die vorderen 7-8 oder 14 bis 15 Ziffern, rechts davon treten schon Fehler auf.
Excel rechnet auf 15 Stellen genau.
Schlimm wird es dann, wenn du mit diesen Zahlen weiterrechnest, besonders bei Multiplikatonen/Divisionen und höheren FUnktionen. Mit jeder Rechenoperation wird der Fehler grösser.

wie hoch wäre denn die Abweichung bei 1 Mil. 1,30 ?

Ich komme entweder auf 1.296875 oder 1.30078125 was dann einen Fehlbetrag von 781.25€ oder 3’125.00€ ergibt.

Würde der PC das nicht errechnen können?

Nein, das kann er nicht, weil er die Zahl nicht genauer darstellen kann (Siehe weiter unten).
Das ist wie wenn beim Krimi die letzte Seite fehlt, Was da fehlt weisst du dann halt einfach nicht !!

und was heist BCD?

BCD = Binary Coded Decimal.

Mit diesem Zahlenformat rechnet dann der Computer genau gleich, wie du und ich, das mit Papier und Bleistift tun würden.

BCD ist jetzt der technische Begriff, den wirst du in Acess nicht einstellen können.

Es gibt verschiedene möglichkeiten Zahlen darzustellen.
z.B. als Bruch oder als Dezimalbruch:

1/2 = normaler Bruch
0.5 = 1/2 als Dezimalbruch

Hier gibt es noch keine Probleme.

1/3 sieht noch gut aus, aber als Dezimalbruch gibt es ein Problem
0.3333333333333333333333…
Damit du beim umrechnen irgenwann in deinem Leben mal fertig wirst, musst du dich auf eine maximale Stellenzahl beschränken !!
Andernfalls wirst du sterben ohne mit der umrechnung fertig zu werden, mal ganz abgesehen vom Verbrauch an Papier und Bleistiften.

Da dieses Problem öfters auftritt, haben die Mathematiker dafür extra eine Schreibweise entwickelt. Über der letzten Zahl, oder Zahlengruppe, welche sich endlos wiederholt, machen sie einen Strich drüber (das geht hier bei WWW nicht auf den Schirm).

Wenn du jetzt
(1/3)*3 =
nachrechnest bekommst du als Resultat 0.999999…

Moderne Taschenrechner, rechnen intern eine Stelle mehr als sie Anzeigen, vor dem Anzeigen wird dann gerundet.

Bis hierhin haben wir noch alles im Dezimalsystem berechnet.
Noch etwas zum Aubau des Zahlensystems:
12.34 bedeutet eigentlich:
1 *10 +
2 *1 +
.
3 *(1/10) +
4 *(1/100)

Also jede Stelle unterscheidet sich um den Faktor 10 von ihrem Nachbarn. Deshalb Dezimal-System

Der Computer rechnet binär, kennt also nur die Ziffern 0 und 1 und die Nachbar-Ziffern unterscheiden sich deshalb immer um den Faktor 2
10102 kannst du jetzt auch folgendermassen darstellen:
1 *8 +
0 *4 +
1 *2 +
0 *1 = 1010

Und noch ein binäres Beispiel mit Nachkommastellen:
10.112 =
1 *2 +
0 *1 +
.
1 *(1/2) +
1 *(1/4) = 2.7510

X10 bedeutet „zur Basis 10“, also dezimal
X2 bedeutet „zur Basis 2“, also binär

Mal sehen ob noch Klarheiten bei dir übrig sind :wink:)

MfG Peter(TOO)

erstmal danke fpr die mühe
habe es grob verstanden

habe aber noch 4 fragen

  1. Ist das nur bei Access so oder würde Excel auch falsch rechnen?

  2. Habe ich es richtig verstanden, das diese 1,30 Abweichung nur bei Feldtyp zahl ist? Also bei Feldtyp Währung wäre alles ok ?

  3. also sollte ich, wenn ich etwas genau berechnen will, immer Feldtyp Währung nehmen, und diese dann als Allgemeinzahl formatieren?

  4. Gibt e eine Möglichkeit auch bei Feldtyp Währung, ein Kombinationsfeld einzustellen, wie es bei ZAHL bei Nachschlagen der Fall ist ( ich meine das Feld unten wenn ich im Entwurf bin)

Schon mal danke

weitere Fragen
sorry noch eine frage ( bitte beachte auch das vorherrige Posting )

  1. wenn feldtyp zahl ungenau ist, warum gibt es diesen denn, wo ist der vorteil gegenüber währung bzw. wann sollte man zahl nehmen?

sorry wenn es doch paar fragen mehr sind

habe wohl doch was falsch verstanden,
habe gerade eine tabelle angelegt
Name Wert
x 1,30

und da eine Abfrage gemacht wo ich die 1,3 mal 1 Mill nehme
sowohl als zahl als auch als Währung
beide male kommt das richtige raus 1.300.000

habe ich da was falsch verstanden was du meintest.

Hallo Fragewurm,

  1. Ist das nur bei Access so oder würde Excel auch falsch
    rechnen?

Das ist ein grundlegendes Problem bei Computern.

  1. Habe ich es richtig verstanden, das diese 1,30 Abweichung
    nur bei Feldtyp zahl ist? Also bei Feldtyp Währung wäre alles
    ok ?

JAIN.
Das Problem ist noch etwas komplizierter, selbst viele Programmierer verstehen es leider nicht.
Das Hauptproblem liegt bei der Anzahl gültiger Stellen, da normalerweise im Flisskommazahlen gerechnet wird.
Wenn also z.B. mit 8 gültigen Stellen gerechnet wird, gibt es bis etwa 300’000€ noch keine Probleme, darüber stimmen dann die Cents nicht mehr in jedem Fall.
Wenn du also unter den obgenanten Bedingungen eine Buchlatung hast und mit dem Umsatz an die Millionengrenze bist, kann die Bilanz nicht aufgehen, also die Differenz der Summen ist dann nicht 0. Normalerweise bedeutet dies einen Buchungsfehler. Das eigentlich Problem bei einem Buchungsfehler ist, dass du 10’000€ falsch vebucht haben kannst, die Bilanz aber am Schluss nur einen Fehler von 10 Cent aufweist.

Der Typ Währung ist darauf optimiert diese Probleme nicht zu haben, dafür ist aber die Anzahl der Nachkommastellen begrenzt, meist auf Zwei.

  1. also sollte ich, wenn ich etwas genau berechnen will, immer
    Feldtyp Währung nehmen, und diese dann als Allgemeinzahl
    formatieren?

JAIN.
Das geht nur, wenn die die Nachkomma-Stellen reichen.

  1. Gibt e eine Möglichkeit auch bei Feldtyp Währung, ein
    Kombinationsfeld einzustellen, wie es bei ZAHL bei
    Nachschlagen der Fall ist ( ich meine das Feld unten wenn ich
    im Entwurf bin)

Kann ich jetzt nicht beantworten, auf dieser Ebene von Access schon eine weile nichts mehr gemacht.

MfG Peter(TOO)

  1. wenn feldtyp zahl ungenau ist, warum gibt es diesen denn,
    wo ist der vorteil gegenüber währung bzw. wann sollte man zahl
    nehmen?

Währung ist meist auf eine bestimmte Anzahl Nachkommastellen begrenzt.
Zahl ist eine Fliesskommazahl und der Wertbereich ist auch Grösser als bei Währung.

habe wohl doch was falsch verstanden,
habe gerade eine tabelle angelegt
Name Wert
x 1,30

und da eine Abfrage gemacht wo ich die 1,3 mal 1 Mill nehme
sowohl als zahl als auch als Währung
beide male kommt das richtige raus 1.300.000

habe ich da was falsch verstanden was du meintest.

Ich habe jhalt nur ein Beispiel mit begrenten Binärstellen gemacht, damit ich nicht drei Stunden schreiben muss. Praktisch hätte ich es dir mit 80 Bit vorrechnen müssen !!! Zudem fehlt noch die Darstellung mit Mantisse und Exponent :wink:)

nochmal danke

Wenn also z.B. mit 8 gültigen Stellen gerechnet wird, gibt es

was wäre denn 8 Stellen für ein Format
ich dachte bisher es geht nur Single 7 und Double 15.

Irgendwie ist mir das ganze zu hoch, sorry wenn ich nerve
aber kann ich also zusammengefasst sagen das

  1. währung genauer ist und wenn mir 2 stellen reichen sollte ich immer währung nehmen und dann als allgemein zahl formatieren.

  2. zahl ich nehme wenn ich mehr komma stellen benötige und es in der regel wenn ich nicht gerade mit 10 stellen hinterm komma rechne auch genau ist

  3. das es eigentlich egal ist ob ich zahl oder währung nehme solange ich nicht 10 stellen hintern komma rechne.

Ab wieviel stellen wird es interesant bzw. muss ich drauf achten?
gibt es eine regel wenn man was nehmen sollte?

  1. Das es bei fast allen Programmen der Fall ist, also auch excel!
    Da ich damit auch viel arbeite, ab wann muss man da achtsam sein.

Hallo Berny
Nun so wild ist das ganze nicht.

Ab wieviel stellen wird es interesant bzw. muss ich drauf
achten?
gibt es eine regel wenn man was nehmen sollte?

  1. Das es bei fast allen Programmen der Fall ist, also auch
    excel!

Du kannst das Problem ziemlich einfach in Excel anschauen:
Gib mal folgendes in eine Zelle ein:
=10^13+0.1-10^13
und in eine andere
=10^14+0.1-10^14

Du wirst sehen dass das Resultat nicht wie erwartet das selbe sein wird (0.1 für die erste Zelle und 0.0 für die zweite). Wie Peter gesagt hat: Irgendwann verzichtet Excel auf die Kommastellen zugunsten der ‚Wichtigeren‘ Ziffern: Wenn du 10^14 (eine 1 mit 14 Nullen) Schafe hast ist es dir normalerweise ziemlich egal ob es nun 10^14 oder 10^14 +1 ist. Im Alltag ist das Problem, schon nur aufgrund der enormen Grösse der Zahlen, meist nicht relevant. Bei Geld hört der Spass dann aber auf ;o), deshalb die Sonderzahlenformate speziell entwickelt für Geldbeträge.

Viel spass beim Rumpröbeln im Excel
Stefan

Nur als Anmerkung…
der Currency-Datentyp ist eine 64-Bit-Festkommazahl mit 15 Vorkomma- und 4 Nachkommastellen.

Gruß aus dem Norden
Reinhard Kraasch

(http://www.dbwiki.de - das Datenbank-Wiki)

von bernyhb Datum: 14.8.2006 09:30 Uhr Bewertungspunkte: (0) Geklickt: 2 mal
aus Forum Access / SOHO-Datenbanken, mehr Informationen
Danke
das war aufschlussreich
für privat ist es also egal.

aber für geschäftlich fängt es bei deinem beispiel ja schon bei
9 Nullen an. und eine gr. Firma kommt ja schnel auf 100 Millionen.
und der Fehler tritt bei allen Formaten auf, egal ob ich Währung oder Zahl benutze.

Und bei Access ist es von Ergebnis immer egal
nur das man bei Währung nur 15 Stellen hat und bei Zahl 17

Hallo Berny

Und bei Access ist es von Ergebnis immer egal
nur das man bei Währung nur 15 Stellen hat und bei Zahl 17

Ja: in Access hast du für Geldbeträge 15 Vorkomma und 4 Nachkomma-Stellen. Das bedeutet, dass Summen von Geldbeträgen bis zur Grösse von 15 Vorkommastellen möglich und auch korrekt sind. Die vier Nachkommastellen sind für Zinsen: 12.34 Euro bei 0.0125% gibt also 0.1542 und der Rest wird abgeschnitten - und auf dem Konto wird sogar nur 0.15 Euro Zins notiert.

(Kleine Anektote: Ein findiger Bänkeler hat sich einmal während einiger Jahre die Rundungsfehler - 0.0042 Euro in diesem Fall - auf ein eigenes Konto überwiesen. In der Billanz konnte so kein Fehlbetrag entdeckt werden. Er hat einige Millionen gemacht - ist dann aber wegen seines exzessiven Lebensstils aufgeflogen. Heute wird auch über Rundungsdifferenzen Buch geführt.)

Problematisch ist das ganze nur wenn du Produkte von sehr, sehr grossen Zahlen bildest: Angenommen du verwaltest 10’000 Konten. Zufällig hast du auf allen Konten 1’000 Mrd Euro - also eine Billion oder 10^12 (!). Du möchtest nun den Zins (2%) berechnen: Jetzt darfst du lediglich nicht zuerst die grossen Zahlen multiplizieren, also nicht
(10^12 * 10’000) * 0.02
sondern rechne
(10^12 * 0.02) * 10’000
Damit die Zahlen nie zu gross werden.

Ach ja: die Credit Suisse verwaltet Vermögen im Gesamtwert von 1’370.9 Mrd CHF - also nur noch 1000 mal unter der ‚richtigen‘ Grössenordnung. Aber sie verwenden vermutlich nicht Access und Excel zur Verwaltung ;o) …

Gruss
Stefan

ja von dem fall hatte ich gehört

also kann man im grunde sagen spielt es keine rolle was man nimmt
ob zahl oder währung

währung ist nur etwas eindeutiger

aber zahl ist besser da man auch kombinationsfelder etc. anlegen kann.

mir ist beim testen aufgefallen das access sogar genauer rechnet als excel. ist das immer so, oder nur in dem beispiel, weil ich dachte excel ist besser da excel ja zum rechnen gemacht ist und access halt mehr datenbank ist.

Hallo Berny

mir ist beim testen aufgefallen das access sogar genauer
rechnet als excel. ist das immer so, oder nur in dem beispiel,
weil ich dachte excel ist besser da excel ja zum rechnen
gemacht ist und access halt mehr datenbank ist.

Nun im wesentlichen ist im Grunde jedes Programm eine Art Datenbank, auch Excel: Informationen werden Abgerufen oder Eingegeben, manchmal verarbeitet und Intelligent abgelegt oder verworfen.
Die genauigkeit hängt letztlich nur vom verwendeten Datentyp ab: Wie gross ist er, wie werden Kommastellen abgebildet und wie genau sind ‚seine‘ verarbeitungsmethoden. Je genauer und spezifischer du den Datentyp (und damit ist der physische Datentyp im Speicher gemeint und nicht seine Formatierung!) an die Daten anpassen kannst, desto besser (im Sinne von schneller ODER genauer) wird dein Programm die Daten verarbeiten, speichern etc.
Excel bestimmt den Datentyp im allgemeinen selbst: Du hast höchstens indirekten Einfluss, indem du Excel mitteilst wie du die Daten angezeigt beommen möchtest. Aber offensichtlich hat die Formateinstellung ‚Währung‘ in Excel keinerlei Einfluss auf den Physischen Datentyp.
In Access ergibt sich durch das genauere spezifizieren des Datentyps ein Vorteil für das Programm (den Programmierer): Nicht Passende Daten werden von Access schlicht abgelehnt oder geändert. Access kann dann die Rechenmethoden verwenden die für diesen Datentyp am besten geeignet sind, während Excel auf die allermeisten Eingaben des Nutzers gutmütig ein Resultat präsentiert - aber halt mit leicht reduzierter, aber genau so wie Access mit bekannter und spezifizierter Genauigkeit - und nur das zählt wirklich.

Gruss
Sefan

Also jetzt spez. für Access
Also spielt es im Grunde keine Rolle was man nimmt (zahl oder Währung), Es ist höchstens Wichtig wenn man die Daten in andere
Prg. übernimmt.
Weil wenn man an die Grenze kommt ( wo Access ungenau wird ) wird man in der Praxis sowieso ein anderes Prg. verwenden.

Richtig?

Hallo Berny

Also jetzt spez. für Access
Also spielt es im Grunde keine Rolle was man nimmt (zahl oder
Währung),

Doch, du solltest das verwenden was es ist:
Währung für Währung(egal welche).
Int für Ganzzahlen (alles was du auch mit den Fingern zählen kannst)
Decimal für extreme Genauigkeit (Wirst du selten brauchen!)
Double für normale Fliesskomazahlen.
Kurz: Klicke im Entwurfsmodus für Tabellen in das Feld „Feldgrösse“ und drück F1. Wähle den Datentyp so, dass er dem Angegebenen Wertebereich für den Typ am besten entspricht.

Es ist höchstens Wichtig wenn man die Daten in
andere
Prg. übernimmt.
Weil wenn man an die Grenze kommt ( wo Access ungenau wird )
wird man in der Praxis sowieso ein anderes Prg. verwenden.

Ja: Matlab, Maple oder Mathematica rechnen sicher schneller, genauer und bieten VIEL mehr Funktionalität fürs rechnen. Und es gibt sicher Datenbankanwendungen die speziell für die Konten/Geldverwaltung gemacht wurden, die dann auch alle Funktionalitäten mitbringen die eine Bank oder eine Buchhaltung einer Firma halt braucht.
Die Genauigkeit von Access und Excel reicht aber auch in der Praxis für die allermeisten Fälle völlig aus.

Gruss
Stefan