正确地将焦点设置回活动表格

时间:2011-03-29 10:03:05

标签: ms-access access-vba

我有一个带有重叠标签的访问应用,并且在应用程序打开的整个过程中,主表单/交换机保持“开放”状态。我认为这是正确的方法论。

考虑到这一点,我使用以下代码发送“你确定的消息吗?”对于用户,如果他们试图关闭数据库而不使用显示的正确控件。

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。

我遇到的问题是,如果用户已导航到另一个表单,那么它基本上位于交换机顶部并具有焦点,如果用户尝试关闭数据库并取消操作,我不知道如何将焦点恢复到活动形式。

似乎/活动的表单位于顶部,但无法访问,并且无法使用所有控件。 就好像我看到的那样位于桩底的配电盘,即使你看不到它也有焦点。

所以我要问的问题是如何重新激活或将焦点设置在最重要的表格上。

希望有道理!在此之前,请感谢任何能够让我了解我需要做些什么来完成这项工作的人。

干杯 诺尔

解决: 交换机/家庭表单属性设置为模态,即使它没有焦点,或者无法看到,它似乎导致问题。将表单属性上的模态设置为否,它解决了问题。

1 个答案:

答案 0 :(得分:1)

以下代码应该可以解决问题。我过去使用它没有问题

表格!frmYourForm.SetFocus