3

問題とデータベースについて: Access 2003 データベースのレコードのデータが消えました。このデータベースには 1 つのバックエンドと 3 つのフロントエンド、複数のユーザーがあり、Citrix でホストされています。このデータベース内には、1,000 台に及ぶすべてのクライアントの記録があります。

背景情報: クライアント データ入力用のフォームは、「プログラム登録」サブフォームと「サービス」サブフォームの両方を含む、さまざまなサブフォームでセットアップされます。クライアントは複数のプログラムに登録できます。プログラムに登録すると、サービス サブフォームを使用してそのプログラム領域のサービスを入力できます。サービス サブフォームには複数のフィールドがあり、そのうちの 1 つはドロップダウン フィールドで、クライアントが登録されているプログラムから選択できます (クライアントが新しいプログラムに登録されるたびに、そのクライアントのリストが更新されます)。

問題の詳細: 1 つの特定のレコードと 1 つの特定のプログラム領域について、そのプログラムが「登録済みプログラム」サブフォームから消え、関連するすべてのサービスが「サービス」サブフォームから 3 か月のデータ入力期間中に消えました。しかし、この記録のための他のプログラムやサービスは消えませんでした。

質問: データの消失は Access 2003 の一般的な問題ですか? データが消えているかどうかを確認し、そのデータをキャッチするために実行できるテストは実施されていますか? もしそうなら、それらは何ですか? 特定のコードが関係している場合、それは何ですか? データの消失を防ぐために何ができますか (別のデータベースを使用する以外に)?

4

3 に答える 3

4

@HansUp が言うように、これは一般的な問題ではありません。次の 2 つのことが思い浮かびます。

  1. Jet/ACE ファイルは、ファイルが複製同期の一方の側でのみ編集されない限り、複製されたファイル システムを備えたファイル サーバーに格納されることを好みません。つまり、2 つのサーバーに複製されたボリュームがあり、両方のサーバーに接続してデータベースの両方のコピーを編集しようとしている人がいる場合、データをホースします。片面編集なら問題ないのですが、こういうのが気になります。別の問題は仮想化かもしれませんが、それが問題になる明確なシナリオはありません。

  2. 10 年以上前に、古いブックマークのバグと On Error Resume Next が組み合わさり、データが保存されないという問題が発生しました。On Error Resume Next でエラー報告/処理をオフにしても、適切に範囲外にならず、ブックマーク ナビゲーションによるレコードからの離脱で発生していたエラーが報告されませんでした。その結果、編集が失われました。ブックマーク ポインタを変更する前にレコードが汚れていた場合にレコードを保存するようにブックマーク ナビゲーションを変更すると、問題はなくなりました。しかし、その間、On Error Resume Next ステートメントを可能な限り削除しました。

2 番目の問題は、DoCmd.SetWarnings が False に設定されている場合です。私は SetWarnings を気にしたことがないので、問題ではありませんが、これは一般的な初心者のテクニックであり、一見の価値があります。エラーが発生しているが、エラーのレポートがユーザーに届いていないため、編集が失われているという考えです。

これらのいずれもありそうにないとは思いますが、あなたの状況は非常にまれであるため、このような異常なことでも調べる価値があります.

于 2010-04-30T00:17:24.233 に答える
3

データの消失は Access 2003 の一般的な問題ですか?

いいえ。Access のどのバージョンのデータも、理由なく消えてしまうわけではありません。おそらくデータベースファイルが破損していない限り。フォームやデータベース スキーマに設計エラーがある可能性が高くなります。

親テーブルと子テーブルに基づくフォーム/サブフォームがある場合は、関係が確立されていること、およびその関係に参照整合性が適用されていることを確認してください。これは、子テーブルに少なくとも 1 つの関連レコードがまだある間は、親レコードを削除できないようにするための標準的な方法です。

あなたの説明に基づいて、データがデータ テーブルにないのか、それとも表示されるはずのサブフォームに表示されないのかが明確ではありません。その点を明確にしたいかもしれません。

于 2010-04-29T16:57:15.720 に答える
0

この時点で、欠落しているデータはランダムに発生し、特定のパターンに追跡できないため、解決策を特定するのがかなり困難であると判断しました。データが実際に消えたのか、それともユーザーがデータを入力したと思っていたのに入力していなかったのかはまだ不明です. 残念ながら、私たちのデータベース ホストは、追跡できる一連のバックアップを保持していませんが、毎日の終わりにバックアップを更新します。ここで提供されたさまざまな回答を引き続き調査します。貴重なご意見やご提案に感謝いたします。

于 2010-05-19T20:34:12.543 に答える