簡體   English   中英

為什么我的子表單在MS Access 2007的INS​​ERT操作中不包含來自父表單的外鍵?

[英]Why is my subform not including the Foreign Key from the parent form in the INSERT operation in MS Access 2007?

問題

當我在多項目子表單中插入新記錄時,由於未包含父表單所需的外鍵,因此會引發錯誤。 外鍵不允許為空,它試圖插入一個空值。

多一點信息

此過程以前工作正常,但此后我已將后端從ACE升級到SQL Server2005。現在會引發以下錯誤:

Run-time error '3146':
ODBC--call failed.
[Microsoft][ODBC SQL Server Driver][SQL Server]Cannot insert the value NULL into
column 'EngagementLetterID_FK', table 'ClientDatabase.dbo.Services'; column does
not allow nulls. INSERT fails. (#515) [Microsoft][ODBC SQL Server Driver][SQL
Server]The statement has been terminated. (#3621)

作為快速注釋,該子表單用於服務記錄,而父表單用於EngagementLetter記錄。 一個EL具有許多服務。

我已經檢查了表的設置,看起來還不錯,但是我想說表正在按其應有的方式工作-它不應允許空值。 我也不認為SQL Server應該負責識別正確的FK-前端應該這樣做。 但是,在使用ACE后端之前,我的前端工作正常。 因此,我很難找出問題的根源,也無法弄清楚如何進行更高級的Access調試(例如,在Update之前,請告訴我SQL INSERT查詢將是什么)。

我檢查了一些其他的父子表單,它們表現良好。

有任何想法嗎?

我忘記提及的另一個細節-我同時進行了一些戲劇性的前端重建。 對於子窗體,我沒有正確地將父窗體的EngagementLetterID_FK與EngagementLetterID鏈接。 結果是新的服務記錄未指定EngagementLetterID_FK。

因此,既然我已經糾正了鏈接,它就可以正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM