访问2010表单关闭按钮

时间:2012-08-01 18:15:28

标签: ms-access button ms-access-2010

我想知道是否有办法知道是否点击了Windows表单按钮。我知道CloseButton属性,但似乎你只能启用或禁用它。当用户浏览我的应用程序时,我会关闭表单,但只有在按下窗口关闭按钮时才想关闭数据库。所以我需要close事件来区分我通过编程关闭它或用户关闭通过Windows按钮。我可以使用布尔检查,但想知道是否有更优雅的方式。

此外,如果有一种方法可以完全删除按钮,而不仅仅是让它看起来很丑陋,这将是惊人的,但我读到这可能是不明智的,因为这是一个Windows设置。

2 个答案:

答案 0 :(得分:1)

以下是表单的代码模块,其中包含一个名为cmdClose的命令按钮。除cmdClose点击事件外,无法关闭表单。即使尝试关闭Access本身也不允许表单关闭...并将中止Access关闭。

Option Compare Database
Option Explicit

Private Sub cmdClose_Click()
    AllowClose "close"
    DoCmd.Close acForm, Me.Name
End Sub

Private Sub Form_Unload(Cancel As Integer)
    If AllowClose = False Then
        Cancel = True
        MsgBox "close aborted"
    End If
End Sub

Private Function AllowClose(Optional ByVal pClose As String) As Boolean
    Static blnClosedFromCode As Boolean
    If pClose = "close" Then
        blnClosedFromCode = True
    End If
    AllowClose = blnClosedFromCode
End Function

答案 1 :(得分:0)

简而言之,我不认为他们是一种方式,但HansUp提供的代码是一种解决方法。我禁用了顶部的关闭按钮以确保保存数据。