|
>こんばんわ、お世話になります。
>Access95のMDBなんですが、同一名称のテーブルが複数存在しています。
>タイムスタンプはそれぞれ違うんですが、名称はまったく同じ。
>で、そのMDBを修復すると
>「・・・・・インデックスではありません」←(忘れてしまいました)
>みたいなダイアログが出て、MDBファイルが使えなくなってしまいます。
>これを直すにはどうしたらよいでしょうか?
>あと、このような状態になるのは何が原因なのでしょうか?
>VBAとは直接関係無いかもしれませんが
>よろしくお願いします。
具体的に書きます。
AというMDBのなかにBというテーブルがあります。
このBというテーブルはCというテーブル作成クエリーで作られます。
CはDというマクロで実行されます。
DのマクロでCを実行する前にメッセージの設定をいいえにして
ダイアログが表示されないようにしてあります。
通常ですとBテーブルはDマクロが実行されるたびに作り変えられますよね?
問題のMDBはBテーブルが作り変えられずに新たなBテーブルをMDB内に作成し
同じ名前のBというテーブルが複数存在しているように見えます。
この同じ名前のBというテーブルが複数存在しているMDBを最適化すると
Bというテーブルがなくなります。
この同じ名前のBというテーブルが複数存在しているMDBを修復すると
「'C:\xxxx\A.mdb'はこのテーブルのインデックスではありません。」
というダイアログが表示され、以後このMDBファイルは使用出来なくなります。
この現象について今、調べています。
業務で使用しているMDBなので、再発を防止しなければいけません。
Accessのバージョンは95です。
どなたか、ご存知の方いらっしゃいましたら、よろしくお願いいたします。
|
|