尝试在VBA中调用子表单

时间:2018-10-31 16:36:49

标签: vba access-vba ms-access-2010

我正在尝试将在表单和子表单中输入的更改保存到单独的表中。主要的表单更改可以完美地工作,但是我似乎无法为子表单编写AfterUpdate事件处理程序。

Private Sub btnEdit_Click()

    If Me.btnEdit.Caption = "Edit Locked" Then
        Me.btnEdit.Caption = "Edit Unlocked"
        Me.txtAsofPSR.Locked = False
        Me.SubFormLaborCost.Locked = False
    Else
        Me.txtAsofPSR.Locked = True
        Me.SubFormLaborCost.Locked = True

    End If

End Sub

Private Sub Form_AfterUpdate()
        DoCmd.SetWarnings False
        DoCmd.OpenQuery "QueryAppendFunding"
        DoCmd.OpenQuery "QueryAppendSubFormFunding"
        DoCmd.SetWarnings True

End Sub

Private Sub Form_Load()
        Me.txtAsofPSR.Locked = True
        Me.SubFormLaborCost.Locked = True
End Sub

Private Sub txtAsofPSR_AfterUpdate()
        DoCmd.SetWarnings False
        DoCmd.OpenQuery "QueryAppendFunding"
        DoCmd.OpenQuery "QueryAppendSubFormFunding"
        DoCmd.SetWarnings True
End Sub

1 个答案:

答案 0 :(得分:0)

如果正确配置了表单和子表单的Record Source属性,则可以直接使用表单上的控件来修改每个表单的数据来源表,而无需运行Append或更新查询以实施更改。

通过这种方式,该表单在您的表上充当用户友好的“窗口”,从而提供对表中数据的修改方式的验证和控制。