Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Runden / Abschneiden / verhindern des Rundens

Begonnen von Kaufii, September 13, 2010, 12:45:21

⏪ vorheriges - nächstes ⏩

Kaufii

Hallo ihr lieben Helfer,

ich komme einfach nicht weiter, das Internet hilft mir auch irgendwie nicht weiter.

Ich habe ein Rundungsproblem in Access2003_VBA:

3 Textfelder:
     ____
T1: | 26 |  GA_Wochen (Variable Zahlen)
     ____
T2: | 5   |  GA_Tage (Variabele Zahlen bis 6)
     ____
T3: |      |  GA_genau (Ergebnis)

Berechnung:

Me.GA_genau = GA_Wochen + (GA_Tage / 7)

Me.GA_genau = 26 + 0.71428...

Beispiel-Wunsch-Lösung: 26.71 , aber  nicht 26.72


Bisherige (gescheiterte) Versuche überhaupt zu Runden:

Round(Me.GA_genau , 2) = GA_Wochen + (GA_Tage / 7)               --->  Erg. T3: Debuggen

Me.GA_genau  = Round(GA_Wochen + (GA_Tage / 7), 2)               ---> Erg. T3: 27

Format(Me.GA_genau , "0.00") = GA_Wochen + (GA_Tage / 7)       ---> Erg. T3: Debuggen

Me.GA_genau =  Format((GA_Wochen + (GA_Tage / 7)), "0.00")     ---> Erg. T3: 27

Me.GA_genau =  Format((GA_Wochen + (GA_Tage / 7)), "##.##")   ---> Erg. T3: 27

--> Egal was ich versuche, er rundet immer auf die Ganze Zahl hoch
--> Mache ich ergend etwas falsch?
--> Vergesse ich etwas?

???

Es währe sehr schön, wenn mir jemand von euch weiter helfen könnte.

Liebe Grüße,

Kaufii.

DF6GL

Hallo,

welchen Sinn hat denn Deine Wunschlösung überhaupt?


Einen Tag als Dezimalteil einer Woche auszudrücken ist an sich eher fragwürdig, und dann auch noch auf 2 Nachkomma-Stellen "genau" (abgerundet) ..  ??


Wie auch immer, z. B. so:

Me!GA_genau = Me!GA_Wochen + Int((Me!GA_Tage / 7)*100)/100

Kaufii

Danke für deine schnelle Antwort ,

das ist das genaue Gestationsalter (Alter eines Kindes bei seiner Geburt)

- mein Prof. möchte dies gerne so in der DB zu stehen haben

Me!GA_genau = Me!GA_Wochen + Int((Me!GA_Tage / 7) * 100) / 100

- es funktioniert leider auch nicht, er gibt immer noch 27 aus

Trotzdem vielen Dank.


Kaufii

#4
Hallo DF6GL,

vielen Dank für deine Mühe.

ich habe meinen schussel-fehler gefunden.  In den Tabelleneigenschaft für die Ergebniszelle wurde "LongInteger" angezeigt, dies habe ich jetzt auf "Double" umgestellt.

Jetzt funktioniert deine Variante und die auch die Round()-Funktion.

Dieser Fehler passiert mir jetzt nicht noch mal.

Noch mals vielen Dank,

Kaufii.