OVH Cloud OVH Cloud

Division par zéro dans état

12 réponses
Avatar
Michel Gagnon
J'ai un champ calculé dans une requête. Lorsque je divise par zéro,
j'obtiens un résultat "erreur". Comment empêcher ce message d'apparaître
dans un état.

Merci

Michel Gagnon

2 réponses

1 2
Avatar
Eric
...
lire SELECT 10 AS chpa, 0 AS chpb, IIf([chpb]=0,"na",[chpa]/[chpb]) ...

Eric

Eric écrivait
news::

Bonjour Raymond,

Coté Code VB :
Ca me parait logique puisqu'il est stipulé que Iif evalue toujours les
2 arguments AVANT de retourner celui correspondant à la condition.
Donc on doit avoir toujours le message d'erreur de VB .

Coté langage SQL :
SELECT 10 AS chpa, 0 AS chpb, IIf([chpb]=0,"na",[chpb]/[chpa]) AS
resultat; me retourne toujours na. Et là, ca me surprend !

Donc le iif n'est pas analysé de la même manière suivant l'endroit où
il est utilisé ???

A+
Eric

"Raymond [mvp]" écrivait
news:uRmFWG1YEHA.1692 @TK2MSFTNGP10.phx.gbl:

Bonjour Michel.

sur mes 3 versions 2000,2002 et 2003 si je fais
Dim a As Integer, b As Integer, c As Integer
a = 10
b = 0
c = IIf(b = 0, a, a / b)

j'ai l'erreur division par 0 sur le IIf







Avatar
Raymond [mvp]
Bonjour Eric.

Ca me parait logique puisqu'il est stipulé que Iif evalue toujours les 2
arguments AVANT de retourner celui correspondant à la condition. Donc on
doit avoir toujours le message d'erreur de VB .


tout à fait.

Donc le iif n'est pas analysé de la même manière suivant l'endroit où il
est utilisé ???


à croire. dans la requête c'est access , dans code c'est vba. access
traite-t-il l'erreur retournée directement ce qui fait que l'erreur
n'apparaît pas en requête ?

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


"Eric" a écrit dans le message de
news:
Bonjour Raymond,

Coté Code VB :
Ca me parait logique puisqu'il est stipulé que Iif evalue toujours les 2
arguments AVANT de retourner celui correspondant à la condition. Donc on
doit avoir toujours le message d'erreur de VB .

Coté langage SQL :
SELECT 10 AS chpa, 0 AS chpb, IIf([chpb]=0,"na",[chpb]/[chpa]) AS
resultat;

me retourne toujours na. Et là, ca me surprend !

Donc le iif n'est pas analysé de la même manière suivant l'endroit où il
est utilisé ???

A+
Eric


1 2