Ms access 以另一种形式运行过程

Ms access 以另一种形式运行过程,ms-access,vba,Ms Access,Vba,我正在尝试从另一个表单“frmDisclosure”运行表单“frmInvoiceAdd”中的过程。它不是表单/子表单关系。它们是分开的。“frmInvoiceAdd”中的过程是: CmdInvoice on click: Public Sub CmdInvoice_Click() On Error GoTo CmdInvoice_Click_Err On Error Resume Next DoCmd.GoToRecord , "", acNewRec DoCmd.GoToControl "

我正在尝试从另一个表单“frmDisclosure”运行表单“frmInvoiceAdd”中的过程。它不是表单/子表单关系。它们是分开的。“frmInvoiceAdd”中的过程是:

CmdInvoice on click:
Public Sub CmdInvoice_Click()
On Error GoTo CmdInvoice_Click_Err

On Error Resume Next
DoCmd.GoToRecord , "", acNewRec
DoCmd.GoToControl "InvDate"
Me.InvDate = Date
DoCmd.RunCommand acCmdSaveRecord

DoCmd.RunSQL "UPDATE tblInvoices SET tblInvoices.DiscFK = [Forms]!
[frmDisclosure]![DiscPK], " & _
             "tblInvoices.ClientFK = [Forms]![frmDisclosure]![ClientFK], 
tblInvoices.ReceiptFK = [Forms]![frmDisclosure]![ReceiptFK] " & _
             "WHERE (((tblInvoices.InvoicePK)=[Forms]![frmInvoiceAdd]!
[InvoicePK])) "

CmdInvoice_Click_Exit:
Exit Sub

CmdInvoice_Click_Err:
MsgBox Error$
Resume CmdInvoice_Click_Exit

End Sub
我正试图通过以下方式从“frmDisclosure”运行此操作:

DoCmd.OpenForm "frmInvoiceAdd"
Run Forms!frmInvoiceAdd.CmdInvoice_Click
DoCmd.Close acForm, "frmInvoiceAdd"
我收到以下错误消息:

Microsoft Access找不到过程“” 它强调: 快跑!frmInvoiceAdd.CmdInvoice\u单击

我已尝试将“Run”更改为Call,但收到以下错误消息: ! 应为:。或(

我插入 出错时继续下一步 这就解决了问题。

我插入 出错时继续下一步 这就解决了问题。

要从表单模块外部调用表单模块中的公共子模块(或函数),请使用以下语法:

调用表单\u nameofForm.nameofSub()
在本例中:

Call Form_frmInvoiceAdd.CmdInvoice_Click()
要从表单模块外部调用表单模块中的公共子模块(或函数),请使用以下语法:

调用表单\u nameofForm.nameofSub()
在本例中:

Call Form_frmInvoiceAdd.CmdInvoice_Click()

但这是否实际运行了该过程?
调用表单\u frmInvoiceAdd.CmdInvoice\u Click()
应该可以运行。是的,它运行了该过程,但我不喜欢在下一步的错误恢复中使用。我删除了后者,并使用了您的建议,它运行了。谢谢。但这确实运行了该过程吗?
调用表单\frmInvoiceAdd.CmdInvoice\u Click()
应该可以工作。是的,它运行了这个过程,但我不喜欢在下一个错误恢复中使用。我删除了后者,并使用了您的建议,它工作了。谢谢。