Pregunta

Digamos que tengo dos cuadros de texto en un formulario. el primero devuelve un valor de cuenta de una instrucción SQL o una expresión de agregado de dominio, etc. El segundo hace lo mismo con parámetros adicionales.

Ahora quiero tener otro cuadro de texto (# 3) que divide una a la otra por un porcentaje muy simple. así por un controlsource:

=[textbox2]/[textbox1]

esto funciona muy bien a menos que el valor contado originales devuelto es un cero. Si el primer valor devuelto es un cero, entonces el segundo va a ser un cero también, y lo ideal sería 0/0 debe salir a cero, pero me da un error # NUM! cadena de error en el cuadro de texto.

Me di cuenta que es otra petición más extraña, pero esta es una forma de panel de control que tiene cerca de 50 de estos, y que gran trabajo, a no ser que llegué a un cero.

Entonces, ¿hay alguna manera de poder establecer las propiedades del cuadro de texto para que pueda ser conscientes, para que esto funcione sin tener que escribir numerosos If en el código?

Gracias!

¿Fue útil?

Solución

No puedo ver cómo se puede evitar una sentencia if cuando división por cero es una posibilidad

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

Otros consejos

Matemáticamente, la división entre 0 es indeterminado, pero para sus propósitos, se puede calcular con:

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

Esto es, cuando TextBox1 es igual a 0, se comprueba si es o no TextBox2 es igual a 0. Si este es el caso, entonces devolver 0, que es lo que desea.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top