がーん、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!
ちなみにDataGnosticsの会社説明ページによると、データベースデザインリーダー:Dirk GoldgarさんはMicrosoft Access Most Professional(MSアクセスでもっとも重要な人物)世界80人の内の1人なんだそうです。
スゲー!
Dirk Goldgarさんのサイン欲しい!
一緒に写真撮りたい! 😆