0

我期待在我的项目运行时隐藏它的 Access 背景,以使其具有更专业的外观并使其像独立应用程序一样运行。我正在使用 Access 2003,并且在加载项目时已经打开了一个表单。我想在Private Sub Form_Open(Cancel As Integer)该表单中添加一些代码来隐藏 Access 背景。

4

2 回答 2

1

以下内容适用于旧版本的 Access(在 Access 2003 上测试):

Option Compare Database 
Option Explicit 

Global Const SW_HIDE = 0 
Global Const SW_SHOWNORMAL = 1 
Global Const SW_SHOWMINIMIZED = 2 
Global Const SW_SHOWMAXIMIZED = 3 

Private Declare Function apiShowWindow Lib "user32" _ 
Alias "ShowWindow" (ByVal hWnd As Long, _ 
ByVal nCmdShow As Long) As Long 

Function fSetAccessWindow(nCmdShow As Long) 

    Dim loX As Long 
    Dim loForm As Form 
    On Error Resume Next 
    Set loForm = Screen.ActiveForm 

    If Err <> 0 Then 
        loX = apiShowWindow(hWndAccessApp, nCmdShow) 
        Err.Clear 
    End If 

    If nCmdShow = SW_SHOWMINIMIZED And loForm.Modal = True Then 
        MsgBox "Cannot minimize Access with " _ 
        & (loForm.Caption + " ") _ 
        & "form on screen" 
    ElseIf nCmdShow = SW_HIDE And loForm.PopUp <> True Then 
        MsgBox "Cannot hide Access with " _ 
        & (loForm.Caption + " ") _ 
        & "form on screen" 
    Else 
        loX = apiShowWindow(hWndAccessApp, nCmdShow) 
    End If 
    fSetAccessWindow = (loX <> 0) 
End Function 

只需调用fSetAccessWindow(0)隐藏和fSetAccessWindow(1)显示。或者,使用fSetAccessWindow(2)fSetAccessWindow(3)显示最小化/最大化。你也可以使用Global Const。请注意:访问将从任务栏中隐藏。

如果它不适用于 Access 2010,这里是另一个可以工作的代码:http ://www.tek-tips.com/faqs.cfm?fid=2562

表格必须是模态的,否则将不起作用。如果由于某种原因您搞砸了并且 Access 仍在后台运行但未显示在任务栏或任务管理器中,请再次双击任何 Access 项目(因为 Access 仍在运行,所以不会发生任何事情),然后按 ALT+TAB 键到达访问图标(它应该神奇地出现)。没有任何反应,因为它被隐藏了,但是如果它仍然具有焦点,现在可以使用 ALT+F4 将其关闭,从而阻止您重新启动计算机...

于 2012-10-10T14:54:11.960 回答
0

在 Ms Access 2003 中,一种简单的方法似乎使表单 1. 弹出 2. 边框样式无 3. 在表单加载事件上运行最大化命令

Private Sub Form_Load()
   DoCmd.Maximize
End Sub
于 2017-12-29T21:42:18.030 回答