Страница: 1 |
Страница: 1 |
Вопрос: Простенький вопросик - не обрабатывается условие..
Добавлено: 11.03.08 00:42
Автор вопроса: kabazoo | ICQ: 71
Dim tot_uslug As Currency
tot_uslug = DSum("[stoimost_uslugi]", "Strigka_uslugi", "[ident_strigki] = " & CStr(nom_strigki) & "")
If tot_uslug = Null Then
tot_uslug = 0
MsgBox (CStr(tot_uslug))
Else
MsgBox (CStr(tot_uslug))
End If
Вот есть такой кусочек. Проблема в том, если DSum возвращает резульат Null -- if else не обрабатывает tot_uslug в этом случае и tot_uslug не присваеивается 0..
В чем может быть загвоздка?
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #1
Добавлено: 11.03.08 00:54
А ты понимаешь вообще назначение Null в VBA?
И может в DSum проблема?
Номер ответа: 2
Автор ответа:
kabazoo
ICQ: 71
Вопросов: 3
Ответов: 3
Профиль | | #2
Добавлено: 11.03.08 09:09
Возможно нет - я еще "зеленый" совсем
Я сделал Add Watch для tot_uslug и если Dsum не возвращал ничего — значение пременной tot_uslug было Null.
в этом случае нужно присвоить переменной 0.
Номер ответа: 3
Автор ответа:
GDK
Вопросов: 13
Ответов: 348
Профиль | | #3
Добавлено: 11.03.08 10:10
Dim fff As Variant
fff = Null
If IsNull(fff) Then
MsgBox (122222)
End If
End Sub
работает
Номер ответа: 4
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #4
Добавлено: 11.03.08 10:39
Currency и Variant, разницу видишь?) Пусть твоя функция возвращает 0, например. Или -1. Вместо Null
Номер ответа: 5
Автор ответа:
kabazoo
ICQ: 71
Вопросов: 3
Ответов: 3
Профиль | | #5
Добавлено: 15.03.08 14:15
Спасибо, все получилось