こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Access2000でデータベースの最適化

お世話になります。

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

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

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

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

投稿日時 - 2013-10-18 09:54:03

QNo.8310403

すぐに回答ほしいです

質問者が選んだベストアンサー

> 「マクロのコマンド:データベースの最適化」があるので、
> 必ずできるはずだとおもうのですが、

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

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

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

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

投稿日時 - 2013-10-18 10:14:25

お礼

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

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

ありがとうございます。

投稿日時 - 2013-10-18 10:37:08

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

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

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

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

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

投稿日時 - 2013-10-18 10:32:22

お礼

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

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

ありがとうございます。

投稿日時 - 2013-10-18 10:37:30

あなたにオススメの質問