2013-07-19 2 views
1

Я пытаюсь сделать флажок исчезнет, ​​если поле пустое, используя следующий код:Установка флажка для Visible = False

If rstPIANO.RecordCount <= 0 Then 
    MsgBox "No PIANO Data exists for this date" 
    chkPIANO.Enabled = Not (chkPIANO.Enabled) 
    chkPIANO.Visible = False 
    Else 
     chkPIANO.Visible = True 
    End If 

Когда я пытаюсь этот MsgBox работает, то я получаю во время выполнения ошибка '91': переменная объекта или с переменной блока не установлена? Я устанавливаю флажок раньше в коде

Dim chkPIANO As Checkbox 

Любые мысли по устранению этой проблемы?

ответ

0

После ...

Dim chkPIANO As Checkbox 

Вы должны Set это к чему-то. Если код выполняется на форме, которая содержит флажок ...

Set chkPIANO = Me.CheckBoxName 

Но если имя элемента управления флажок chkPIANO, вам не нужно объявить переменную с тем же именем , Вы должны быть в состоянии обратиться к нему, как ...

Me.chkPIANO 

Если ваш код находится в стандартном модуле вместо модуля формы в ...

Set chkPIANO = Forms!YourFormName!CheckBoxName 

В основной практике, добавить Option Explicit к Declarations, а затем запустите Debug-> Compile из главного меню VB Editor. Исправьте все, о чем компилятор жалуется. Используйте Option Explicit во всех своих модулях кода.

+0

Я понял, что почти сразу после вопроса. Спасибо за вашу помощь. – user2521720

Смежные вопросы