ACCESS フォームが開いているか確認して開いていたら閉じる

フォームが開いているか確認して、開いている場合はフォームを閉じるVBAのサンプルコードです。

“フォーム名”のところに閉じたいフォームの名前を指定します。

If SysCmd(acSysCmdGetObjectState, acForm, "フォーム名") <> 0 Then
        DoCmd.Close acForm, "フォーム名"
End If

 

SysCmd の第一引数に acSysCmdGetObjectState 、第二引数に acForm、第三引数に対象となるフォームの名前を渡して戻り値が 0 以外の場合に閉じる処理を実行しています。

 

0以外の SysCmd acSysCmdGetObjectState の戻り値はそれぞれ以下のようになっています。

定数データベース オブジェクトの状態
acObjStateOpen開いている1
acObjStateDirty変更後保存されていない2
acObjStateNew新規で開いた状態4

タイトルとURLをコピーしました