プロが教える店舗&オフィスのセキュリティ対策術

お世話になります。

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

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

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

勝手で申し訳ございませんが
A.mdbファイルを「マクロコマンド:データベースの最適化」で
最適化する具体的手順を教えて頂けないでしょうか?

過去の質問で、mdb自身が開いているので絶対に無理!!
と言われたのですが、自分自身を終了させて、最適化
などできないのでしょうか?
また、できないのであれば、「マクロコマンド:データベースの最適化」
は、使えないのに、なぜそのようなコマンドがあるのでしょうか?

具体的手順以外の回答は、結構ですので、
宜しくお願いします。


具体的手順を記載できる人を待ちたいので、できない場合は、
この質問は無視して下さい。

宜しくお願いします。

A 回答 (5件)

(1)


解りません。
もちろんkgyqk433さんがそのように要求される権利はありますが、私が従う義務はありませんので従いません。
この後に発言するかどうかはその時に決めます。

(2)
既に回答済みなので、読解力があるならご一読ください。
    • good
    • 1
この回答へのお礼

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

> 自分自身を終了させて、最適化


> などできないのでしょうか?

自分自身を終了させたら、マクロも終了してしまいます。

> また、できないのであれば、「マクロコマンド:データベースの最適化」
> は、使えないのに、なぜそのようなコマンドがあるのでしょうか?

自分自身以外の他のMDBファイルを最適化するときに使います。


エラーメッセージでも「開いているデータベースを最適化することはできません。」言っています。
過去にも同じ質問があちこちの掲示板で繰り返し出されましたが、可能という回答はありませんでした。


代替案を前の質問でいくつか提案しました。それではだめでしょうかね。

1)
オプションで「終了時に最適化する」にチェックを入れておけば、
マクロの「終了」コマンドを実行すれば、自分自身を閉じて最適化します。

2)
VBAを使う方法はリンク先を提示しました。(No.3さんのリンク先と同じものです)

3)
データベースを分割すれば、一連のマクロの途中でもデータMDBを最適化できます。


それ以外だと、
別に最適化用のMDBを作成しておく。

元のMDBでは、最適化用MDBを開いてから、自分自身を閉じる。

最適化用MDBの「起動時の設定」で「フォームの表示」でフォーム名を設定しておく。
そのフォームのタイマーイベントで少し時間をおいて、元のMDBを最適化する。
最適化後、元のフォームを開く。
マクロコマンド「終了」で最適化用MDBを閉じる。

というような方法も考えられますが、面倒ですね。
それなら、VBAを使う方法の方がコピペして少し手直しするだけですから簡単です。
データベースを分割する方法はいろいろメリットがあります。


この回答が意に沿わないのなら、もっと優秀な方が、意に沿う回答をしてくれるかもしれませんので、気長に回答がつくまで待ちましょう。私自身もそのような方法があるのか非常に興味がありますので。(そうとう長いこと待つ覚悟が必要だと思います、で、出てこない可能性が大ですが)
    • good
    • 1
この回答へのお礼

ご連絡ありがとうございます。

> また、できないのであれば、「マクロコマンド:データベースの最適化」
> は、使えないのに、なぜそのようなコマンドがあるのでしょうか?
>自分自身以外の他のMDBファイルを最適化するときに使います。
>それ以外だと、
>別に最適化用のMDBを作成しておく。
次の案として、最適化用のMDBも頭に入れたいと思います。

>この回答が意に沿わないのなら、もっと優秀な方が、意に沿う回答をしてくれるかもしれ
>ませんので、気長に回答がつくまで待ちましょう。私自身もそのような方法があるのか非
>常に興味がありますので。(そうとう長いこと待つ覚悟が必要だと思います、で、出てこ
>ない可能性が大ですが)
1週間ほど待って、返事がなければあきらめたいと思います。

できれば、きれいな質問文にしたいので、
ok-kanetoさんの返事を待ちたいと思います。


以上ありがとうございます。

お礼日時:2013/10/18 17:06

こういうのとは違うのかな?


http://www.ka-net.org/office/of05.html
何度も無理という回答をもらっているのであれば、検索して1分で出てくるようなのは違うような気もしますが、とりあえず貼っときます。
    • good
    • 0
この回答へのお礼

ご連絡ありがとうございます。

VBAを使用せずに、マクロで実行したいのです。

よろしくお願いします。

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

>ブロックに関しては、私の質問が迷惑とのことでしたので、質問リストに


>あがらないようにブロックしました。
>このやりとりは、既に記載済みで、このような事も読み取れない
>「ok-kanetoさん」に「不可能」と言われても信じれません。

勘違いをされているようですが、kgyqk433さんが私をブロックした所でkgyqk433さんの質問を私が閲覧できなく(質問リストに上がらなく)なるのではなく、質問は閲覧できるが単に私が解答できなくなるだけです(解答しようとすると「ブロックされています」と表示されます。表示されないのであればそもそもこの表示も必要ないはず)。記載済みとおっしゃいますが、それは間違っていますね。それを「読み取れない」と仰るのはどうなんだろうと思います。

>最後となりますが、「不可能」と断言されるのなら、黙って、「可能」という
>優秀な方が出てくるまで待っていただけないでしょうか?
断言ではありません。もちろん私以上に優秀な方もいらっしゃるでしょうが、その方を無為に待つよりも「時間の無駄だと思うから別の回避策を探したほうが良い」という提案です。

この回答への補足

何度も申し訳ございません。

下記の順番で、回答お願いします。
--------------------------------------
(1)一番に、下記の回答
この文章の意味がわかったら、ご回答お願いしたいのですが、再度記載します。
 「不可能」と断言されるのなら、黙って、「可能」という
  優秀な方が出てくるまで待っていただけないでしょうか?
黙って、待っていただけるか否か教えてください。
(2)二番に、あなたが記載したいこと
--------------------------------------

読解できないかもしれませんので、記載例も載せます。
記載例○
(1)黙って待つ
(2)あいうえお

記載例×
あいおうえ

記載例×
(返事をしない。)

ご返事宜しくお願いします。

補足日時:2013/10/18 15:34
    • good
    • 0
この回答へのお礼

ご連絡ありがとうございます。

>勘違いをされているようですが、kgyqk433さんが私をブロックした所でkgyqk433さんの質
>問を私が閲覧できなく(質問リストに上がらなく)なるのではなく、質問は閲覧できるが単
そうだったのですが。。。
申し訳ございません。私の勘違いでした。

私のほうでは、どうしようもありませんので、質問リストにあがるのが迷惑でしたら、
事務局に要望出していただければと思います。


>断言ではありません。もちろん私以上に優秀な方もいらっしゃるでしょうが、その方を無
>為に待つよりも「時間の無駄だと思うから別の回避策を探したほうが良い」という提案で
やはり、読解力が足りないと思います。私の質問文に下記を記載しました。
「具体的手順以外の回答は、結構ですので、宜しくお願いします。」

やはり、あなたが、不可能といっても信じられません。


この文章の意味がわかったら、ご回答お願いしたいのですが、再度記載します。
 「不可能」と断言されるのなら、黙って、「可能」という
  優秀な方が出てくるまで待っていただけないでしょうか?

ご返事宜しくお願いします。

お礼日時:2013/10/18 15:19

マクロでは不可能で、VBAでDBを分割するしかありません。



http://www.nurs.or.jp/~ppoy/access/access/acM018 …

何度も同じ質問をしていますが、「不可能」と言われるたびに締めきって(しかも忠告してくれた回答者を位に沿わないというだけでブロックしてまで)、非常に無駄だと思います。これもブロック入りですか?

最適化する目的は何でしょうか?終了時に毎回最適化ではダメなの?
http://support.microsoft.com/kb/879802/ja

この回答への補足

何度もすみません。

もし、私の質問が迷惑なら、ブロックしますので
記載よろしくお願いします。

補足日時:2013/10/18 14:46
    • good
    • 0
この回答へのお礼

ご連絡ありがとうございます。

>何度も同じ質問をしていますが、「不可能」と言われるたびに締めきって(しかも忠告してく
>れた回答者を位に沿わないというだけでブロックしてまで)、非常に無駄だと思います。これ
>もブロック入りですか?
不可能と思われるのは、「ok-kanetoさんの知識がない」ことが原因とは考えられないですか?
Accessの仕様を全て知っていて、自分ができなければ、他の人もできないという考えでしょうか?

わたしの考えとしては、「ok-kanetoさん」よりも優秀な方はいる→その方の回答を待ちたいのです。


>もブロック入りですか?
ブロックに関しては、私の質問が迷惑とのことでしたので、質問リストに
あがらないようにブロックしました。
このやりとりは、既に記載済みで、このような事も読み取れない
「ok-kanetoさん」に「不可能」と言われても信じれません。


>最適化する目的は何でしょうか?終了時に毎回最適化ではダメなの?
すみません。時間の無駄ですので、ばかみたいな質問はやめてください。


最後となりますが、「不可能」と断言されるのなら、黙って、「可能」という
優秀な方が出てくるまで待っていただけないでしょうか?

何卒宜しくお願いします。

お礼日時:2013/10/18 14:44

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

このQ&Aを見た人はこんなQ&Aも見ています

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


このQ&Aを見た人がよく見るQ&A