【问题标题】:Use a button to Enable/Disable a text box in VBA在 VBA 中使用按钮启用/禁用文本框
【发布时间】:2014-06-11 10:43:26
【问题描述】:

我有一个带有名为 Contract_Applying_for 的文本框的表单,它在表单加载时被禁用,但我想要一个允许我编辑文本框内容的按钮。

当我添加一个按钮时,我会看到命令按钮向导,因此我创建了一个名为 ToggleEnableButton 的宏,其中包含以下指令

RunCode Function Name "=ToggleEnableButton()"

那我写了函数

Function ToggleEnableButton()

    If Me.Contract_Applying_for.Enabled = True Then
        Me.Contract_Applying_for.Enabled = False
    Else
        Me.Contract_Applying_for.Enabled = True
    End If
End Function

这似乎会产生错误“成员已存在于该对象模块所派生的对象模块中。”

ToggleEnableButton_Click 的代码由命令按钮向导自动创建,并且是

Private Sub ToggleEnableButton_Click()
On Error GoTo Err_ToggleEnableButton_Click

    Dim stDocName As String

    stDocName = "ToggleEnableMacro"
    DoCmd.RunMacro stDocName

Exit_ToggleEnableButton_Click:
    Exit Sub

Err_ToggleEnableButton_Click:
    MsgBox Err.Description
    Resume Exit_ToggleEnableButton_Click

End Sub

任何关于我做错了什么或解决此问题的更好方法的建议。

我正在尝试做一件非常简单的事情,但方法相当冗长。

根据 Peekay 在 cmets 中的建议,我尝试使用复选框代替,我写道

Private Sub chbToggleEdit_Click()
If Me.chbToggleEdit.Value = False Then
    Me.Contract_Applying_for.Enabled = False
Else
    Me.Contract_Applying_for.Enabled = True
End If
End Sub

这会给出错误:“Microsoft Access 与 OLE 服务器或 ActiveX 控件通信时出现问题。”

【问题讨论】:

  • ToggleEnableButton 正确,但需要您的整个代码来说明问题所在
  • 使用复选框可能更容易做到这一点。您需要一些东西来存储“切换”按钮的值。不确定命令按钮是否存储值。一个复选框可以。
  • 我刚刚尝试使用复选框,我会将代码添加到我的问题中..
  • 感谢您的帮助,我编写的复选框代码在我的数据库的早期版本中工作,所以我想我已经做了一些事情来破坏/破坏数据库,所以我要回去到有效的旧版本,并且将从那里开始工作......祝我好运。

标签: ms-access button vba ms-access-2010


【解决方案1】:

你能不能简单地拥有:

Private Sub ToggleEnableButton_Click()
On Error GoTo Err_ToggleEnableButton_Click

ToggleEnableButton()


Exit_ToggleEnableButton_Click:
Exit Sub

Err_ToggleEnableButton_Click:
MsgBox Err.Description
Resume Exit_ToggleEnableButton_Click

End Sub

您可以使用表单后面的代码声明您的函数。

让我知道这是否有效,

【讨论】:

  • 我试过了,但一直收到“Microsoft Access 与 OLE 服务器或 ActiveX 控件通信时出现问题。”
  • 这听起来像是您的按钮而不是代码的问题。您是否可以在不使用向导的情况下删除按钮并重新添加?
猜你喜欢
  • 2015-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-04
  • 1970-01-01
  • 1970-01-01
  • 2022-07-08
  • 1970-01-01
相关资源
最近更新 更多