2

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

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

私はこれまでに行きたくないので、主に学術的な思索です-その後、めったに使用されないオブジェクトが以前に破損したため、破損によって数週間戻ってきました。

そこに何かアイデアはありますか?ご指摘ありがとうございます。

編集済み 2009 年 12 月 3 日 @ 11:51

悲しいことに、私が受け入れることができる答えは 1 つだけです。いくつかの非常に良い答えを得ることができましたが、すべての指針に感謝します!

4

3 に答える 3

2

ご覧になることをお勧めします:破損した Access 2007 データベース テーブルをプログラムで検出することは可能ですか?

私は、圧縮と修復のたびに重要なデータベースのコピーを保持し、新しいデータベースを以前のデータベースと比較する傾向があります。特殊文字も確認できます。

于 2009-11-25T22:22:52.903 に答える
1

適切なコンパイル方法により、VBA プロジェクトの破損を防ぐことができます (これは、ここで話していることです)。

それには次のことが必要です。

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

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

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

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

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

于 2009-11-26T23:28:19.020 に答える
1

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

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

于 2009-11-28T02:23:05.803 に答える