人に聞けない痔の悩み、これでスッキリ >>

お世話になります。

Accessのマクロのコマンドで
データベースの最適化をしたいのですが、
「マクロまたはVisual Basicコードの実行中に、開いているデータベースを最適化することはできません。」とういうエラーメッセージが出て最適化されません。

マクロの一連の流れの「最後」で、データベースの最適化をしたいと
思っていますが、具体的にどのようにすれば、
データベースの最適化を実行できるのでしょうか?

条件としては、最適化をVBAなどでするのではなく、
 マクロのコマンド:データベースの最適化
でしたいと思っております。

「マクロのコマンド:データベースの最適化」があるので、
必ずできるはずだとおもうのですが、
何卒宜しくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

> 「マクロのコマンド:データベースの最適化」があるので、


> 必ずできるはずだとおもうのですが、

そのコマンドは他の閉じているデータベースファイルを最適化することは可能ですが、
開いている自分自身を最適化することはできません。(エラーメッセージどおりです。)

過去ログでも何度もでてきています。

Access、マクロの最後に最適化を入れられる? | その他MS OfficeのQ&A【OKWave】
http://oshiete.goo.ne.jp/qa/5235314.html

オプションの[閉じるときに最適化する] にチェックを入れておけばどうですか。
    • good
    • 0
この回答へのお礼

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

私の求める回答と異なっておりますので、
再度質問したいと思います。

ありがとうございます。

お礼日時:2013/10/18 10:37

マクロの最後に最適化を入れたいという理由は、ワークテーブルを使用していて、大量データの削除・追加を繰り返すのでMDBファイルサイズが肥大化するのに対処したいということでしょうか。



もし、そうなら、テーブルだけのMDBファイル(データMDB)と、クエリ、フォーム、レポート、マクロ等のMDBファイル(アプリMDB)に分割してアプリMDBからデータMDBのテーブルをリンクするという設計に変更すればどうでしょうか。
ワークテーブルもデータMDBに作成します。

そうすれば、アプリMDBの方から、データMDBを最適化できます。また、アプリMDBはデータの追加・削除は発生しませんのでファイルサイズの肥大化は防げます。

また、このように分割しておくと、MDBの破損の危険性が減らせますし、アプリMDBが破損してもデータは残る、など安全性が高いというメリットもあります。
    • good
    • 0
この回答へのお礼

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

私の求める回答と異なっておりますので、
再度質問したいと思います。

ありがとうございます。

お礼日時:2013/10/18 10:37

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す


人気Q&Aランキング