次の方法で共有

Access2010 「メモリ不足です」とエラーがでて最適化ができない

Anonymous
2014-09-23T13:01:13+00:00

Access2007で問題なく使えていたaccdbをAccess2010で使用し始めてから、

最適化の際に「メモリ不足です」とエラーがでて最適化できなくなりました。

職場のシステムデータを毎日テキストで取り込み更新するaccdbです。

テキストから取り込む際に、functionをいくつか使い更新クエリで更新しています。

取り込み作業は別のaccdbで行い(そのaccdbも最適化できないので、毎回新たに作成しています)

更新後のテーブルとモジュールを別のaccdbにインポートして200MB程度にしていますが、

最適化できません。

別の700MBのaccdbは、最適化できます。

パソコンのメモリや、容量が不足しているわけではないと思います。

新たにDBを作成しテーブル、モジュールをインポートすると、しばらくは最適化できるのですが、

何回かインポートしているうちに、また「メモリ不足です」で最適化ができなくなります。

2010にアップデートした時から、この症状がでるようになったのですが、

なにか対処方法がありますでしょうか。よろしくお願いします。

Microsoft 365 と Office | アクセス | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

8 件の回答

並べ替え方法: 最も役に立つ
  1. 削除済み

    この回答は当社の行動規範に違反したため削除されました。 アクションを実行する前にこの回答を手動で報告したか、自動検出機能により特定しました。 詳細については、当社の行動規範を参照してください。


    コメントはオフになっています。 詳細情報

  2. Anonymous
    2014-09-30T13:34:22+00:00

    三浦さん、こんばんは。

    ご返信ありがとうございました。返信遅くなってすいません。

    現在は、システムからデータをテキストファイルに書き出して、

    そのテキストファイルを、インポート定義で必要項目を絞り型をつけて1次テーブルにインポートし、

    その1次テーブルより、更新クエリで本テーブルのデータに追加更新をしています。

    更新処理をするときも不安定(インポート定義が消えてしまったり、最適化のときに、テーブルが消えてしまったり)なので、

    別のAccessファイルで行い、共有フォルダには更新した本テーブルと最小限のマスターテーブルのみのファイルを作っています。

    今のところ、テーブルを分割して最適化できるかの検証を行い、

    うまくいけば、テーブルを分割していく方向で考えています。

    ところで、Access2007のときは、上記の更新方法で特に問題なく最適化もできていたのですが、

    Access2010にアップデートしてからこのような現象が起きるようになりました。

    テーブルの内容は同じですし、パソコンのスペックはむしろ良くなっているので、

    Access2010の仕様が変わったのかな。と思っていたのですが、

    それは関係ないのでしょうか。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2014-09-26T06:12:30+00:00

    komatuna さん、こんにちは。

    ご返信ありがとうございます。

    投稿いただいた切り分けの結果を見た限りでは、テーブルに起因しているように見えるので、テーブルの作り直しを行ってみてはいかがでしょう。

    データ数やフィールド数は最大値にはなっていないのですが、過去の投稿などを見たところでは、削除や追加を繰り返し行っていると、最大値に達していない場合でも、思わぬ動作をすることがあるようです。

    テーブルを作り直しても現象が発生する場合は、テキストで取り込む際にどのような方法で、どのような手順で作業を行っているか、もう少し具体的に書いてみてくださいね。

    ご返信をお待ちしています。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  4. Anonymous
    2014-09-24T13:27:56+00:00

    三浦さん、ご返信ありがとうございます。

    以前は閉じるときに最適化するにチェックを入れていましたが、

    メモリ不足のエラーが出て、ちゃんと閉じられなくなったので、チェックを外し、

    現在は手動で行っています。

    手動で行ってもメモリ不足のエラーで最適化はできません。

    ファイルを閉じて開きなおしても同様です。

    新しいファイルにテーブルをインポートしない限り、最適化はできません。

    その新しいファイルも、しばらくすると最適化できなくなります。

    このファイルは、更新したテーブルを共有フォルダにおいて、

    職員の何人かが、ローカルのaccdbにテーブルをインポートして使用しています。

    そのテーブルをインポートしたローカルのaccdbすべてで同じ現象が起きています。

    ですが、そのテーブルを使わない他のファイルでは最適化でメモリ不足のエラーはでません。

    テーブルに問題があるのでしょうか。

    データ数は6万程度ですが、フィールド数が結構あります。

    (すいません。今確認できないので、はっきりした数はわかりませんが、200はないと思います)

    また、そのうち、20個ほどのフィールドはメモ型です。

    なにか対処方法があれば、ご返信よろしくお願いします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  5. Anonymous
    2014-09-24T10:24:30+00:00

    komatuna さん、こんにちは。

    マイクロソフト コミュニティをご利用いただき、ありがとうございます。

    accdb の最適化を行うと「メモリ不足です」とメッセージが表示されるのですね。

    確認なのですが、最適化はどのような方法で行っているでしょうか。

    例) 現在の Access ファイルを最適化している、Access ファイルを閉じる時に自動的に最適化を行っている。VBA で最適化をしている。など

    また、手動で最適化を行った場合にどうなるか、ファイルをいったん閉じて、開きなおしてから最適化が可能かどうか、よければ試してみてください。

    ご返信をお待ちしています。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません