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

解決済みの質問

Access、マクロの最後に最適化を入れられる?

Access2003を使用しています。
マクロの最後に最適化を組み込むことは可能でしょうか?

マクロの内容は、
1、昨日のデータ抽出に使用した作業用テーブル内のデータを削除する
2、本日のデータをインポートしてくる
3、1で空にしたテーブルに、2のデータを追加クエリで流し込む
4、2でインポートしてきたデータ(テーブル)を削除する
です。
この後、「5、データベースを最適化する」を入れてマクロを終わらせたいのです。

インポートしてくるテーブルは8個あり、1テーブルに20万を超すデータが入っているため、インポート、追加をやっているうちに、データベースの大きさが1,126,528KBにもなってしまいます。
この後、この大容量のテーブルを使って、大容量のテーブルを作成しているうちに・・・・データベースは更に大きくなってしまい困っています。
マクロの最後に「ここで一旦最適化」を入れられないでしょうか?

このデータベースを使用するのは自分で使用するものでないため、「マクロ終了後ツールボタンで最適化する」ということが出来ません。
また、VBAはわからないので・・・出来ればマクロなどで対応できると助かります。
どなたか詳しい方、教えてください!

投稿日時 - 2009-08-25 13:23:09

QNo.5235314

すぐに回答ほしいです

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

ここら辺が参考になるかな? いずれにせよ「要VBA」です。
http://www.nurs.or.jp/~ppoy/access/access/acM018.html
http://www.ka-net.org/office.html

Access2007にすると動かなくなることもあるので、コードの
組み方には注意が必要です。手動でやる方が正解なように
私は思いますけど・・・。

投稿日時 - 2009-08-25 13:37:11

お礼

すっごい早い回答、ありがとうございます!

うう~む・・・やっぱりマクロのみでは難しいですか・・・(^^;)
VBAは勉強中なんですが、今ひとつ自信がなくて、マクロでなんとかしたかったのですが・・・
せっかくなので、これを機会にVBAを組み込んでみようと思います。
教えていただいたURL、難しそうですが参考にさせていただきます。
ありがとうございました!

投稿日時 - 2009-08-25 21:56:45

ANo.1

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

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

回答(2)

ANo.2

マクロのみで、となると難しいです。

最適化とは一言で言っても、中身で複雑な処理をしていますから・・。

可能であれば、Accessを
Shift + ダブルクリック(もしくはEnterキー)
で開いて(ファイルが開くまでそのままShiftキーは押してください。)
マクロ→自分の作ったマクロをダブルクリック

そこに実行プログラムが書かれているので、それの最下部に
http://www.accessclub.jp/samplefile/samplefile_74.htm
このサイトを参考に(内容は適宜変更してください。)、最適化の処理を入れるのが手っ取り早いです。

それでないなら、直接的な解決策にはなりませんが、閉じる際に自動的に最適化することは可能です。
上記と同じく、Shift+ダブルクリック(Enter)でファイルを開き、
ツール→オプション→「閉じる時に最適化する」にチェック→適用
で閉じるときに最適化されますが・・・。(すでにしていたらすみません。)


とりあえず実践してみて無理でしたら補足お願いします。
できる限りお手伝いします。

投稿日時 - 2009-08-25 13:40:36

お礼

素晴らしく早い回答、感激です。ありがとうございます。
やはりマクロだけでは難しいのですね・・・
最初の方のお礼にも書かせていただきましたが、VBAに取り組んでみようと思っています。
ちなみに閉じる際の自動最適化は既にやっているのですが、閉じるまでにすっごい大きさになってしまって・・・最後の最適化もすっごい時間がかかってしまって・・・(^^;)
途中になんとか一回最適化を入れられないかな?って思った次第です。
自分で使うDBならばいくらでも途中で最適化をかけられるのですが・・・パートのおば様数人に使っていただくので、出来る限りボタン一つで動くようなものを作りたいのです。
いくらマニュアルに「ここで最適化をして下さい。最適化の方法はツールバーの~」と詳細に書いても(というか詳細に書けば書くほど?)、馴染みない方には何のことやら訳わからず、となってしまいそうなので。

>とりあえず実践してみて無理でしたら補足お願いします。
>できる限りお手伝いします。
もうすっごい有難うございます!(>_<)
ちょっと聞いてみたらこんなに親切なお言葉・・・なんか残業も辛くなくなりそうです。
とりあえずVBAは詳しい方が社内にいるので、彼女に聞きながら頑張ってみます。
本当にありがとうございました。

投稿日時 - 2009-08-25 22:07:38

あなたにオススメの質問