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