Round in Access 2000

Hallo zusammen,

ich habe ein kleines problem und zwar möchte ich in VBA code eine Zahl auf ganzstellige ziffern runden, dies geht mir round. nun möchte ich jedoch in jedemfalle auf die nächst höhere Zahl aufrunden sofern das resultat nicht genau eine Ganzzahl ist. hat einer ne idee wie ich das anstellen soll.

thx mfg
christian

INT()
Hallo Christian,

nimm die INT()-Funktion und addiere 1 dazu:

int(Zahl) + 1

INT rundet grundsätzlich ab. Wenn Du jetzt also noch 1 addierst, hast Du immer die nächstgrößere Ganzzahl…

Gruß
(Woly)

problem
Hi Woly,

danke für deine Antwort, die idee aus der zahl einen Integerwert zumachen hatte ich auch schon, leider habe ich dann ein problem, nämlich wen der wert genau eine Ganzzahl ist, dann addiert er mir ebenfalls 1 dazu, womit ich schlussentlich 1 zuviel habe. Oder gibt es eine möglichkeit zu überprüfen ob ein Wert eine Ganzzahl ist ?

auf jedenfall nochmals danke für deine Antwort :smile:

mfg
christian

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

Hallo Christian,
_… gibt es eine möglichkeit zu

überprüfen ob ein Wert eine Ganzzahl ist ?_

Ich habe in einer Abfrage folgendes eingetragen:
Wenn(Int([betrag])=[betrag];[betrag];Int([betrag])+1)
und es funktioniert!

gruss
moritzbock

nimm die INT()-Funktion und addiere 1 dazu:

int(Zahl) + 1

INT rundet grundsätzlich ab. Wenn Du jetzt also noch 1
addierst, hast Du immer die nächstgrößere Ganzzahl…

Gruß
(Woly)

Hi Woly,

danke für deine Antwort, die idee aus der zahl einen
Integerwert zumachen hatte ich auch schon, leider habe ich
dann ein problem, nämlich wen der wert genau eine Ganzzahl
ist, dann addiert er mir ebenfalls 1 dazu, womit ich
schlussentlich 1 zuviel habe. Oder gibt es eine möglichkeit zu
überprüfen ob ein Wert eine Ganzzahl ist ?

auf jedenfall nochmals danke für deine Antwort :smile:

mfg
christian

Lösung!
Hallo Christian,

Moritzbock hat die Lösung im Prinzip schon gepostet. Du kannst Dir aber auch gleich eine kleine Funktion basteln (oder nimm meinen Vorschlag :smile: und sie in ein Modul speichern.

Public Function NächsteGanzzahl(Wert As Double) As Long
 If Int(Wert) = Wert Then
 NächsteGanzzahl = Wert
 Else
 NächsteGanzzahl = Int(Wert) + 1
 End If
End Function

Diese Funktion NächsteGanzzahl() steht Dir jetzt überall in der Datenbank zur Verfügung, egal ob in einer Abfrage oder im VBA-Code selbst.

Gruß
(Woly)

danke …
… euch beiden :wink:

wie wärs mit der guten alten Programmierung :wink:

int(DeineZahl + 0,9)

Int() schneidet Nachkommastellen hab.

Beispiel:
3,0 + 0,9 = 3,9 -> 3
3,1 + 0,9 = 4,0 -> 4

Gruß
Matthias

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