• ベストアンサー

VBAによってAccessが壊れた!

AccessのVBAでプログラムを組んでたらあるフォームの操作処理をしたらいきなりAccessに異変が起こり、フォームのデザイン等の編集・コーディングが一切できなくなりました(VBEが開かない)。 強引にフォームを呼んでも読み取り専用になっていて操作ができなくなってしまいました。フォームを開いても実行画面しか出なくなりました。新規作成もできません。(ボタンが全てイネイブルになってます) こういう場合どうしたらいいのでしょうか? ちなみにAccessのフォームは、現在のフォームから他のフォーム(開いている)を閉じる命令をすることはできるのでしょうか?(それをしたいがためにいろいろな方法を試していたらこうなってしまいました。そのコードをうかつにも保存した私にも責任はあるのですが・・・ちなみにDocmd.closeで墓穴を掘りました。やはり自分のフォームしか消せないんでしょうか?) バージョンはAccess2003を使っています。

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

  • ベストアンサー
  • MS2000
  • ベストアンサー率33% (1/3)
回答No.1

>ちなみにAccessのフォームは、現在のフォームから他 >のフォーム(開いている)を閉じる命令をすることは >できるのでしょうか? ちょっと詳細事情を把握できない部分があるのですが、(ごめんなさい。)  現在のフォームから他のフォームを閉じるのって、普通にマクロで処理できませんか?  フォーム上にボタンを置いて、クリック時にフォームを閉じるマクロを組んでおく。(Docmd.close)  そこで、閉じたいフォームを指定してやればいけると思いますが。。。私もACCESS2003を使っています。  読み取り専用になるという件は、よくわかりません。そのデータって、CDRに保存されていたとかいうことは、ないですよね?

saimon296
質問者

補足

それはないです。 マクロで処理できるんですか? VBAはマクロ自体使ったことがないのでよくわかりません。Accessのマクロってエクセルのマクロみたいに簡単に作れるのでしょうか?

その他の回答 (3)

  • MS2000
  • ベストアンサー率33% (1/3)
回答No.4

ANo.#3につづき、ANo.#1についてですが、 アクセスのマクロは便利です。VBAを知らない人でも、マクロである程度のことは出来ます。 ただ、処理によってクエリーの数が増えたりすることがありますけど、マクロで次々と処理を自動化していき、最後にそれら一連の処理をVBAに自動変換してやれば、VBAの分かる人なら、のちのち便利かもしれません。 ※もし、支障なければ、その部分のコードを掲載されてはいかがでしょうか?(でもVBEが立ち上がらないのですよね?コードはもう、わからないでしょうか?)

saimon296
質問者

補足

すいません、もうコードは見れないのです。

  • MS2000
  • ベストアンサー率33% (1/3)
回答No.3

念のためお聴きしますが、VBAでプログラムを組んで、実行時にそうなられたのでしょうか? それとも、間を置いて、何か別のソフトをインストールしたとか、そういったことをした後に、別の時間や、別の日に、VBAプログラム作業の続きをし、そして、その日初めて実行したときに、そのようになったのでしょうか? 要は、前回実行時は大丈夫だったのに、その後、すぐにプログラム修正した後、実行したら、そうなったか?ということですが、いかがでしょう?

saimon296
質問者

補足

VBAでプログラムを組んで実行時です。

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

Access97しか解からないのですが、、、 MDEファイル(拡張子 .mde)に変換後、それを開いているって事は無いですか? もしそうなら元ファイル(拡張子 .mdb)があるハズですが、、、

saimon296
質問者

補足

それはないです。 ldbもありませんでした。 mdeって拡張子自体見たことないのですが・・・ どのmdbも全て同じ状態に陥ってしまいました。(関係ないアクセスまでもが)