
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
23.04.2009, 10:40
|
|||
|---|---|---|---|
|
|||
Проверка на нуль ячейки в таблице - RS 2005 |
|||
|
#18+
Всем привет. Есть проблемка. Вывожу в таблицу результат работы sql запроса. Со строками потом происходит группировка, подсчет сумм и т.д. Есть одна строка, в которой я нахожу % и делю одну ячейку на 2-ю. чтоб избежать деления на нуль, я проверку вписываю такую: =iif(reportitems!textbox29.value = 0, 0, (100 * reportitems!textbox27.value/reportitems!textbox29.value)) Однако, она не проходит и в результате всё равно #Error Что не так? Спасибо ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.04.2009, 11:53
|
|||
|---|---|---|---|
|
|||
Проверка на нуль ячейки в таблице - 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=31&mobile=1&tid=1536223]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
181ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 501ms |

| 0 / 0 |
