2009-07-02 10 views
1

以下のコードは、アクセスアプリBAのクローズルーチンです。実行すると、アクセスアプリケーションが閉じているだけでなく、同じコンピュータ上にC#winformアプリケーションも閉じています。 Accessアプリケーションの名前は、DME Referral、winform appのメインプロセスはタスクマネージャーでMATRIX.exeとなります。私はここに誰かを期待していますので、私はアクセス(VBA)プログラミングにあまりをしない(はい、私はMATRIXをプログラミングしています...ソーシャルワーカーや看護師のグループがあなたのプログラムに名前を付けることができません!)VBAコードは私の別の.Net Winformアプリケーションを閉じますか?

助けられる。

Private Sub cmdClose_Click() 
On Error GoTo Err_cmdClose_Click 

Call ToggleVisible 

DoCmd.Quit 

Exit_cmdClose_Click: 
    Exit Sub 

Err_cmdClose_Click: 
    MsgBox Err.Description 
    Resume Exit_cmdClose_Click 

End Sub 

Private Sub ToggleVisible() 
    Me.txtLastNameCrit.Visible = False 
    Me.txtFirstNameCrit.Visible = False 
    Me.cmdSearch.Visible = False 

    Me.cmbCoor.Visible = False 
    Me.cmdSearchByCoor.Visible = False 

    Me.txtStartDate.Visible = False 
    Me.txtEndDate.Visible = False 
    Me.cmdDMEReport1.Visible = False  
End Sub 
+0

私は今BAからこれを取得しようとしています。 –

+0

ActiveXライブラリに移動します。しかし、コードはありません。 –

+0

Accessのメモリから、DoCmd.Quitは、アプリケーションを終了するビルトインです。 Spy ++を使用してC#アプリケーションのウィンドウを見て誰かがWM_QUITなどを送信しているかどうかを調べることができます。 – AakashM

答えて

2

DoCmd.Quitは、MS Access部分を閉じるだけです。それはかなり標準です。

私は2つの事のうちの1つが起こっていることを喜んでします。
1)フォーカスがC#winformアプリケーションに切り替えられ、閉じる信号があります。この場合、明示的にフォーカスをMS Accessフォームに戻すことができます。 Me.SetFocusでそれを行うことができます。
または
2)C#winform app。 MS Accessを利用して開始されています。親アプリケーションが閉じられると、その子も同様です。この場合、C#winformアプリケーションの変更が必要な場合があります。が開始されます。 MS Accessを手動で閉じると(右上の「X」をクリックしても)、終了しますか?

関連する問題