Вопрос

Допустим, у меня есть два текстовых поля в форме.первый возвращает значение count из инструкции SQL или агрегированного выражения домена и т.д.второй делает то же самое с дополнительными параметрами.

Теперь я хочу иметь другое текстовое поле (# 3), которое делит одно на другое в очень простом проценте.как это для controlsource:

=[textbox2]/[textbox1]

это отлично работает, если только возвращаемое исходное подсчитанное значение не равно нулю.Если первое возвращаемое значение равно нулю, то второе тоже будет равно нулю, и в идеале 0/0 должно равняться нулю, но я получаю #Num!строка ошибки в текстовом поле.

Я понимаю, что это еще один странный запрос, но это для формы панели мониторинга, в которой их около 50, и они отлично работают, если только я не наберу ноль.

Итак, есть ли какой-либо способ установить свойства текстового поля, о которых я, возможно, не знаю, чтобы это работало без необходимости писать многочисленные операторы If в коде?

Спасибо!

Это было полезно?

Решение

Я не вижу, как вы можете избежать оператора if, когда возможно деление на ноль

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

Другие советы

Математически деление на 0 не определено, но для ваших целей вы можете вычислить его с помощью:

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

Это означает, что когда textbox1 равно 0, вы проверяете, равно ли textbox2 0.Если это так, то верните 0, это то, что вы хотите.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top