1

現在、Accessで更新クエリを作成しようとしています。私には、自分で入力した情報を除いて、異なるデータベースに同じデータテーブルを持っている2人の教師がいます。個別に入力された情報を除いて、すべてが同じです。私は2つのtblDemographicsテーブルをマージして、生徒が対象の学校の1つに移動した場合にお互いが何をしたかを確認できるようにしようとしています。基本的に更新する必要のあるすべてのフィールドに入力する必要があるのか​​、それとも基本的にどこでNull、同じ名前のフィールドに更新するのかを言うことができる速記があるのでしょうか。

これが意味をなさない場合は申し訳ありません。私はそれを行うためのより効率的な方法があるかどうかを確認しようとしています。

UPDATE tbleDemographics LEFT JOIN tbleDemographics1 ON tbleDemographics.[Local ID] = tbleDemographics1.[Local ID] SET tbleDemographics.FName = [tbleDemographics1.Fname], tbleDemographics.LName = [tbleDemographics1.LName], tbleDemographics.MName = [tbleDemographics1.MName]
WHERE (((tbleDemographics.FName) Is Null) AND ((tbleDemographics.LName) Is Null) AND ((tbleDemographics.MName) Is Null) AND ((tbleDemographics.ClMgr) Is Null) AND ((tbleDemographics.School) Is Null) AND ((tbleDemographics.Grade) Is Null) AND ((tbleDemographics.[Prim Dis]) Is Null) AND ((tbleDemographics.[Sec Dis]) Is Null) AND ((tbleDemographics.[Third Dis]) Is Null) AND ((tbleDemographics.[Local ID]) Is Null) AND ((tbleDemographics.GTID) Is Null) AND ((tbleDemographics.Status) Is Null) AND ((tbleDemographics.[Homeroom Teacher]) Is Null) AND ((tbleDemographics.[GPS Math Teacher]) Is Null) AND ((tbleDemographics.[Number Worlds Teacher]) Is Null) AND ((tbleDemographics.IntervHMcCain) Is Null) AND ((tbleDemographics.InterMSmith) Is Null) AND ((tbleDemographics.InterALacey) Is Null) AND ((tbleDemographics.InterLDaughtry) Is Null) AND ((tbleDemographics.DelInclusion) Is Null) AND ((tbleDemographics.DelRegEd) Is Null) AND ((tbleDemographics.DelConsult) Is Null) AND ((tbleDemographics.DelRes) Is Null) AND ((tbleDemographics.DelPara) Is Null) AND ((tbleDemographics.[DelMIPull-out]) Is Null) AND ((tbleDemographics.DelMIInc) Is Null) AND ((tbleDemographics.OTServices) Is Null) AND ((tbleDemographics.PTServices) Is Null) AND ((tbleDemographics.OIServices) Is Null) AND ((tbleDemographics.SpServices) Is Null) AND ((tbleDemographics.Notes) Is Null));

それは私の好みにはあまりにも厄介に見えますが、可能であれば、実際に各エントリを修飾する必要がないように、単純にそれをしたいと思います。

もう少し見てみると、ここに載せたSQLについてはかなりばかげています。そうです、Is Nullsを間違った場所に配置し、設定方法で基本的にすべてを上書きしていることがわかります...おっと。一般的な考え方が理解されていることを願っています。

わかりました...今、私はこれを自分で理解しようとしてこのデータベースにどんどん入っています...私はそれが面白くないほど多くの問題を見ています。このデータベースは、それが悪夢になるまで恐ろしく設定されています....誰かが私が起きていることについての一般的な考えをまだ思い付くことができれば、それは大いに感謝されるでしょう。

4

1 に答える 1

1

データベースのマージは非常に問題であるため、両方のデータベースからデータをダンプし、データをマージしてから、新しいデータベースにインポートし直すのがおそらく最善です。キーが他のデータベースのエントリと衝突するため、データベースに追加されたレコードのキーを再番号付けする必要がある場合があることに注意してください。ただし、これはデータベースであるため、そのデータベースにリンクされているすべてのレコードでキーも変更する必要があります。

1 つのデータベースでレコードが欠落しているが、他のデータベースでは欠落していない場合、それは削除ですか、それとも挿入ですか? それともバージョンの問題?

Access では、更新の履歴を確認するのに役立つジャーナリングがないため、これは特に困難です。

于 2012-10-01T13:17:07.957 に答える