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 データベースまたはプロジェクトで、同一セッション中にフォームを何度も繰り返し開いたり閉じたりすると、システムの反応が遅くなり、次のエラー メッセージが表示されることがあります。
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(アクセス)でデータベースを作成
アクセス解析のキーワードに、数件ですが「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 のオンライン ヘルプの「メモリ、トラブルシューティング」を参照してください。
<原因> 不要なアプリケーションを終了し、再度実行してください。
・メモリを解放する方法については、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
http://weba03.blog96.fc2.com/tb.php/193-8b80ecbc
この記事にトラックバックする(FC2ブログユーザー)
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック

