第6回 ACCESS トラブル対処の情報2

ここでは、「 第6回 ACCESS トラブル対処の情報2」 に関する記事を紹介しています。

Sponsored Links

今回は、トラブル対処の情報2  「メモリ不足」エラーについて

アクセス解析のキーワードに、数件ですが「ACCESS メモリ不足エラー」と言うのがあり、そう言えば昔私も困ったなーと思ったまでは良いのですが、どんな原因で、どんな方法で対処したか。。思い出せません。

そこで、このキーワードで調査して、大まかですが分類すると下記のようになるのではと思います。
1)マイクロソフトの不具合
2)jetエンジンのヴァージョン
3)メモリリーク、プログラム(VB)コーディング上の問題


1)マイクロソフトの不具合
(1)Access 2007 でクエリを実行するとエラー メッセージ 「メモリ不足です」 または 「クエリが複雑すぎます」 が表示される。
この問題は、Access 2007 に結合の数が 16 までという制限があることにより発生します。また、WHERE 句に大きく複雑なクエリ条件があると、エラー メッセージ「メモリ不足です」 が表示されることがあります。
http://support.microsoft.com/kb/918814/ja


2)jetエンジンのヴァージョンの問題
(1)Microsoft Access の起動時にエラー「メモリ不足のため作業を完了できません」 が表示される。
Access 97 を使用している場合、Microsoft Jet Database Engine 3.5 の更新版3.51をインストールすると改善できます。
http://support.microsoft.com/kb/161255/ja

Accessのバージョンとjetエンジンバージョンの対応表が記載されていますので、必ず参照して下さい。
Jet 4.0 データベースの動作環境を最適に保つ方法

http://support.microsoft.com/kb/303528/


3)メモリリーク、プログラム(VB)コーディング上の問題
(1)Access2000 フォームの開閉を何度も繰り返すとメモリ不足エラーが発生する。
<現象>
Windows 95 または98 上で実行する Access 2000 データベースまたはプロジェクトで、同一セッション中にフォームを何度も繰り返し開いたり閉じたりすると、システムの反応が遅くなり、次のエラー メッセージが表示されることがあります。
・メモリ不足のため、表示を更新できません。不要なアプリケーションを終了して、再度実行してください。
・ウィンドウを作成できません。システム リソースまたはメモリが不足しています。
不要なアプリケーションを終了し、再度実行してください。
・メモリを解放する方法については、Microsoft Windows のオンライン ヘルプの「メモリ、トラブルシューティング」を参照してください。
<原因>
Windows 95 または 98 上の Access 2000 でフォームを開いて閉じるたびに、フォント用にシステム GDI リソースが使用され、そのまま解放されません。ほとんどの場合、このことには気付きません。ところが、24x7 環境などで長期間データベースを開いたままにし、そのデータベースのフォームを何百回も開いたり閉じたりしていると、最終的にパフォーマンスの問題とメモリ不足エラーが発生することがあります。この現象が発生するまでにフォームを開くことができる回数は、フォームの構造と Windows で他に動作しているプログラムによって異なります。
http://support.microsoft.com/kb/248910/ja

(2)Access 2003 で応答なし、または強制終了する場合がある。
Access 2003、 IME 2003 または、Access 2002、 IME 2002 を使用しているとメモリ リークが発生し、Access が、応答なし、または強制終了する現象。
http://support.microsoft.com/kb/884086/ja

(3)98系のOSで、VBエディタを開くときにメモリ不足エラーになる。
98系のOSはすぐにリソースが無くなりますので注意です。(不要なソフトは全部落として使用する)

(4)VBでファイルを操作するコーディングで、最後にファイルの解放処理記述が抜けている為に、メモリ不足になる。
Rst.Close、 Set Rst = Nothing等を記述しないと、メモリリークを起こす可能性があります。


補足
1)mdbの編集作業での注意事項
mdbは、開発中に頻繁に修正すると肥大化しますので、最適化処理をたまに実施しながら編集しましょう。

2)mdbが、何かの拍子?で壊れることがあります。
なおらない場合には、新規mdbファイルに全てのオブジェクトを移すと、なおる可能性があります。
私などは、この方法で何度も救われています。

98時代は、よくありましたが、XPになってから減ったように思います。
開発環境も、98の時代はマシンの性能やOSの能力が、余りにも貧弱だったのだと思います。

以上

<関連情報>

・第1回の内容は、
ACCESS(アクセス)データベース作成ソフトについて

Accessの能力評価、問題点について記載いたします。
こちらからどうぞ 
http://weba03.blog96.fc2.com/blog-entry-151.html

・第2回の内容は、
マイクロソフト ACCESS(アクセス) 概要
Accessのバージョン、コンポーネンツ、EXCELからの移行、配布形態、拡張性などについて記載いたします。
こちらからどうぞ 
http://weba03.blog96.fc2.com/blog-entry-167.html

・第3回の内容は、
マイクロソフト ACCESS(アクセス)2007の情報

2007の試用版、ランタイム情報、他のバージョンからの移行ついて記載しています。
こちらからどうぞ 
http://weba03.blog96.fc2.com/blog-entry-168.html

・第4回の内容は、ACCESS トラブル対処の情報1
ACCESS2000で壊れてしまったmdbファイルを修復する方法」です。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-190.html

・第5回の内容は、ACCESSを「ファイル共有」で使用する場合の注意事項
ACCESSで「ファイル共有」方法とファイル共有する時の注意事項です。
こちらからどうぞ 
http://weba03.blog96.fc2.com/blog-entry-191.html  

 ・第7回の内容は、ACCESSで Jet 4.0 データベースの動作環境を最適に保つ方法
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-202.html  


第1回 マイクロソフト ACCESS(アクセス)でデータベースを作成

第2回 マイクロソフト ACCESS(アクセス)でデータベースを作成

 
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://weba03.blog96.fc2.com/tb.php/193-8b80ecbc
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック