ник: АлексейЕ
Да уж, по изгаляться пришлось.
И этот код перестал работать корректно, когда добавил еще один контрол субформа.
А причина то в другом месте окопалась.
Оказывается, если использовать инструкцию On Error Resume Next, то если в условии инструкции If происходит ошибка, то она, по сути, интерпретируется как выполнение условие (True), так как код выполняется в прямом смысле со "следующей строки"
Вот на эти вилы то я и напоролся.
Вот два примера. (Forms("h").Controls("h") не существует)
On Error Resume Next
If Forms("h").Controls("h") <> 0 Then
MsgBox "True"
Else
MsgBox "False"
End If
|
Зедсь выведет True
On Error Resume Next
If Forms("h").Controls("h") <> 0 Then
Else
MsgBox "False"
End If
|
А здесь ни чего не выведет
Так что, после такого If’а обязательно надо ловить ошибку.