条件可见性的VBA代码

时间:2016-02-15 10:12:13

标签: vba ms-access access-vba

我目前正在使用MS Access 2013中的表单,并且有一个按钮可以在两种数据模式之间切换:只读和编辑。我有一个标签说"编辑模式"我试图只在数据模式为编辑时显示它。考虑到这一点,以及我作为一个整体编码/编程非常新的事实,这里是按钮背后的代码:

If Me.AllowEdits = True Then
    DoCmd.close acForm, "frmStudents"
    DoCmd.OpenForm "frmStudents", acNormal, "", "", acReadOnly, acNormal
    Me.txtBox.Visible = False

ElseIf Me.AllowEdits = False Then
    DoCmd.close acForm, "frmStudents"
    DoCmd.OpenForm "frmStudents", acNormal, "", "", acFormEdit, acNormal
    Me.txtBox.Visible = True

End If

当我使用按钮时,我不断收到错误信息说该对象已关闭或不存在。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您的代码以您关闭的相同形式运行,然后重新打开?如果是这样的话:

1)表格的实例将会关闭, 2)您打开表单的第二个实例, 3)最后一个语句(Me.Textbox.visible = true)在关闭的表单实例中运行,并且该错误会引发错误。

顺便说一句,您的代码没有实际效果:您可以只用一行代码隐藏或显示文本框:

   Me.TextBox.visible = not Me.Allowedits 

希望这有帮助