想定外の動作が起きる例
それぞれ『ダミークエリのSQL差替』と『ダミークエリ表示』を行っている。
'ボタン1クリック動作
Private Sub btn_1_Click()
CurrentDb.QueryDefs("q_dummy").SQL = "SELECT [苗字] FROM t_1 "
DoCmd.OpenQuery "q_dummy", acViewNormal, acReadOnly
End Sub
'ボタン2クリック動作
Private Sub btn_2_Click()
CurrentDb.QueryDefs("q_dummy").SQL = "SELECT [年齢] FROM t_1 "
DoCmd.OpenQuery "q_dummy", acViewNormal, acReadOnly
End Sub
- AさんとBさんが 同じAccessファイル を開く。
- Aさんがボタン1を押す。
- ほぼ同時にBさんがボタン2を押す。
- Aさん側の結果が下記になってしまう。
Aさんとしては『苗字』を抽出したかったのに、Bさんが行っていた『年齢』抽出の結果になってる…。
タイミングによっては逆(Bさんに表示されるのがAさんの処理結果)が起こる場合もある。
まとめ
複数人で同じAccessファイルを開いた場合、ダミークエリのSQLは共有される。
複数人同時使用禁止をやりたい場合
バージョン
Windows 10 Pro 22H2 19045.3155
Microsoft Access for Microsoft 365 MSO (バージョン 2305 ビルド 16.0.16501.20074) 32 ビット