在编辑另一个子表单中的数据时禁用子表单

问题描述 投票:0回答:1

我有两个子窗体,第一个是列表,第二个是在第一个子窗体中选择的记录的详细记录。

当我在详细信息子表单中选择编辑按钮时,我想锁定列表表单。

我尝试过:forms!master!subformList.enabled=false

注意:

  • _D是详细的子窗体。
  • _L是列表子表单。
  • cmb_Edit是位于详细信息子窗体上的编辑/保存按钮。
Private Sub EnableFutureForm(EF)
    Select Case EF
        Case 1                  'SubForm Detail is Locked Down
            FuturePaint (False)
            Forms!FrmFutureWork!FrmFutureWork_D!cmb_Edit.Caption = "Edit"
            Forms!FrmFutureWork!FrmFutureWork_L.Form.Enabled = True

        Case 2                  'SubForm Detail is Opened up
            FuturePaint (True)
            Forms!FrmFutureWork!FrmFutureWork_D!cmb_Edit.Caption = "Save"
            Forms!FrmFutureWork!FrmFutureWork_L.Form.Enabled = False
            Forms!FrmFutureWork!FrmFutureWork_D!cmb_TRMM.SetFocus
    End Select
End Sub

我希望列表子表单在Form_Click继续工作时不响应任何单击。

access-vba
1个回答
0
投票

您可以通过设置表格属性来禁用事件。对于Form_Click,它是Form.OnClick属性。

'disable event
Forms!FrmFutureWork!FrmFutureWork_L.Form.OnClick = vbNullString
'enable event
Forms!FrmFutureWork!FrmFutureWork_L.Form.OnClick = "[Event Procedure]"

或者您可以将支票添加到事件代码:

Private Sub Form_Click()
If Forms!FrmFutureWork!FrmFutureWork_L.Enabled then
' Actions on subform-control (not the form!) enabled
Else
' Action on subform-control disabled 
End IF
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.