|
|
|
Проверка на нуль ячейки в таблице - RS 2005
|
|||
|---|---|---|---|
|
#18+
Всем привет. Есть проблемка. Вывожу в таблицу результат работы sql запроса. Со строками потом происходит группировка, подсчет сумм и т.д. Есть одна строка, в которой я нахожу % и делю одну ячейку на 2-ю. чтоб избежать деления на нуль, я проверку вписываю такую: =iif(reportitems!textbox29.value = 0, 0, (100 * reportitems!textbox27.value/reportitems!textbox29.value)) Однако, она не проходит и в результате всё равно #Error Что не так? Спасибо ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2009, 10:40 |
|
||
|
Проверка на нуль ячейки в таблице - RS 2005
|
|||
|---|---|---|---|
|
#18+
Вопрос решен. Итак: IIF проверяет на правильность сначала всю строку, даже область деления, не смотря на условие о делителе. и если делитель = 0(хотя в условии мы это описали) - тогда ОШИБКА. Отсюда: =iif(reportitems!textbox29.value = 0, 0, (100 * reportitems!textbox27.value/reportitems!textbox29.value)) выход: Создать пользовательскую функцию, в которой написать: Код: plaintext 1. 2. 3. и вызывать её: =100 * Code.SafeDivide(reportitems!textbox141.value,reportitems!textbox43.value) http://codemonkeyjas.blogspot.com/2008/03/sql-reporting-services-dividing-by-zero.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2009, 11:53 |
|
||
|
|

start [/forum/topic.php?fid=31&fpage=88&tid=1536223]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 338ms |

| 0 / 0 |
