我有一个带有重叠标签的访问应用,并且在应用程序打开的整个过程中,主表单/交换机保持“开放”状态。我认为这是正确的方法论。
考虑到这一点,我使用以下代码发送“你确定的消息吗?”对于用户,如果他们试图关闭数据库而不使用显示的正确控件。
Private Sub Form_Unload(Cancel As Integer)
If Me.chkCloseDB = False Then
If MsgBox("Are you sure you want to close the database", vbYesNo, dbNameOf) <> vbYes Then _
Cancel = True
End If
End Sub
如果用户按下“关闭数据库”按钮,则Me.chkCloseDB将设置为true。
我遇到的问题是,如果用户已导航到另一个表单,那么它基本上位于交换机顶部并具有焦点,如果用户尝试关闭数据库并取消操作,我不知道如何将焦点恢复到活动形式。
似乎/活动的表单位于顶部,但无法访问,并且无法使用所有控件。 就好像我看到的那样位于桩底的配电盘,即使你看不到它也有焦点。
所以我要问的问题是如何重新激活或将焦点设置在最重要的表格上。
希望有道理!在此之前,请感谢任何能够让我了解我需要做些什么来完成这项工作的人。
干杯 诺尔
解决: 交换机/家庭表单属性设置为模态,即使它没有焦点,或者无法看到,它似乎导致问题。将表单属性上的模态设置为否,它解决了问题。
答案 0 :(得分:1)
以下代码应该可以解决问题。我过去使用它没有问题
表格!frmYourForm.SetFocus