Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1680 / 9994 ←次へ | 前へ→

【11605】Re:MDBの分離 と レコード操作
発言  247b  - 10/4/12(月) 23:07 -

引用なし
パスワード
   こんばんわ。

>>Q3
>>最新状態を表示するシステム上の必要性がある場合は、上記のようなフォームのプロパティで更新をコントロールしたほうが良いと思います。
>
>についてなんですが
>Set RS = DB.OpenRecordset(strSql, dbOpenSnapshot)
>Set RS = DB.OpenRecordset(strSql, dbOpenDynaset)
>どちらも
>forms("メインフォーム").Controls("サブフォーム").requery
>で、更新データを表示することは出来ました
>これを
>タイマー等で動作させる
>という理解でよろしいでしょうか

タイマー、もしくはイベントでリクエリするのでよいと思います。
リクエリのタイミングや必要性は業務用件に関わってくるため、こちらからはなんとも言えませんが。


排他チェックについてですが、
 MDBファイルレベルの排他と
 ページレベルの排他
が考えられます。

的外れだったらすみません。

MDBファイルレベルの排他は、OpenDatabaseメソッドでMDBをオープンする際の引数optionsに
Trueを設定することで行います。この場合、他のユーザーがDBオープンしようとするとエラーとなるそうです。詳しくはOpendatabaseメソッドのヘルプを参照してください。
上記の方式でDBをオープンするようにしてからもう一度試してみてください。

ページレベルの排他は、必ず1行がロックされるわけではないので使用は控えた方が良いようです。
1行単位にロックをかけたい場合は、テーブルにロックのためにカラムを設け、たとえば
0だったらロックされていない、1だったらロックされているという仕様にします。
その上で、各APP.DBがデータにアクセスするとき、対照のデータのロックステータスを確認し、
1だったら待機、0だったら1に更新して、処理終了後0に戻す
などが考えられます。
1、0をユーザーID、NULLに置き換えることも設計上は可能です。プログラムが増えることと、チェックロジックのために処理が若干遅くなる事が考えられます。

3,390 hits

【11601】MDBの分離 と レコード操作 pon 10/4/9(金) 15:26 質問[未読]
【11602】Re:MDBの分離 と レコード操作 pon 10/4/9(金) 15:40 発言[未読]
【11603】Re:MDBの分離 と レコード操作 247b 10/4/12(月) 10:16 発言[未読]
【11604】Re:MDBの分離 と レコード操作 pon 10/4/12(月) 18:16 質問[未読]
【11605】Re:MDBの分離 と レコード操作 247b 10/4/12(月) 23:07 発言[未読]
【11606】Re:MDBの分離 と レコード操作 pon 10/4/14(水) 18:37 質問[未読]
【11607】Re:MDBの分離 と レコード操作 247b 10/4/14(水) 19:26 発言[未読]
【11608】Re:MDBの分離 と レコード操作 pon 10/4/15(木) 14:27 発言[未読]
【11609】Re:MDBの分離 と レコード操作 247b 10/4/15(木) 17:10 発言[未読]
【11627】Re:MDBの分離 と レコード操作 pon 10/4/21(水) 18:27 質問[未読]
【11628】Re:MDBの分離 と レコード操作 247b 10/4/22(木) 4:44 発言[未読]
【11631】Re:MDBの分離 と レコード操作 pon 10/4/22(木) 16:13 発言[未読]
【11638】Re:MDBの分離 と レコード操作 247b 10/4/23(金) 20:18 発言[未読]
【11632】Re:MDBの分離 と レコード操作 pon 10/4/22(木) 16:13 発言[未読]

1680 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078193
(SS)C-BOARD v3.8 is Free