【vba】恐怖「AOIndexは、このテーブルのインデックスではありません」を修復

がーん、MS-Accessで作った見積作成システムから恐怖のメッセージが出た:-o

「AOIndexは、このテーブルのインデックスではありません」

このメッセージ、Accessファイルが壊れたことを意味します。

運が良ければ「最適化・修復」機能を実行すれば直る時もある。
直らない場合、空Accessファイルを作り、そこからインポート機能を使って必要なデータを吸い上げる。
それでもダメな場合、技術力の無い私は「データは死んだ」と諦めていました。

しかし、それでは困ると営業から怒られ、改めて「AOIndexは、このテーブルのインデックスではありません」ファイルからのデータサルベージ方法をgoogle検索。

すると、有った:-D

[Fixing Corruption: ’AOIndex’ is not an Index in this table–DataGnostics]

DataGnosticsと言う会社が、’AOIndex’ エラーを修復する
無料ソフト「FixBadAOIndex.mdb」を公開してました!

1)知らない会社の知らないAccessファイルなので、まずはウィルススキャン。

スキャン結果は「脅威無し」

2)Access起動時に自動実行されるスクリプトを無効化する手順。

「Shift」キーを押しながらmdbファイルをダブルクリックしてファイルを開いてみる。

VBAスクリプトはこんな感じ。
自称Accessプログラマー歴もうすぐ20年の私ですが、書いていることがほとんど分かりません。
ただ、システムを壊す、ファイルを消すような箇所は無いような・・・・・

恐る恐る開いたVBAスクリプト1:怪しい部分は無いようです。

恐る恐る開いたVBAスクリプト2:怪しい部分は無いようです。

早く直してと営業にせっつかれ、怪しいスクリプトもなさそうなので、思い切って「FixBadAOIndex.mdb」を実行。

処理時間0.5秒以下

あれ、もう終わったの?
やったー、Accessファイルが直りました!(^o^)/
ありがとうDataGnostics!

[about–DataGnostics]

ちなみにDataGnosticsの会社説明ページによると、データベースデザインリーダー:Dirk GoldgarさんはMicrosoft Access Most Professional(MSアクセスでもっとも重要な人物)世界80人の内の1人なんだそうです。

スゲー!
Dirk Goldgarさんのサイン欲しい!
一緒に写真撮りたい! 😆

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA