在 Access 中运行 VBA 代码

Posted

技术标签:

【中文标题】在 Access 中运行 VBA 代码【英文标题】:Running a VBA code within Access 【发布时间】:2016-07-20 13:16:33 【问题描述】:

我目前在 Access 2013 中工作。如果选择了按钮(是/否字段),我想锁定子表单中的两个字段,这两个字段包括恢复以前的位置和个人参考,是/否字段是 Resume Source Internal。

我的代码:

Private Sub Resume_Source_Internal_Click()
   If [Resume Source Internal].Value = True Then
      [Personal Reference].Enabled = True
      [Resume Previous Location].Enabled = False
   Else
      [Personal Reference].Enabled = True
      [Resume Previous Location].Enabled = False
   End If
End Sub

我遇到的问题是,当我选择按钮(是/否)时,什么也没有发生。我之前以另一种形式运行过这段代码,它运行良好。有什么我可能错过的吗?个人参考和恢复以前的位置都是查找字段。

【问题讨论】:

你试过一步步编译吗?停止该子程序并继续前进。 我现在不会尝试。 同意/@TedoG。 - 一步一步调试总是当事情不正常时要做的第一件事。 我想通了,我只是直接通过我的子表单编写代码,为内部恢复源设置事件过程。 如果您自己想通了,请关闭/删除此问题,因为它实际上并没有广泛的基于用户的需求。 【参考方案1】:

试试这个:

Private Sub Resume_Source_Internal_Click()
   If [Resume Source Internal].Value = True Then
      [Personal Reference].Enabled = True
      [Resume Previous Location].Enabled = False
   Else
      [Personal Reference].Enabled = False
      [Resume Previous Location].Enabled = True
   End If
End Sub

请注意,在Else 中,我切换了FalseTrue 的值。正如您所写,您在If...Else 的两侧设置完全相同的值

【讨论】:

【参考方案2】:

此代码对您有用吗 - 在属性表中将字段设置为启用和禁用。

当您单击按钮时,启用的属性将从 True 切换为 False,反之亦然。

Private Sub Resume_Source_Internal_Click()

    Me.Personal_Reference.Enabled = Not Me.Personal_Reference.Enabled
    Me.Resume_Previous_Location.Enabled = Not Me.Resume_Previous_Location.Enabled

End Sub

【讨论】:

以上是关于在 Access 中运行 VBA 代码的主要内容,如果未能解决你的问题,请参考以下文章

在文件夹中的所有 Access 文件中运行 Access VBA

使用 Access 2007 查询向导创建 SQL,仍然无法在 VBA 中运行

在没有运行 VBA 代码的情况下打开 Access Db

通过 VBA 在 Access 2007 中运行以相同单词开头的多个查询

Access 新手如何运行没有 Sub 的 VBA 代码?

Microsoft Access 不会处理 vba