Microsoft Access 掲示板

For文のループがエラーになる

2 コメント
views
4 フォロー

お世話になります。

For文のループ内にDoCmd.GoToRecord , , acNextを入れています。
ループの回数はForms("フォーム1").RecordsetClone.RecordCountで最大値を設定しています。

この最大値が多いとき、DoCmd.GoToRecord , , acNextがエラーとなってしまいます。
ループ回数を少なくすると、エラーが出ないのですが、なぜこのようなことがおこるのかさっぱりわかりません。
ループ回数が20回だとエラーにならず、59回だとエラーになります。
メモリ不足等の問題でしょうか?

どなたかご教授いただければ幸いです。

nanana
作成: 2024/04/30 (火) 16:10:46
通報 ...
1

For文のループ内にDoCmd.GoToRecord , , acNextをいれるというようなことはしたことがないので原因は分かりませんが、
たぶん、もっと効率的かつ高速かつ安全な方法があると思います。

具体的にどのようなことをしたいのか説明されたら、具体的なアドバイスでつきそうです。

表示されている全レコードを更新したいとかなら、更新クエリで更新するとか、フォームのRecordsetプロパティを使って更新するとか、いろいろな方法があります。

2
ssassakki 2024/05/09 (木) 10:32:19 27741@c61b7

Docmdは非同期処理なので、前のレコード移動が終わる前に次のレコード移動でエラーになっている可能性があるのでは?