質問

Access 2003でデータベースオブジェクトの破損をプログラムでチェックする方法はありますか?

私の開発プロジェクトは非常に複雑になったため、プログラミングの1日後にすべてのオブジェクトを手動でチェックして、小さなコントロール、フォーム、レポート、クエリ、またはコードオブジェクトが何らかの形で破損しているかどうかを確認するのは困難です。私はすでに別のマシンに保存されている別のSQLデータベースにデータを分割しており、このプロジェクトはデータを操作するためのフロントエンドアプリケーションにすぎません。

私はこれまでのところ行きたくないので、ほとんど学術的な黙想をします-滅多に使用されなかったオブジェクトがいつか元に戻ってしまったので、腐敗させて数週間戻します。

アイデアはありますか?ポインタを事前に感謝します!

2009年3月12日編集:11:51

残念ながら、私は1つの答えしか受け入れられません-非常に良いものがいくつかありましたが、すべてのポインタに感謝します!

役に立ちましたか?

解決

Compact / RepairもDecompile / Recompileも、すべての破損の問題をキャッチしませんが、とにかくこれを行う必要があります。

関数を使用して、SaveAsTextを使用してすべてのコンテナドキュメント(およびクエリ定義)を日付/時刻スタンプ付きフォルダーにエクスポートし、1日を通して定期的に使用します。破損が疑われる場合は、新しいmdbを作成し、LoadFromTextを使用してオブジェクトを再作成します。

他のヒント

以下をご覧ください:破損したAccess 2007データベーステーブルをプログラムで検出することは可能ですか?

各コンパクト&で重要なデータベースのコピーを保持する傾向があります。修復し、新しいデータベースを前のデータベースと比較します。非標準文字を確認することもできます。

適切なコンパイルを行うと、VBAプロジェクトの破損を防ぐことができます(ここで説明していることです)。

それに伴い:

  1. すべてのモジュールでOPTION EXPLICITを使用します。

  2. VBEオプションでCOMPILE ON DEMANDをオフにします。

  3. 作業中に定期的にコードをコンパイルします。

  4. 定期的に(たとえば、コーディングの1日後に1日に1回)、コードを逆コンパイルおよび再コンパイルします。

これを行うと、そもそも破損に遭遇することはないので、テストする必要はありません(そもそも不可能です)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top