【问题标题】:Setting a checkbox to Visible = False将复选框设置为 Visible = False
【发布时间】:2013-07-19 15:09:09
【问题描述】:

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

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

有解决这个问题的想法吗?

【问题讨论】:

    标签: ms-access checkbox vba visible


    【解决方案1】:

    之后……

    Dim chkPIANO As Checkbox
    

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

    Set chkPIANO = Me.CheckBoxName
    

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

    Me.chkPIANO
    

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

    Set chkPIANO = Forms!YourFormName!CheckBoxName
    

    作为基本做法,将Option Explicit 添加到模块的Declarations 部分,然后从VB 编辑器的主菜单运行调试->编译。修复编译器抱怨的任何问题。在所有代码模块中使用Option Explicit

    【讨论】:

    • 我在问这个问题后几乎立即意识到了这一点。感谢您的帮助。
    猜你喜欢
    • 2015-07-16
    • 2019-05-29
    • 1970-01-01
    • 1970-01-01
    • 2018-12-13
    • 2015-11-21
    • 1970-01-01
    • 2020-05-24
    • 2012-11-07
    相关资源
    最近更新 更多