データベースに設計上の問題があるはずなので、これに間違って取り組んでいると確信していますが、今すぐ何かを試してみたいと思っています。
フォームには、さまざまな種類の土地のドロップダウンと 2 つのボタン (前へと次へ) を含むメインのサブフォームがあります。このサブフォームのデータ ソースは、Section22_PMLU というテーブルです。
このサブフォームにネストされているのは、PMLU_Code を使用して親サブフォームにリンクされた別のサブフォームです。このデータは、テーブル Section22_Data に更新されています。
ユーザーが親サブフォームのドロップダウンをクリックして土地を選択し、子サブフォームで詳細 (土地の特性) を選択すると、このデータがデータ テーブルに正しく表示されます。ユーザーがドロップダウンを再度クリックして (新しいレコードを作成せずに)、子レコードを追加しても、これはデータ テーブルに反映されます。
問題は PMLU テーブルにあります。最初に選択を行い、ネストされたサブフォームからデータを追加すると、このレコードは PMLU テーブルに記録/表示されます。ドロップダウン フィールドをクリックして [新しいレコードを追加] をクリックするか、Ctrl+ キーを押してドロップダウンから新しい項目を選択すると、テーブルに正しく記録/表示されます。ただし、最初に新しいレコードを作成せずに選択すると、このアイテムは以前に追加されたものにコピーされます。レコードを表示するために前に戻ろうとすると (前のボタン)、レコードが表示されません。ただし、データ テーブルにはまだあります。
この問題を修正するには、PMLU テーブルに直接アクセスして、データ テーブルで見つかった PMLU コードと一致する不足している PMLU コードを追加する必要があります。
次のクエリを実行すると、欠落している PMLU が取得されます。結果を使用して、欠落しているコードを PMLU テーブルに入力するにはどうすればよいですか?
SELECT Section22_2_Data.PMLU_Code, Section22_2_Data.PMLUType
FROM Section22_2_Data LEFT JOIN Section22_2_PMLU ON Section22_2_Data.[PMLU_Code] = Section22_2_PMLU.[PMLU_Code]
WHERE (((Section22_2_PMLU.PMLU_Code) Is Null))