Microsoft Access 掲示板

共有ロック制限のエラーがでます。

5 コメント
views
4 フォロー

宜しくお願い致します。
アクセス2016を使用しています。
実行時エラー '3052'
ファイルの共有ロック数が制限を超えています。(エラー 3052)。レジストリ エントリ MaxLocksPerFile の値を増やしてください。
のエラーがでましたので、レジストリエディタで値を増やそうと、
*\Office\16.0\Access Connectivity Engine\Engines\Jet 4.0
を探しましたが「\Office\16.0\」以降が見つかりません。
もう一台のノートパソコンではエラーが起きません。
エラーが起きるデスクトップは古いのでそれが原因かと思い、少し高スペックのデスクトップに買い換えましたが駄目でした。
処理の内容は前行と現在行のデータを足したデータを現在行の別のフィールドに入力するループ処理です。
7800行から9600行あたりでエラーが起きます。
データは現在7万行ですが随時増えます。
なんとか回避する方法はないでしょうか、

ひよこ
作成: 2023/09/30 (土) 08:56:22
通報 ...
1
ひよこ 2023/09/30 (土) 09:17:02 87d27@339f3

スタンドアロンで使用していますので不要な制限はできるだけ除きたいです。

2
ひよこ 2023/09/30 (土) 09:20:06 87d27@339f3

エラーは「.Edit」ででます。

3
hatena 2023/09/30 (土) 12:02:33 修正

レジストリを変更するのはPCを変えたりしたときとか、その都度設定するしなければないらないので、
共有ロック数の制限を超える前にコミットするよう処理を追加すればいいでしょう。

ファイルの共有ロック数が制限を超えています (Error 3052)レジストリエントリMaxLockPerFileの値を増やして下さい。(#-2147217887) - Excel と Access を連携する方法
とか、
Access 実行時エラー 3052 ”ファイルの共有ロック数が制限を超えています” ”解決方法 | ちびrobo
をご参考に。

私の下記でも同様の処理を追加しています。

グループ毎連番を自動入力する関数 - hatena chips

4
ひよこ 2023/09/30 (土) 15:27:54 87d27@339f3

ありがとうございます。
しかし、Hatenaさんは本当にすごいですね。
以前も問題解決していただきましたが、恐れ入ります。
これから試してみます。結果は後日報告します。

5
ひよこ 2023/10/01 (日) 04:56:34 87d27@339f3

完全に解決しました。
私のレベルでは途方に暮れて、またパソコンを買うところでした。
ありがとうございました。