0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Access内にダミークエリがあると複数人同時使用で想定外の動作になる

Last updated at Posted at 2023-06-30

想定外の動作が起きる例

下記のようなテーブルとダミークエリがある。
image.png

フォーム上にボタンが二つあり…
image.png

それぞれ『ダミークエリの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
  1. AさんとBさんが 同じAccessファイル を開く。
  2. Aさんがボタン1を押す。
  3. ほぼ同時にBさんがボタン2を押す。
  4. Aさん側の結果が下記になってしまう。
    image.png
    Aさんとしては『苗字』を抽出したかったのに、Bさんが行っていた『年齢』抽出の結果になってる…。
    タイミングによっては逆(Bさんに表示されるのがAさんの処理結果)が起こる場合もある。

まとめ

複数人で同じAccessファイルを開いた場合、ダミークエリのSQLは共有される。

↓ こんな感じ。
image.png

複数人同時使用禁止をやりたい場合

バージョン

Windows 10 Pro 22H2 19045.3155
Microsoft Access for Microsoft 365 MSO (バージョン 2305 ビルド 16.0.16501.20074) 32 ビット

0
0
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?