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

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

4

1 回答 1

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在所有代码模块中使用。

于 2013-07-19T15:18:38.503 回答