我有一个MS Access表单,显示网格中的记录列表。每行都有详细信息按钮。
点击它后,会打开一个新表单,其中包含该特定选定行的详细信息。
点击详细信息表单的关闭按钮后,将值保存到数据库。
现在,点击关闭,我希望执行主表单的表单加载。这是因为我需要在以详细形式进行更新后刷新某些值
我尝试过这样的事情:
Call Forms!frm_Package!Form_Load
请建议如何完成此操作。我尝试了各种各样的方法,但无法使其发挥作用。
如果需要任何进一步的信息,请告诉我。
答案 0 :(得分:1)
您无法“re-call
”加载的原因是因为它是Private Sub
,并且只有当您在表单内时才能访问该方法。
攻击“ 外部过程调用 ”的一种方法是将Form Load中的代码移动到Public Sub(使用相同的Form),然后再调用从表单外部创建Sub。像,
Private Sub Form_Load()
MsgBox "Hello World"
End Sub
以强>
Private Sub Form_Load()
newPubMethod
End Sub
Public Sub newPubMethod()
MsgBox "Hello World"
End Sub
现在,您可以使用正确的量词从Form外部调用此Public Sub newPubMethod。
Private Sub exitButtonName_Click()
Forms("CallingFormName").newPubMethod
End Sub
答案 1 :(得分:0)
我使用此代码来执行此类操作。当我打开一个弹出窗体时隐藏主窗体...我做我的工作,然后我回到主窗体。
Private Sub Form_Open(Cancel As Integer)
If gIsLoaded("mainForm") Then Form_mainForm.Visible = False
End Sub
Private Sub Form_Close()
' -- here you will put the code you need!!!
If gIsLoaded("mainForm") Then Form_mainForm.Visible = True
End Sub
Function gIsLoaded(strName As String, Optional _
lngtype As AcObjectType = acForm) As Boolean
gIsLoaded = (SysCmd(acSysCmdGetObjectState, _
lngtype, strName) <> 0)
End Function