OVH Cloud OVH Cloud

#Nombre!

4 réponses
Avatar
Bonjour ou plutot bonsoir tout le monde .

J'utilise des champs calcul=E9s dans un formulaire. Le=20
r=E9sulat qui est retourn=E9 lorsque c'est une division de=20
champs =E0 0 est #nombre!. J'ai utilis=E9 la fonction NZ mais=20
sans succ=E8s. Qui pourrait me conseiller svp ?


merci

4 réponses

Avatar
Gilbert
Bonsoir,
En maths la division par zéro n'est pas autorisée. Et en Access non plus.
La fonction NZ remplace la valeur Null par 0 (u une chaine vide), ce qui
n'empêche pas de diviser par 0

Cordialement

Gilbert

a écrit dans le message de news:
1500c01c3c3f3$f7a4d570$
Bonjour ou plutot bonsoir tout le monde .

J'utilise des champs calculés dans un formulaire. Le
résulat qui est retourné lorsque c'est une division de
champs à 0 est #nombre!. J'ai utilisé la fonction NZ mais
sans succès. Qui pourrait me conseiller svp ?


merci
Avatar
Raymond [mvp]
Bonsoir.

il est conseillé de passer par un if simple :
Dim A As Integer
Dim B As Integer
Dim C As Integer
A = 10
B = 0
If B = 0 Then
C = 0
Else
C = A / B
End If

Attention la fonction suivante ne fonctionne pas:
Dim A As Integer
Dim B As Integer
Dim C As Integer
A = 10
B = 0
C = IIf(B = 0, A, A / B)

Il y aura toujours une division par 0 comme erreur.
La fonction IIf évalue toujours les deux conditions, même si elle ne
renvoie qu'un seul de ces arguments. il faut être particulièrement
attentif à certains effets secondaires indésirables de cette fonction. Par
exemple, si l'évaluation de A/B engendre une division par zéro, une
erreur se produit même si la valeur de B=0 est True.
donc se méfier dans une requête.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


a écrit dans le message de
news:1500c01c3c3f3$f7a4d570$
Bonjour ou plutot bonsoir tout le monde .

J'utilise des champs calculés dans un formulaire. Le
résulat qui est retourné lorsque c'est une division de
champs à 0 est #nombre!. J'ai utilisé la fonction NZ mais
sans succès. Qui pourrait me conseiller svp ?


merci
Avatar
Denis
Raymond [mvp] wrote:
:: Bonsoir.
::
:: il est conseillé de passer par un if simple :
:: Dim A As Integer
:: Dim B As Integer
:: Dim C As Integer
:: A = 10
:: B = 0
:: If B = 0 Then
:: C = 0
:: Else
:: C = A / B
:: End If
::

oui mais attention, ca revient à dire que le résultat de la division
par zéro est zéro !!!!!
pratique, mais dangereux dans certains cas !

@++
Avatar
Raymond [mvp]
Bonsoir.

à toi de définir la valeur que tu dois retrouver en C, c'était un exemple.
tu peux simplement afficher un message par msgbox ou exécuter toute autre
fonction de ton choix.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Denis" <droux.NOSPAMat.tcn.fr> a écrit dans le message de
news:
oui mais attention, ca revient à dire que le résultat de la division
par zéro est zéro !!!!!
pratique, mais dangereux dans certains cas !

@++