2016-03-31 93 views
1

我有一個數據表視圖中的主窗體和子窗體。它們通過2個ID字段連接起來,這些字段構成附加到主表格的表格的主鍵。錯誤更新子窗體訪問2010

我首次調用主窗體將記錄插入到數據庫中,然後稍後調用它來更新記錄。我能夠更新主窗體上的記錄,但是當我單擊子窗體時,出現錯誤提示"Cannot perform cascading fucntion. It would result in a duplicate key in table"

奇怪的是,當我嘗試更新第一條記錄中的數據時,數據庫。

關係

enter image description here

窗體屬性

enter image description here

回答

0

據我所知,在Size_No規格表中沒有自動編號數據類型。如果是這樣,Access會自動爲尺寸中的新記錄插入Order_ID和Step_No的值,但Size_No保持爲空,因此當您插入第二條記錄時,主鍵列中的所有3個值都是相同的,並且Access會生成錯誤。您需要在尺寸子窗體的BeforeInsert事件中的Size_No中插入新的非空值。該值應該是唯一的每對Order_ID和Step_No

+0

感謝您的回覆!你是對的Size_No不是一個自動編號。我通過增加它來管理size_no編號。我檢查了重複數據庫,但沒有。我認爲如果有重複,它會阻止我輸入數據。但是這裏讓我輸入數據但不更新它。 –

+0

嘗試從主窗體查詢表中傳入和排序以臨時刪除此部分查詢中的問題,然後重試。如果錯誤仍然存​​在,請嘗試調試應用程序並檢查它嘗試插入到大小的哪些鍵。您也可以調試Sizes中的臨時刪除主鍵,並允許鍵字段中的任何值。它可能允許瞭解什麼是錯的。 –