首页 > 解决方案 > Access VBA:从另一个表单获取复选框的值

问题描述

我正在尝试以单独的形式访问我拥有的复选框的值。我使用代码从它自己的表单中访问复选框信息没有问题......

If Not IsNull(Check43) Then
    If Check43 Then
        DoCmd.OpenQuery "Insert_Query"
    End If
End If

但我不知道如何以另一种形式访问“Check43”的值。我认为像下面这样的东西会起作用......

Dim frm As Form, ctl As Control
Set frm = Forms!Relevant_Application
Set ctl = frm!Check43

If Not IsNull(ctl) Then
    If ctl Then
        DoCmd.OpenQuery "Insert_Query"
    End If
End If

但即使选中了复选框,它也不起作用。它不会抛出错误,它只是跳过函数。

标签: vbaformsms-accesscontrols

解决方案


复选框不存储空值,它们存储布尔值(-1 和 0)。因此,如果您将逻辑从If Not IsNull(ctl) ThenTo更改,If ctl = True Then它应该可以工作。

这也在这里得到解决。

为了在信用到期时给予信用,@BankBuilder 在我之前确实提到了这一点。

希望有帮助。此致。


推荐阅读