私は、(何らかの形で)クエリによって提供されているMicrosoft Accessフォームを持っています。クエリには、それぞれのプライマリキーと外部キーを介してリンクされた3つのテーブルが含まれており、フォームはデータを非常に喜んで表示します。クエリを使用してAccessフォームを提供する
奇妙なことは(私が懸念している限り)フォームがデータ入力を可能にすることです。
ただし、ユーザーが新しいレコードを作成すると、[table2]
テーブルの必須フィールドのために問題が発生しているように見えます。
SELECT [table1].*
,[table2].JobNo
,[table2].PlannedDateOC
,[table3].DateJobStarted
,[table1].PlanNo
FROM (
[table1] LEFT JOIN [table2] ON [table1].PlanNo = [table2].PlanNo
)
LEFT JOIN [table3] ON [table2].JobNo = [table3].JobNo
ORDER BY [table2].PlannedDateOC
,[table1].PlanNo;
ユーザーによれば、このフォームはAccess 97/2003形式からAccess 2010(2007ファイル形式)に変換する前に完全に機能しました。
誰でも、これがうまくいくはずかどうかを正当なものにすることはできますか?また、このプロセスがどちらのバージョンのAccessでも動作するのであれば、データ入力用のクエリを使用できるという概念は、私にとっては非常に珍しいことです。
さらに詳しい説明が必要な場合はお知らせください。
注:ノートの ことの一つは、ここでは、彼らは常に、フォームのスクロールの残りの部分と見えたように、私は、フォームヘッダーにフィールドの一部を移動しなかったことです。これがフォームのパフォーマンスに何らかの副作用をもたらすかどうかはわかりません。すべてNOT NULLフィールドはそれらの値を持っているし、新しいレコードが挿入されたときのみtable1.fieldsが汚れていることを確認してくださいとき。クエリ上記
上記のクエリでは、null以外のフィールドに値がある場合、[table1]にデータを挿入できます。どのような問題がありますか? –
応答ありがとう、@ krishKM。引用:*ただし、ユーザーが新しいレコードを作成すると、 '[table2]'テーブルの必須フィールドのために問題が発生しているように見えます*基本的にレコードは保存されません。表。 – Paul
新しいレコードが挿入されると、table1.fieldsだけがダーティになっていることを確認してください。他のテーブルから見えるフィールドがすべてではありません。これは(不整合な更新/挿入)、おそらくエラーになるでしょう –