Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Kaufii am September 13, 2010, 12:45:21

Titel: Runden / Abschneiden / verhindern des Rundens
Beitrag von: Kaufii am September 13, 2010, 12:45:21
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.
Titel: Re: Runden / Abschneiden / verhindern des Rundens
Beitrag von: DF6GL am September 13, 2010, 14:06:11
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
Titel: Re: Runden / Abschneiden / verhindern des Rundens
Beitrag von: Kaufii am September 13, 2010, 14:29:39
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.
Titel: Re: Runden / Abschneiden / verhindern des Rundens
Beitrag von: DF6GL am September 13, 2010, 15:40:13
Hallo,

siehe Bilder



[Anhang gelöscht durch Administrator]
Titel: Re: Runden / Abschneiden / verhindern des Rundens
Beitrag von: Kaufii am September 14, 2010, 11:08:18
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.