2017-07-14 6 views
0

私はSQLバックエンドに変換したアクセスデータベースを持っています。私のデータ入力フォームの1つのテキストボックスを除いて、すべて正常に動作しているようです。ボックスにデータを入力しようとすると、ボックスをクリックしてフォーカスを取得できますが、キーストロークは除外されません。キーを押すとウィンドウエラーwavが表示され、フォームの左下にエラーメッセージが表示されますその状態: "レコードを追加できません:レコードセットにないStatusTblテーブルの主キー。"Access 2010 SQLのリンクテーブルへのアップグレード後にテキストボックスにデータを追加できない

これは、フォームのレコードセットとして使用されている私のクエリです:私はSQLに変換されるまで

SELECT SubjectTbl.*, PInformationTbl.*, tbl_employment.*, 
StatusTbl.LocationOfPlacement_C 
FROM ((SubjectTbl LEFT JOIN PInformationTbl ON 
SubjectTbl.DJJNumber_O=PInformationTbl.[DJJID#]) 
LEFT JOIN tbl_employment ON SubjectTbl.DJJNumber_O=tbl_employment.emp_djjid) 
LEFT JOIN StatusTbl ON SubjectTbl.DJJNumber_O=StatusTbl.DJJNumber_C 

これがうまく働きました。また、現在のすべてのレコードを編集することができます私はちょうど新しいレコードのテキストボックスに何も入力することはできません。

誰でもこれに対応していますか?

答えて

2

StatusTbl.LocationOfPlacement_cではなく、StatusTbl.ID(IDは主キーが何であれ)のみです。 このエラーは、Select呼び出しにテーブルのIDを含めるよう指示しています。これにより、レコードセットは有効な構造と参照リンクで更新/挿入できます。

+0

ありがとうございましたMicktommyord、あなたは部分的に正しかったStatusTbl.IDだけを追加しようとしましたが、それはより多くの問題を引き起こしました。すべてのキーを追加するよう求められました。そこで、StatusTbl全体を追加してから、StatusTblの行を使用するようにソースコントロールを変更しました。フォームが正しく機能しています。 – Perry

関連する問題