谁能告诉我如何在 Access 2007 中的表单上显示全屏,这样就没有工具栏等打开,所以没有人可以篡改任何东西?
干杯,尼克C
有几种方法可以做到这一点。下面列出了我见过的最漂亮的之一。不幸的是,我不记得我是从哪里得到这个代码的,所以我不能给它应得的信用。
将以下代码发布到数据库中的新模块中。
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 DoAccessWindow(nCmdShow As Long)
' This function can minimize Access behind the scenes.
'Usage Examples
'Maximize window:
' ?DoAccessWindow(SW_SHOWMAXIMIZED)
'Minimize window:
' ?DoAccessWindow(SW_SHOWMINIMIZED)
'Hide window:
' ?DoAccessWindow(SW_HIDE)
'Normal window:
' ?DoAccessWindow(SW_SHOWNORMAL)
'
Dim loX As Long
Dim loform As Form
On Error Resume Next
Set loform = Screen.ActiveForm
If Err <> 0 Then 'no Activeform
If nCmdShow = SW_HIDE Then
MsgBox "Cannot hide Access unless a form is on screen"
Else
loX = apiShowWindow(hWndAccessApp, nCmdShow)
Err.Clear
End If
Else
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
End If
DoAccessWindow = (loX <> 0)
End Function
现在您可以使用 DoAccessWindow() 函数来处理 Access 窗口。您可能想尝试使用 hide 选项,因为它完全隐藏了 Access 界面。警告一句,您要显示的任何表单都必须是 Popup 和 Modal 才能可见。
例如,在 Form_Open 事件中,您可以使用代码 DoAccessWindow(0) 隐藏 Access 的界面,然后在 Form_Close 事件中,您将使用 DoAccessWindow(1) 再次显示界面。