私の所では、開発するシステムの大半はMicrosoft Accessを利用しています。
Accessはとても便利なツールなのですが時々駄々をこねて
このようなメッセージを表示して、にっちもさっちも動かなくなることがあります。
実際のフォームやレポートが存在しているのに、デザインビューを開けないとか下手をするとデータベースファイルそのものを開けなくなってしまう事も・・・。
実は、Accessのローカルテーブルの読み書きが影響してこのような現象が発生している事があるようです。
と、いうのもテーブル上に登録されたデータを削除した際に削除された領域がそのまま残ってしまって、ローカルテーブルに対してデータの追加・削除を繰り返しているうちにデータベース・ファイルが肥大化した結果、フォームやレポートなどのオブジェクトの定義領域を壊してしまう事があるようなのです。
これを避ける為に定期的にデータベース・ファイルの最適化を行う事をお勧めしており、自分がリリースを行うデータベースファイルには「閉じるとき最適化する」という設定を有効にして(下図参照)いますが、それを行っても完全に回避できるわけではないようです。
このため、二重の防護策として実際に運用するデータベースファイルとは別に、複製したデータベースファイルを必ず保管するようにしています。
Accessというアプリケーションの仕様上の問題とは言え、お客様の業務を止めるわけにはいかないですからね。
Comments