MS Access最小化主数据库窗口,打开模态弹出窗体

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

启动* .accdb时,将打开并最大化模式弹出窗体。当窗体最小化时,可以在后台看到主DB窗口:

enter image description here

当模式弹出窗体最小化时,是否可以最小化主DB窗口,以便它根本不显示主DB窗口。

我试过下面的代码。但是,它会抛出错误“无法最小化屏幕上的XXX表单访问”。

有人可以帮忙吗?

更新:如果我将表单设置为模态:否,它可以正常工作。主DB窗口最小化到任务栏。但是,如果我单击任务栏中的图标,它将再次打开弹出窗体,并在后台显示主数据库窗口。是否可以最小化主数据库窗口到通知区域?

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

这是On Load事件。

Private Sub Form_Load()
    Call fSetAccessWindow(SW_SHOWMINIMIZED)
End Sub
ms-access minimize ms-access-2016
1个回答
0
投票

在加载事件中使用它

Private Sub Form_Load()
    Call fSetAccessWindow(2)
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.