Microsoft ACCESS プログラミング

【ACCESS】DBを開く時の「メモリ不足です。」エラー原因と4つの対処法とは

Microsoft ACCESS 2013の利用している際に、データベースを開くときに「メモリ不足です。」

のエラーが出て、全件数が表示がされないことや、または全テーブルに「?Name」という表示が出て、データが全く見られないことがあります。

悩むサラリーマン1

ACCESSのデータベースを開く時に出る

  • メモリー不足です。」のエラー表示
  • 項目データが全て「?Name」

何のエラーなの?

 

こんなエラーが起こった場合の原因と対処法を解決していこうと思います。

 

メモリ不足のエラー表示

メモリー不足のエラーメッセージの表示は、下記のような事例があります。

メモリ不足のメッセージの表示もしくは、何度も開いたり、閉じたりしていると、項目に「?Name」という表示が出て、データが一切見られなくなります。

 

この場合、メモリ不足と聞くと、

🔎 原因の可能性 
  • メモリがない
  • PCのスペックが低い

 

等のように、物理的な問題と思われがちですが、これは間違えていますので、覚えておきましょう。

 

メモリ不足エラーの2つの原因とは

ACCESSのテーブルを開くと、「メモリ不足」のエラーが表示されます。

 

 

この場合のエラーには、主に2つの原因が考えられます。

<メモリ不足エラーの2つの原因>

  • ACCESS自体のファイル容量が重たい
  • ACCESSの1テーブルの容量が重たい

 

この2つがエラーの要因として考えられています。

もう一つの原因として、1つのテーブル自体が重たくてエラーが起こる場合があります。

 

ACCESS自体のファイルの容量が重たい場合

まずファイルそのものの容量が2G以上もしくは、それに近い容量がありませか?

もしそうであればただちに確認してみましょう。

ファイル容量が重たい場合には、このエラーが起こる可能性があります。その場合には、まず各テーブル等の容量の低減を行いましょう。

 

ACCESS内のテーブルの容量が重たい場合

ACCESSはファイルの容量の制限が行われていますが、それ以外にもテーブルごとにもてる容量も制限されているようです。

・この場合にテーブルのデータ容量を削減する必要性があります。

 

1テーブルに持てる目安容量の実証結果

ACCESSのデータテーブルに130項目を持った場合の、「メモリ不足」になった事例を一つご紹介しておきましょう。

下記画面をご覧ください。

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

★【130項目数をもったACCESSのテーブル】

 

<1テーブルで持てるデータ容量の目安>

  • 項目数(列)  :130列
  • レコード数(行):約18000件

 

 

この画面は、130項目でフィールドの項目を設定したテーブルがあります。約18000件のデータレコードまでもつことができましたが、それ以上のレコードを増やして、テーブルを何度も開いたり閉じたりしていると、「メモリ不足」のエラーメッセージが表示されます。

また、ータ容量は、項目数を減らすことで、表示されるレコード数を増やせることがわかりました。

これによって、このメモリ不足のエラーメッセージは、「テーブルの表面積」によって、そのエラーがでること推測できます。

 

それ以上の項目をもつ場合、さらにデータ件数がもてなくなる可能性があるため、注意が必要です。

 

メモリ不足エラーの4つの対処法について

 

そこで、メモリ不足によるエラーの対処法を4つご紹介しておきましょう。

メモリ不足によるエラーの4つの対処法とは
  • データベースの最適化
  • 項目数削減
  • 行数削減
  • 分割したテーブルをクエリ結合

 

1.データベースの最適化

まず一つ目の対処としては、データベースの最適化です。

データベースの最適化は、「ファイルタブ」⇒「最適化」

というボタンがありますので、まずこちらを定期的に押して、ファイルの改善に努めましょう。

ACCESSは非常に壊れやすいソフトですので、定期的なケアが必要不可欠です。

2.項目数の削減

続いて、もう一つが、テーブルの項目数を確認しましょう。

非常に多くの項目をもっている場合には、これが、「メモリ不足」の影響を与えている可能性が高いです。

不要な項目は削除して、容量を軽くしましょう。こうすることで、レコード数もさらに持つことができます。

 

3.行数の削減

また項目数を減らすことができない場合には、行数を減らして調整するようにしましょう。

 

4.分割したテーブルをクエリ結合

これは、どういうことかと言うと、上記の対応を行えない業務もあるかと思います。

またメンテができない状態になっている。こんな場合には、テーブルをあらかじめに2つに分割して、あとから結合する方法です。

これには、それぞれのテーブルに紐づけるための同じキーが必要になります。

 

ちなみに、私は、上記以外にも、

 

<物理的な2つの対処法>

  • PCのメモリ増設
  • PC変更

 

 

メモリー増設とPC変更も試したのですが、解決には至りませんでした。

物理的な問題ではなく、Microsoft ACCESSそのものによって出される問題なので、物理的な対処は全く効果がありませんでした。

なので、ACCESS上で発生したエラーの場合、ACCESS側の問題と認識して、原因を分析することが大切です。

 

利用環境

利用環境は下記になります。

<OS/OFFICEの利用環境について>

  • OS:Windows7
  • Microsoft Office: 2013

 

 

利用環境によってもエラーの現象や原因が異なることがありますので、バージョンが異なる場合は、参考にご利用下さい。

 

Microsoft ACCESSの教材ならこちらがおすすめ!

ACCESSによる開発を行う際には、私も実践現場でも利用しているおすすめの教材ですので、上手に活用しましょう。

 

1.【初級者向け】

 

 

これは、よく書店でも見かける商品ですが、エクセルとのデータ連携において、どこの企業でも利用できる方法なので知っておくとすごく便利でどこでも利用することができます。

またクエリやテーブルの使い方等すごくわかりやすいので、初心者の方には、おすすめの教材です。

 

 

 

まとめ

このように、ACCESS上で表示される「メモリ不足」のエラーの原因は、PC本体やメモリの影響ではありません。

まずここを間違えないようにしましょう。

ACCESS自体やACCESSのテーブル等、ACCESS上で表示されるエラーは基本的にACCESSの問題が多いですので、対処の仕方を考えながら、原因を探ることが大切であるということを覚えておいてくださいね。

 

【ACCESS-VBA】ファイル選択するダイアログボックスを表示してみよう!

合わせて読む
【ACCESS-VBA】ファイル選択するダイアログボックスを表示してみよう!

続きを見る

 

<楽天Web検索の自動クリックツールのご紹介>

楽天Web検索を自動でクリックできる機能を開発しました。これにより、何度も手動で検索しなくても、自動で検索してくれるので、手軽に楽天ポイントをゲットできるVBAによる仕組みです。noteのページにて期間限定価格で100部ご紹介しております。ご興味のある方は下記ページより詳細をご確認下さい。^^

➡noteページはこちら

 

【よく読まれている記事】

赤ちゃんのアトピーに効く乳酸菌サプリ!おすすめベビー乳酸菌の魅力

【かむピタ】累計販売数70,000個を突破した爪噛み防止マニキュア【送料無料】

赤ちゃんのオムツかぶれ・肌荒れが全て解決!おすすめ予防法・対処法

子供がトイレでうんちができるようになるためのおすすめトイトレ法

【2020年度版】ダイエット効果・ウィルス対策に効果絶大!おすすめチャーガ人気ランキング5選

【2020年版】現役SEが教える小学校低学年(1~3年生)向けおすすめプログラミング教室3選

 


➡【月3万稼げる!ブログの始め方】


→当ブログをフォローして頂けると励みになります。 


楽天おすすめ商品はこちら

  • この記事を書いた人
  • 最新記事

みやさん

【サイト運営者・著者】みやさん 【実績】ライター歴7年 ブログ歴3年⇒2万PV推移中 【実務】現役プログラマー|【発信内容】▶副業やブログの始め方 ▶ライターとしてのノウハウ ▶生活の有益情報を発信しています。皆様の生活改善にご利用ください。

Copyright© 副業ケアネット , 2024 All Rights Reserved Powered by AFFINGER5.