2013-07-19 182 views
1

我试图做一个复选框消失,如果一个字段使用下面的代码是空的:设置一个复选框可见=假

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 ExplicitDeclarations部分模块,然后从VB编辑器的主菜单运行Debug-> Compile。修复编译器抱怨的任何事情。在所有代码模块中使用Option Explicit

+0

我问道后几乎立即意识到这一点。谢谢你的帮助。 – user2521720