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.フォームの読み込みイベントでmaximizeコマンドを実行します

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