Microsoft Access 掲示板

デフォルトの楽観的排他制御 / 7

9 コメント
views
4 フォロー
7
hatena 2021/05/31 (月) 16:47:21 修正

Accessのオプションに、共有モードやレコードロックの設定があるので、連結フォームでの共有は使えるものでしょう。

MSの公式ドキュメントにも下記の記載があります。

複数のユーザーがネットワーク上で共有しているデータベースを分割する場合は、分割を検討してください。 共有データベースを分割すると、パフォーマンスが向上し、データベース ファイルが破損する可能性が軽減されます。
Access データベースを分割する - Access

この破損する可能性が軽減させるというのがどの程度なのか、は不明確ですので、これをどうとらえるかで結論も変わってくるでしょう。

・4, 5人までの利用 × 同じレコードの同時編集を回避する -> Access が用意している排他制御で OK

自身の経験から、これはOKと思っています。(もちろん定期的なバックアップは取ってますが)

・それ以外 -> ワークテーブルや非連結フォームの実装必須

それ以上の場合は、 連結フォームでどこまでOKかは分かりません。同じレコードの同時編集を回避すればかなりの人数の共有まではOKではないかと予想してます。

同じレコードの同時編集が頻発する運用だと、連結フォームではきついかなという印象です。

ただ、ワークテーブルや非連結フォームで、同時編集までの排他処理を考慮して設計しようとすると、膨大な工数になるでしょう。また、ワークテーブルや非連結フォームを推奨するサイトや書籍があるのは知ってますが、同時編集の排他処理までをきちんと解説しているものは見たことがありません。

そこまでの信頼性を求めるなら、SQL Server などのデータベース サーバー製品と連携させることを検討したほうがいいようにも思います。ただ、一桁台の人数のでの共有はコスト的に見合わないと思います。

この辺は主観的な部分が多分にありますので、あくまで一個人の意見として参考にしてください。

通報 ...