PDA

Vollständige Version anzeigen : Aufrunden in ACCESS


outlaw
02.10.2001, 07:37
Wie bekomm ich es hin, in einer Abfrage Zahlen aufrunden zu lassen. Bei Excel ist das kein Problem, das sollte doch auch bei Access funktionieren. ODER?!

Dirk Skirde
02.10.2001, 10:33
Hi Outlaw,

benutze zum Runden doch einfach die Funktion:

Round-Funktion


Beschreibung

Gibt eine Zahl zurück, die auf eine festgelegte Anzahl an Dezimalpunkten gerundet wurde.

Syntax

Round(Ausdruck [,AnzahlAnDezimalpunktn])

Die Syntax der Round-Funktion besteht aus folgenden Teilen:

Gruß Dirk

Hondo
02.10.2001, 11:05
Hi, Aufrunden (nicht runden) geht z.B. mit der Int-Funktion die ja bekantlich die Nachkommastellen abschneidet. mußt nur noch eine Zahl kleiner 1 vorher dazu addieren und schon rundet er (der Code) auf:
aufgerundeterWert = Int(doubleWert+0,9999)
Bei negativen Werten muß man probieren und ev. die Fix-Funktion verwenden.
Gruß Andreas

MarkusW
02.10.2001, 19:51
Hallo,

geht nicht auch int("aufzurundende Zahl")+1?

Ich bin mit den 0,99999 nicht so recht klar.

Gruß
Markus

Hondo
03.10.2001, 09:51
Mann, ist doch klar: Runde mal mit deiner Logik die Zahl 5 auf. Was kommt raus? 6
Ok, 6 ist nicht schlecht aber trotzdem falsch. OK? Gruß Andreas

MarkusW
03.10.2001, 11:55
@Andreas

Man kann aber auch vernagelt sein!!

Ich habe nur an Zahlen mit Nachkommastellen gedacht. Aber irgendwie gibts ja noch "glatte" Zahlen.

Danke
Einsichziemlichblödvorkommender
Markus

Post mailum
Nur für die Theorie:
Ein Aufrunden von 5,000001 funktioniert aber doch mit "0,9999" nicht?
Müßte man dann nicht etwas verwenden wie:
Wenn "Zu rundende Zahl" - Int("Zu rundende Zahl") = 0
dann "Zu rundende Zahl"
ansonsten Int("Zu rundende Zahl") + 1
(nur für positive Zahlen)

Gruß
einjetztauchnochgrübelnder
Markus

Squirli
03.10.2001, 12:14
Ich würde es mal damit probieren,
Dim Wert as Double
Wert = ...
If Wert/Int(Wert) = 1.0 then
Aufgerundeter Wert = Wert
Else
aufgerundeterWert = Int(Wert)+1
End if

Grüße Squirli

Sascha Trowitzsch
03.10.2001, 12:57
AufgerundeterWert = 1 + Round((Wert - 0.5),0)

Ciao, Sascha

P.S.: Ne, quatsch, auch falsch!!
(Ich wollte den Beitrag eigentlich löschen, das funktioniertt aber nicht?!)


[Dieser Beitrag wurde von Sascha Trowitzsch am 03.10.2001 editiert.]

Hondo
03.10.2001, 13:24
Hi,
@ Markus,
das mit den 5,00001 ist ja logisch, mußt halt den Addierer so wählen daß solche Werte nicht vorkommen können, oder eben vorher abfragen ob überhaupt ein Nachkommabereich vorhanden ist so wie von Squirli gepostet
ich denke daß das Thema damit abgehakt ist.
Gruß Andreas