Stunden erfassen ohne auf -und abrunden ?

hallo zusammen

komme leider mit einer blöde frage aber ich möchte stunden erfassen und in der tabelle ist das feld als „zahl“ definiert. nun rundet access immer ab oder auf und das möchte ich nicht. da die felder (jan-dez) dann zusammengezählt werden muss ich es als „zahl“ definieren. gibt es dafür eine lösung die ich auch als neuling verstehe ? bin dankbar für jegliche hilfe…

danke und bis bald
daniele

Was für eine Zahl? Long oder Double? Wie konvertierst bzw. rechnest du deine Stunden?

Ich würde die Stunden als ganze Zahl (Long) erfassen - dann wird auch nicht gerundet. Wenn du Zeitangaben direkt umrechnen willst: Intern werden Datums-/Zeitangaben als Doubles (Tage ab dem 30.12.1899) angelegt. I.d.R. ist es aber besser, zum Rechnen und Konvertieren die eingebauten Funktionen DateDiff, DateAdd usw. zu verwenden.

Reinhard

ups danke reinhard aber ich möchte nur das wenn ich in einem feld die zahl „12.75“ oder „12.25“ eingebe auch dies genommen wird, jetzt geschiet dies das es bei der erste zahl auf „13.00“ aufgerundet und bei der zeite auf „12.00“ abgerundet wird. nun weiss ich nicht ganz genau (bin nicht mehr im geschäft) welche format ich bei den felder habe, ganz bestimmt weiss ich das es „zahl“ ist und die dezimalstelle ist auf „automatisch“. werde mich aber, falls du mir weiterhilfst, mich am montag nochmals melden.
gruss daniele

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

ups danke reinhard aber ich möchte nur
das wenn ich in einem feld die zahl
„12.75“ oder „12.25“ eingebe auch dies
genommen wird, jetzt geschiet dies das es
bei der erste zahl auf „13.00“
aufgerundet und bei der zeite auf „12.00“
abgerundet wird. nun weiss ich nicht ganz
genau (bin nicht mehr im geschäft) welche
format ich bei den felder habe, ganz
bestimmt weiss ich das es „zahl“ ist und
die dezimalstelle ist auf „automatisch“.

„Zahl“ sagt ja erstmal wenig. Es sind mehrere Dinge zu klären:

Zum einen der Feldtyp in der zugrunde liegenden Datenbanktabelle („Zahl“ kann da eben „Long“, „Integer“, „Byte“, „Single“ oder „Double“ sein).

Das andere ist das Darstellungsformat - das aber keine Auswirkungen auf die interne Speicherung der Daten hat.

Und das dritte ist das Eingabeformat - das bestimmte Eingabemöglichkeiten vorsieht und teilweise daraus Konversionen ableitet. (Das gilt z.B. für alle Datums- und Zeit-Eingabeformate…)

Ganz generell: Wenn du runden willst, musst du das selbst machen - das Eingabeformat rundet lediglich für die Darstellung, aber nicht die internen Daten.

Reinhard

ups danke reinhard aber ich möchte nur
das wenn ich in einem feld die zahl
„12.75“ oder „12.25“ eingebe auch dies
genommen wird, jetzt geschiet dies das es
bei der erste zahl auf „13.00“
aufgerundet und bei der zeite auf „12.00“
abgerundet wird. nun weiss ich nicht ganz
genau (bin nicht mehr im geschäft) welche
format ich bei den felder habe, ganz
bestimmt weiss ich das es „zahl“ ist und
die dezimalstelle ist auf „automatisch“.

Um Nachkommastellen zu erfassen, muss die Zahl in der Tabellendefinition auf das Format Single oder Double eingestellt werden. Bei Zeiten bis 24 Stunden reicht der Typ Single.
In der Tabellendefinition und v.a. im Formular wird dann noch die Darstellung (Zahl der Nachkommastellen etc.) eingestellt.
Christian

Also hab es teilweise geschafft. Habe die Felddatentyp als Zahl und die Feldgrösse als „Double“ und den Format als „Festkommazahl“ erfasst und siehe da es geht, wenn ich in der Abfrage (als Test) die Zahlen eingebe werden sie nicht mehr aufgerundet. Nun habe ich aber noch ein Problem…in der Abfrage (Verknüpfung mit Tab_Personal und Tab_Arbeitszeiten 1998) habe ich ein Feld erstellt der mir die Zeiten (Januar 1998 bis Dezember 1998) Zusamenzählt (Audr1: [Januar 1998]+[Februar 1998]+[usw…]. Nun geht es nicht mehr, sprich das Feld bleibt leer obschon in den Monatsfelder Zahlen eingegeben worden sind. Gibts dafür eine
a) bessere Lösung
b) einfachere Lösung
c) schlauere Lösung.
Möchte noch Hinweisen das ich von VBA nicht viel Verstehe und so wie ich sehe seit Ihr ja ziemliche Cracks in sache Access darum bitte ich euch mir was „Anfängertauglich“ zu schreiben.

danke und bis bald

Daniele Rossi

Ich nehme mal an, du hast dich irgendwo in deinem Ausdruck verschrieben. Aber ganz allgemein sollte es Feldnamen wie [Januar 1998] in einer sauber definierten, also normalisierten Datenbank eigentlich nicht geben. Ich würde die Summenbildung per Summenfunktion in der Abfrage machen und das Datum mit in die Tabelle nehmen. Dann kannst du nach Monaten gruppieren und summieren.

Reinhard