2016-01-13 120 views
0

需要禁用/锁定两个按钮...我有一个窗体有一个子窗体,该窗体又有另一个子窗体...我有两个按钮在第三个子窗体中,我需要禁用/锁定...取决于第二个子窗体的oncurrent()中的条件,第三个子窗体被锁定(.subform3.locked = true)。第三个子窗体中的所有内容都被锁定(txtboxes,comboboxes)按钮我已经添加需要锁定/禁用访问按钮

我试图把这个代码正下方,其中第三子窗体被锁定代码:
.subform.locked =真

表格[subform2] [subform3] .FORM!! [buttonname] .visible = false

但是,这并没有subform3的onload工作 也试过运行,如果条件检查,如果subform3被锁定,如果真让button.visible =假..this没有工作或者

请建议......我知道它很容易,但似乎不明白哪里会出错。 访问非常新。 欣赏帮助。

+0

尝试'enabled = false'而不是'locked'。 – vacip

+0

嗨vacip ...已经试过了...不工作..我希望我上面提到的代码是正确的 –

+0

那么,你可以尝试分别禁用这两个按钮... – vacip

回答

0

我找到这个网站的最好参考: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 

要使用相同的代码把enabled属性和关闭,您可以使用:

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是我给窗体上的控件的名称。

+0

没有按钮的锁定属性。 'Enabled = False'会将按钮变灰并使其无法操作。自己锁定子表单不会锁定或阻止正在使用的任何控件afaik? – GavinP

+0

我忙于解释如何引用表单,我忽略了它是按钮而不是其他类型的控件。我会更新我的答案。 –

+0

感谢您的帮助......它的工作......您提供的链接也非常有帮助..我用来指代按钮的代码是错误的...感谢您纠正它..cheers –