Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Datum oder Zahl

Begonnen von Rainer 1984, Januar 14, 2011, 18:42:48

⏪ vorheriges - nächstes ⏩

Rainer 1984

Hi Accessianer!

Ich möchte eine Tabelle (mit dem Namen "Umsatzsteuersätze") mit zwei Spalten anlegen, die als Basis für eine andere Tabelle dienen soll.

1. Spalte: Jahr (z.B. "2011")
Habe festgestellt, dass man unter dem Felddatentyp "Datum/Uhrzeit" gar nicht die Jahreszahl alleine auswählen kann.
Kann ich den Felddatentyp "Zahl" benutzen? Werden die Werte als Jahr überhaupt anerkannt?

2. Spalte: Umsatzsteuersatz (z.B. "19%")
Obwohl ich den Felddatentyp "Zahl" und das Format "Prozentzahl" ausgewählt habe, zeigt er mir immer nur eine "0,00%" an, wenn ich eine Zahl eingebe, z.B. die Zahl 19, also für 19%.

Was mache ich bloss falsch?
Vielen, vielen Dank für eine kleine Hilfe!!!

Viele Grüße

Rainer

DF6GL

Hallo,

1)  Reserviertes Wort "Jahr" als Feldnamen dringend vermeiden.  Eine Jahreszahl(!, "2011") ist auch kein Datum/Uhrzeit, sondern eben nur eine Zahl. Die eingebene Zahl wird als Zahl "anerkannt," es ist dann Deine Sache, diese Zahl bei deren Verwendung als "Jahreszahl" zu interpretieren.

2) Formate sind wie Schall und Rauch...  Definiere das Feld entweder als Zahl, Long Integer und interpretiere eine darin stehende Zahl als "Prozentzahl" ( z. B  19  als 19 Prozent und rechne später entspr. mathematisch korrekt damit  ---> 19/100 )  oder definiere als Zahl,Double  (z. B. 0,19 , wobei Du diesen Wert später ohne weitere Anpassung direkt verwenden kannst.  )

Rainer 1984

Hallo Franz,

zunächst mal vielen Dank!  :)

1. Spalte: Okay, werde Zahl verwenden.
2. Spalte: Gibt es da keine Möglichkeit das "eingabefreundlicher" zu machen - d.h. wenn man 19 eingibt, dass man 19% angezeigt bekommt (wie Excel)? Möchte später im Formular die ganze Prozentzahl eingeben, um Fehler zu vermeiden. Habe übrigens eben herausbekommen, dass wenn man eine größere Zahl als 50 eingibt,  man "100,00%" angezeigt bekommt. Irgendwie scheint er hier zu runden, also bei Eingabe <50 zeigt er "0,00%" an, bei Eingabe >50 zeigt er "100,00%" an. Lässt sich diese "Runderei" irgendwie abstellen?

Viele Grüße

Rainer

database

Hallo,

du solltest dich an die Empfehlung von DF6GL halten und die eingegebenen Zahlen in der Tabelle nicht formatieren.
Eingaben erfolgen in der Regel ausschließlich über Formulare und da kann man mit Formaten arbeiten wie es einem beliebt.

ZitatHabe übrigens eben herausbekommen, dass wenn man eine größere Zahl als 50 eingibt,  man "100,00%" angezeigt bekommt
Aha ...
Ich weiß zwar nicht was du da schon alles herumgeschraubt hast aber wenn du das Feld für die Prozentzahl folgendermassen definierst...

Feldgröße:            Double
Format:                Prozentzahl
Dezimalstellen:    2

...dann kannst du Werte eingeben <50 oder >50 und sie werden auch richtig angezeigt - mit 2 Kommastellen und %-Zeichen.
wobei trotz Allem die formatlose Eingabe im Vordergrund stehen sollte!

HTH


Rainer 1984

Hallo Peter,

mein Fehler lag darin, dass ich unter Feldgröße versehentlich "Dezimal" eingegeben hatte - deshalb kam es zu diesen "Rundereien".  :o

Vielen Dank für Eure Empfehlungen, werde in Formularen die entsprechenden Formate einstellen.

Nochmals vielen Dank für Eure Hilfe und ein schönes Wochenende!  :D

Viele Grüße

Rainer

database

Abere bitte, keine Ursache, auch dir ein schönes WE!

Bitte den Thread in deinem ERSTEN Beitrag auf 'gelöst' setzen, wenn das Thema damit abgeschlossen ist - DANKE!

Rainer 1984

Hallo Franz,
hallo Peter,

irgendetwas funktioniert bei mir nicht richtig, ich muss das nochmal Schritt für Schritt durchgehen.
Habe mich an Eure Empfehlungen gehalten und habe die Spalte "Umsatzsteuersatz" der Tabelle "Umsatzsteuersätze" als Long integer definiert.
Neu ist: Habe zu dieser Spalte die Untertabelle "Regelumsatzsteuersätze" entworfen, in der in der Spalte "Regelumsatzsteuersatz" in zwei Zeilen die Werte 16 und 19 stehen, auch als Long integer definiert.

Diese beiden Tabellen sind in einer 1:n-Beziehung verbunden (ID aus Tabelle "Regelumsatzsteuersätze" zu "Regelumsatzsteuersatz" aus Tabelle "Umsatzsteuersätze").

Das Problem:
Gebe ich in Spalte "Regelumsatzsteuersatz" (also in der Untertabelle "Regelumsatzsteuersätze") eine Zahl ein (z.B. 16), wird diese ohne Kommastellen angezeigt, egal ob ich einen Wert ohne Komma (16) oder mit Komma (16,5) eingebe. Und das obwohl ich die Dezimalstellenanzeige auf "2" eingestellt habe.

Wie kriege ich das hin, dass ich zwei Stellen hinter dem Komma angezeigt kriege?

Viele Grüße und Dankeschöns im Voraus

Rainer

MzKlMu

#7
Hallo,
ZitatHabe mich an Eure Empfehlungen gehalten und habe die Spalte "Umsatzsteuersatz" der Tabelle "Umsatzsteuersätze" als Long integer definiert.
Long Integer kann keine Kommastellen. (Long) Integer ist immer eine Ganzzahl. Nimm Double als Datentyp.
Die Empfehlungen gingen davon aus, dass Du immer ganze Prozentzahlen hast, wei Du es aj auch geschrieben hast.
Gruß Klaus

Rainer 1984

#8
Hallo MzKlMu,

konnte es in der Untertabelle "Regelumsatzsteuersätze" ändern, in der übergeordneten Tabelle "Umsatzsteuersätze" geht das aber wegen der Beziehung nicht - es kommt die Meldung: "Sie können weder den Datentyp noch die Größe dieses Felds ändern. Es ist Teil einer oder mehrerer Beziehungen."

Viele Grüße

Rainer

MzKlMu

Hallo,
lege separate Schlüsselfelder (PK=Autowert, FK=LongInteger) an und lasse darüber die Beziehungen laufen. Kommazahlen für eine Beziehung sind eh nicht zu empfehlen.
Gruß Klaus

Rainer 1984

Hallo MzKlMu,

wo soll ich die beiden Schlüsselfelder legen?

Hier nochmal die momentane Tabellen-Übersicht (stark vereinfacht):

Untertabelle Regelumsatzsteuersätze:
1. Spalte: ID (Autowert)
2. Spalte: Regelumsatzsteuersatz (Zahl, Double)

Haupttabelle Umsatzsteuersätze:
1. Spalte: ID (Autowert)
2. Spalte: Regelumsatzsteuersatz (Zahl, Long Integer -> lässt sich nicht in Double ändern, da Beziehung)

Viele Grüße

Rainer


DF6GL

Hallo,

wozu brauchst Du da eine Beziehung?

Entferne im Beziehungsfenster die Verknüpfungslinie.


Übernehme später mittels Kombi den benötigten Regelumsatzsteuersatz in Deine "Haupttabelle". Die "Regelsteuersätze" bilden doch nur eine Vorlage zur einfacheren Auswahl eines bestimmten Regelsatzes...


(Soweit ich Dein Problem verstanden habe.)

In beiden Tabellen setzt Du übereinstimmend den Datentyp Zahl, Long oder Zahl, Double  (Double könnte(!) auch "Währung" sein. Bei Double  (Fließ-, bzw- Gleitkomma) mußt Du mit einer Genauigkeit von 15 Stellen insgesamt rechnen, bei Währung (Festkomma) mit 4 Stellen hinter dem Komma. Beide entwickeln Rundungsprobleme bei ungünstigen Rechenoperationen)



Auswahl und Abspeichern erfolgt hier dann mit dem Wert selber, nicht über den PK-Wert




(Ich weiß, das steht etwas in Konfikt mit einer perfekt normalisierten Tabellensituation. Letzendlich muß sich da aber nach der insgesamten Aufgabenstellung richten)

Rainer 1984

#12
Hallo Franz,

habe die Untertabelle aufgebaut, um nicht gegen die Normalformen zu verstoßen, da gleiche Werte mehrmals vorkommen.
Funktioniert Access auch ohne Beziehungen oder müssen diese zwanghaft aufbebaut werden?

Okay, habe Verknüpfungslinie gekappt und in beide Tabellen Double und 2 Dezimalstellen eingetragen.
Habe jetzt überall als Format Prozent genommen. Wenn ich jetzt in der Haupttabelle einen Wert aus der Untertabelle nehme, wird dieser seltsam dargestellt. Statt z.B. 19,00% steht da 019%. Und bei einer beliebigen Kommazahl rundet er auf, z.B. wird 16,50% zu 017%.
Wie kann ich hier die gleichen Werte angezeigt bekommen, so wie sie mir im Dropdown-Menu angezeigt werden?

Vielen Dank im Voraus und einen schönen Abend.

Viele Grüße

Rainer

DF6GL

Hallo,


lass doch mal diese Prozent-Formatierung einfach weg.   

Wie willst Du nun die Prozentzahl "verarbeiten":


19
19,5
0,19

??



Tabellen müssen nicht zwangsweise im Beziehungsfenster verknüpft werden. Diese Verbindungen sagen ja nur der JET-Engine (dem Access-DB-Sysetm), ob und auf welche Datenkombinationen es achten und diese prüfen soll.


Rainer 1984

Hallo Franz,

okay, weiss jetzt über Verknüpfungen bescheid.

Bezüglich Format: Soll ich dann Format in beiden Tabellen ganz leer lassen?

Viele Grüße

Rainer