Accessファイルの二重起動防止。

cf.1 Accessファイルの二重起動防止:その2。
    ※テーブル・フォームを使わずに、VBAで解決します。

1.テーブルを作ります。
    名前:T_Check
  フィールド:Chk(Yes/No型  規定値:False)

2.上のテーブルをレコードソースとしたフォームを作ります。

  ※レコードソースにするだけで、フィールドの値を表示するコントロールは不要です。
このフォームの

' 開く時イベントプロシージャ
	If DLookUp("Chk","T_Check") Then
	  MsgBox "このAccessファイルは既に起動されています。" & vbCrLf & _
		      "2重起動が禁止されていますので開くことができません。"
	  Cancel = True
	  DoCmd.Quit
	 End If
' 読み込み時イベントプロシージャ
  	Me!Chk = True
	DoCmd.RunCommand acCmdSaveRecord
' 読み込み解除時イベントプロシージャ
	Me!Chk = False

3.AutoExec マクロを作ります。
    アクション:フォームを開く
    フォーム名:2で作ったフォームの名前
 ウィンドウモード:非表示

cf.2 データベースを開くときにアクションを実行する(AutoExecマクロ):moug
AutoExec マクロの代わりに、このフォームをスタートアップフォームに設定してもOKです。

, , , ,

  1. コメントする

コメントを残す