OVH Cloud OVH Cloud

Arrondir

5 réponses
Avatar
DIP
Bonjour,
J'ai un champ dans une requête de calcul suivant MontantNet:
CLong(([FAC_DET_QTE]*[MontantUnitaire])*10^2)/10^2 le problème est que je
n'arrive pas à arrondir à l'unité 05 exemple 100.45. J'ai déjà essayé avec
la fonction Round
mais j'obtiens par exemple 100.58.
Comment faire pour résoudre ce problème ?
Merci d'avance
DIP

5 réponses

Avatar
Gafish
Bonjour,

DIP wrote:
Bonjour,
J'ai un champ dans une requête de calcul suivant MontantNet:
CLong(([FAC_DET_QTE]*[MontantUnitaire])*10^2)/10^2 le problème est
que je n'arrive pas à arrondir à l'unité 05 exemple 100.45. J'ai
déjà essayé avec la fonction Round
mais j'obtiens par exemple 100.58.
Comment faire pour résoudre ce problème ?
Merci d'avance
DIP


Tu trouveras une fonction pour arrondir ici :
http://www.mvps.org/accessfr/modules/mdl0054.htm
qui palie les difficultés de la fonction intégrée. Tu mets ce bout de code
dans un module de ta base, et ensuite tu peux utiliser dans ta requête cette
fonction

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
DIP
Par contre comment faire pour l'intégré avec ma fonction ?


Bonjour,

DIP wrote:
Bonjour,
J'ai un champ dans une requête de calcul suivant MontantNet:
CLong(([FAC_DET_QTE]*[MontantUnitaire])*10^2)/10^2 le problème est
que je n'arrive pas à arrondir à l'unité 05 exemple 100.45. J'ai
déjà essayé avec la fonction Round
mais j'obtiens par exemple 100.58.
Comment faire pour résoudre ce problème ?
Merci d'avance
DIP


Tu trouveras une fonction pour arrondir ici :
http://www.mvps.org/accessfr/modules/mdl0054.htm
qui palie les difficultés de la fonction intégrée. Tu mets ce bout de code
dans un module de ta base, et ensuite tu peux utiliser dans ta requête cette
fonction

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr






Avatar
Gafish
DIP wrote:
Par contre comment faire pour l'intégré avec ma fonction ?

C'est ce que je t'ai dit tout en bas. En fait, tu mets le code proposé dans

un module de ta base, par exemple dans un nouveau, et après tu l'utilises
comme une fonction intégrée d'Access. Cela veut dire que tu peux l'utiliser
dans une requête, dans une autre fonction.... tu l'appeles comme une
fonction classique, à savoir Round(TonNombre, NbDec)
A la limite si tu veux tu peux l'appeler autrement pour éviter toute
confusion

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
DIP
Merci pour votre aide
Par contre cette fonction ne peut arrondir au 100.44 --> 100.45
ou 100.48 --> 100.5
Y a-t-il une autre possibilité
Merci d'avance
DIP


Bonjour,
J'ai un champ dans une requête de calcul suivant MontantNet:
CLong(([FAC_DET_QTE]*[MontantUnitaire])*10^2)/10^2 le problème est que je
n'arrive pas à arrondir à l'unité 05 exemple 100.45. J'ai déjà essayé avec
la fonction Round
mais j'obtiens par exemple 100.58.
Comment faire pour résoudre ce problème ?
Merci d'avance
DIP


Avatar
Eric
Bonjour,

Tu as la fonction
Function Ceiling(N, ByVal Precision)
sur le site de Walter Stucki :

http://mypage.bluewin.ch/w.stucki/Programmes.htm#Nombres

(au tiers de la page environ)
Elle arrondit au niveau de précision supérieur.

Ainsi dans le code
Ceiling(100.48, 0.05) -->100.5
Ceiling(100.44, 0.05) ---> 100.45
et
Ceiling(100.41, 0.05) ---> 100.45

Cela conviendrait peut-être ?

Pour l'utiliser, tu la copies dans un module et l'appelles dans ta
requête de la maniere suivante:
MontantNet:Ceiling([FAC_DET_QTE]*[MontantUnitaire];0,05)

--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Merci pour votre aide
Par contre cette fonction ne peut arrondir au 100.44 --> 100.45
ou 100.48 --> 100.5
Y a-t-il une autre possibilité
Merci d'avance
DIP



Bonjour,
J'ai un champ dans une requête de calcul suivant MontantNet:
CLong(([FAC_DET_QTE]*[MontantUnitaire])*10^2)/10^2 le problème est que je
n'arrive pas à arrondir à l'unité 05 exemple 100.45. J'ai déjà essayé avec
la fonction Round
mais j'obtiens par exemple 100.58.
Comment faire pour résoudre ce problème ?
Merci d'avance
DIP