【发布时间】: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