Question

Disons que j'ai deux zones de texte sur un formulaire. la première renvoie une valeur de comptage d'une instruction SQL ou une expression d'agrégation de domaine, etc. le second fait la même chose avec des paramètres supplémentaires.

Maintenant, je veux avoir une autre zone de texte (# 3) qui divise l'un par l'autre pour un pourcentage très simple. comme celui-ci pour une controlsource:

=[textbox2]/[textbox1]

Cela fonctionne très bien à moins que la valeur comptée originale retournée est un zéro. Si la première valeur retournée est un zéro, le second va être trop zéro, et idéalement 0/0 devrait sortir à zéro, mais je reçois un #Num! chaîne d'erreur dans la zone de texte.

Je sais que cela est encore une autre demande bizarre mais c'est une forme de tableau de bord qui a environ 50 d'entre eux, et ils fonctionnent très bien, à moins que je frappe un zéro.

est-il possible que je peux définir les propriétés de zone de texte que je ne sachent pas, pour que cela fonctionne sans avoir à écrire de nombreuses déclarations Si dans le code?

Merci!

Était-ce utile?

La solution

Je ne vois pas comment vous pouvez éviter une instruction if lors de la division par zéro est une possibilité

=IIf(TextBox1<>0, TextBox2/TextBox1,"N/A")

Autres conseils

Mathématiquement, la division par 0 est indéterminée, mais pour vos besoins, vous pouvez calculer avec:

=IIf([textbox1]<>0;[textbox2]/[textbox1];IIf([textbox2]=0;0;"N/A"))

Ceci est, quand textbox1 est égal à 0, vous vérifiez si oui ou non TextBox2 est égal à 0. Si tel est le cas, retourner 0, ce qui est ce que vous voulez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top