在特定记录上打开表单后设置控件属性

时间:2018-10-17 02:25:32

标签: database vba ms-access access-vba

我是Access的新手,需要帮助。 D: 因此,我在数据表视图中有一个表单,该表单显示查询中所有记录的基本信息。通过在每个记录的末尾按一个文本字段,它将以编辑模式打开另一个包含该特定记录详细信息的表格。

但是在它打开后,我想禁用或隐藏一些字段和控件,包括一个按钮,该按钮会清除表单中的所有字段,以便用户不会意外按下它并清除表单中的所有信息。 我已经尝试过以下代码:

Private Sub Text23_Click()

    DoCmd.OpenForm "FrmEntregas", acNormal, "", "[EntregasID]=" & Nz(CodeContextObject.EntregasID, 0), acEdit, acDialog

    'Forms("FrmEntregas").btnReiniciar.Visible = False
    'Forms!FrmEntregas!btnReiniciar.Visible = False
    'Forms("FrmEntregas").Form.Controls(btnReiniciar).Visible = False

End Sub

第一行效果很好,引用表单的按钮时出现问题。我尝试以三种不同的方式引用该按钮,但是它们都不起作用。它显示以下消息:

“运行时错误2450:Microsoft Access找不到引用的形式'FrmEntregas'。”

如果有人可以指出正确的方向,我将不胜感激!

1 个答案:

答案 0 :(得分:1)

不要在对话框模式下打开,DoCmd之后的代码仅在关闭窗体时起作用。将表单的Modal属性更改为Yes

Private Sub Text23_Click()
    DoCmd.OpenForm "FrmEntregas", acNormal, "", "[EntregasID]=" & Nz(CodeContextObject.EntregasID, 0), acEdit
    Forms("FrmEntregas").btnReiniciar.Visible = False
End Sub