从后台和任务栏隐藏MS Access

问题描述 投票:0回答:2

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

vba ms-access
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键到达Access图标(它应该神奇地显示)。没有什么事情再次发生,因为它是隐藏的,但现在可以用ALT + F4关闭它,如果它仍然有焦点,从而阻止你重新启动你的计算机......


0
投票

在Access 2003中,一个简单的方法似乎使表单1.弹出2. border style none 3.在表单加载事件运行最大化命令

Private Sub Form_Load()
   DoCmd.Maximize
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.