Access 2007 vba null - PullRequest
       27

Access 2007 vba null

2 голосов
/ 16 сентября 2011

Моя программа не обрабатывает после этого утверждения:

Dim valid as Boolean
If MyComboBox.Value Is Not Null Then valid = true

Почему бы и нет?

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

Ответы [ 2 ]

4 голосов
/ 16 сентября 2011

Ключевое слово IS используется для проверки состояния объектов, и вы хотите проверить значение.Следующее работает отлично:

Dim Valid as Boolean

If Not IsNull(MyComboBox.Value) Then Valid = True

Смотрите следующую ссылку для более подробного описания:

Ничего?Пустой?Отсутствует?Null?

0 голосов
/ 16 сентября 2011

Использование этой функции таким образом (по крайней мере, в Excel) вызывает ошибку, поскольку Null AFAIK можно использовать только для проверки объектов (а свойство value не является объектом).

Следовательно ..Если вы хотите установить значение valid = TRUE, когда в Combobox есть хотя бы одно выбранное значение, я думаю, я бы использовал

valid = CBool(Len(MyCombobox.Value))

Надеюсь, это поможет ...и надеюсь, что я не понял вашего вопроса: -)

...