将复选框设置为Visible = False

时间:2013-07-19 15:09:10

标签: ms-access checkbox access-vba visible

如果字段为空,我正在尝试使用以下代码使复选框消失:

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':对象变量或With块变量未设置?我使用

初始化代码中前面的复选框
Dim chkPIANO As Checkbox

有关解决此问题的任何想法吗?

1 个答案:

答案 0 :(得分:0)

之后......

Dim chkPIANO As Checkbox

你必须Set它。如果代码在包含复选框的表单上运行...

Set chkPIANO = Me.CheckBoxName

但是如果复选框控件的名称是 chkPIANO ,则不需要声明具有相同名称的变量。您应该可以将其称为......

Me.chkPIANO

如果您的代码位于标准模块而不是表单的模块中......

Set chkPIANO = Forms!YourFormName!CheckBoxName

作为基本练习,将Option Explicit添加到模块的Declarations部分,然后从VB编辑器的主菜单中运行Debug-&gt; Compile。修复编译器抱怨的任何内容。在所有代码模块中使用Option Explicit