Option Compare Database
Option Explicit
Public frmPrevious as Form
Private Sub Form_Load()
Set frmPrevious = Screen.ActiveForm
End Sub
Private Sub SvExitBtn_Click()
If frmPrevious.Name = "LocationFrm" Then
.......
DoCmd.Close acForm, "AddressEntry", acSaveYes
Else
.......
DoCmd.Close acForm, "AddressEntry", acSaveYes
End If
End Sub
所以我在Load事件上使用Screen.ActiveForm
,这样我就可以将Access设置为变量frmPrevious
。通过这种方式,我可以检测用户从导航的哪些表单,并运行特定的代码块来解释该问题。
基本上发生的事情是用户从预定义列表中搜索地址。如果他们无法从这些搜索结果中找到它,他们会打开一个新表单AddressEntry
并键入新地址。完成后,点击应保存记录的SvExitBtn
,然后只关闭 表单。
不幸的是,该按钮也关闭了设置为frmPrevious
的表单。我假设这是因为DoCmd.Close
关闭了活动窗口,但这就是我设置其他参数的原因。所以我不明白为什么这不起作用?
答案 0 :(得分:0)
不要做任何这些。当用户打开表单AddressEntry时,将其以dialog
模式打开。当它关闭时,您将返回到起始形式。完成。