我需要禁用/锁定两个按钮。我有一个具有子表单的表单,而该子表单又具有另一个子表单。第三个子表单中的两个按钮,我需要根据第二个子表单的OnCurrent()
中的条件禁用/锁定。第三个子表单已锁定subform3.locked=true
。除了我添加的两个按钮之外,第三个子窗体中的所有内容都被锁定(txtboxes,comboboxes)。
我试图将此代码放在第三个子窗体锁定的代码正下方:
.subform.locked=true
Forms![subform2]![subform3].Form![buttonname].visible=false
但这没效果。
此外,在subform3的OnLoad
中尝试运行if条件来检查subform3是否被锁定,如果是,则make button.visible=false
。这也没有用。
非常新的访问权限。 感谢帮助。
答案 0 :(得分:1)
我发现此网站是最佳参考:http://access.mvps.org/access/forms/frm0031.htm
如果您的代码是主要形式,那么:
Private Sub btnOnMainForm_Click()
Me.btnToDisableOnMainForm.Enabled = False
Me.SubForm1.Form.btnToDisableOnSubForm1.Enabled = False
Me.SubForm1.Form.SubForm2.Form.btnToDisableOnSubForm2.Enabled = False
End Sub
如果它在第一个子表单中,那么:
Private Sub btnOnSubForm1_Click()
Me.btnToDisableOnSubForm1.Enabled = False
Me.Parent.btnToDisableOnMainForm.Enabled = False
Me.SubForm2.Form.btnToDisableOnSubForm2.Enabled = False
End Sub
如果它在第二个子表单中,那么:
Private Sub btnOnSubForm2_Click()
Me.Parent.Parent.btnToDisableOnMainForm.Enabled = False
Me.Parent.btnToDisableOnSubForm1.Enabled = False
Me.btnToDisableOnSubForm2.Enabled = False
End Sub
如果表格上没有:
Sub LockControlsFromNormalModule()
Forms.MainForm.btnToDisableOnMainForm.Enabled = False
Forms.MainForm.SubForm1.Form.btnToDisableOnSubForm1.Enabled = False
Forms.MainForm.SubForm1.Form.SubForm2.Form.btnToDisableOnSubForm2.Enabled = False
End Sub
要使用相同的代码打开和关闭启用的属性:
Private Sub btnOnMainForm_Click()
With Me
With .btnToDisableOnMainForm
.Enabled = Not .Enabled
End With
With .SubForm1.Form
With .btnToDisableOnSubForm1
.Enabled = Not .Enabled
End With
With .SubForm2.Form.btnToDisableOnSubForm2
.Enabled = Not .Enabled
End With
End With
End With
End Sub
使用WITH
命令与写入相同:
Private Sub btnOnMainForm_Click()
Me.btnToDisableOnMainForm.Enabled = Not Me.btnToDisableOnMainForm.Enabled
Me.SubForm1.Form.btnToDisableOnSubForm1.Enabled = Not Me.SubForm1.Form.btnToDisableOnSubForm1.Enabled
Me.SubForm1.Form.SubForm2.Form.btnToDisableOnSubForm2.Enabled = Not Me.SubForm1.Form.SubForm2.Form.btnToDisableOnSubForm2.Enabled
End Sub
注意 - MainForm,SubForm1和SubForm2是我保存表单的名称。
txtboxOnMainForm,txtboxOnSubForm1和txtboxOnSubForm2是我给窗体上的控件赋予的名称。