2013-05-25 42 views
0

我知道這個問題已被多次詢問,但沒有一個解決方案解決了我的問題。MS訪問不能附加追加查詢中的所有記錄

我試圖插入一行到一個在MS Access 2007

主鍵名爲「審計跟蹤」表列「活動否」

以下是我的查詢:

INSERT INTO [Audit Trail] 
([Activity No], [Project Id], [Activity Date],[Activity Location],[Activity Description],[Data Reference (File No)],[Participant Id],[Person Reporting],[Comments]) 
VALUES 
('6','SFT 2013','1/1/2014','AAA','AAA','AAA','AAA','AAA','AAA') 

活動無列的數據類型是數字(最初是自動編號,但稍後我將其更改),活動日期是日期時間,其餘爲文本。

這引發了我的錯誤

MS訪問不能全部記錄追加追加查詢

Microsoft Access不能追加追加查詢中的所有記錄。 由於類型轉換失敗者,Microsoft Access將0字段設置爲Null,並且由於違反密鑰,沒有將1>記錄添加到表中,因鎖定衝突導致0記錄,並且由於違反驗證規則導致0記錄>。 您是否想要運行查詢?

此表也沒有任何外鍵。它有一個更早但我刪除了關係。

但是我可以通過表格的UI輸入相同的值。

+1

如果這是你的存檔記錄的舊副本時更新由審計表,你想對任何給定的【活動否],則[活動否]多個審計記錄不能主鍵。 (一個表的主鍵不能包含重複項。) –

+0

嗨,這張表只包含幾個記錄,所有記錄都通過表格UI輸入。不要試圖插入具有主鍵重複值的記錄。 –

+0

那麼就像@HansUp所說的,你應該檢查一些可能阻止INSERT成功的獨特索引。 –

回答

1

你說「活動無列的數據類型是數字...和活動日期是日期時間」

因此,放棄圍繞插入到[Activity No]中的數字的引號,並將#日期分隔符用於插入到[Activity Date]中的值的周圍。對於字面日期值,我還傾向於使用yyyy-mm-dd格式。

INSERT INTO [Audit Trail] 
    (
     [Activity No], 
     [Project Id], 
     [Activity Date], 
     [Activity Location], 
     [Activity >Description], 
     [Data Reference (File No)], 
     [Participant Id], 
     [Person Reporting], 
     [Comments] 
    ) 
VALUES 
    (
     6, 
     'SFT 2013', 
     #2014-01-01#, 
     'AAA', 
     'AAA', 
     'AAA', 
     'AAA', 
     'AAA', 
     'AAA' 
    ) 
+0

嗨,我嘗試了你的建議,但是我仍然得到相同的錯誤信息。 –

+1

您的插入有多個問題。我確定了2對我來說很明顯。您將不得不查看錶格設計以確定爲什麼值仍然不被接受。例如,關鍵違規投訴建議您可以在一個或多個表列上具有唯一索引,而您的「INSERT」語句嘗試添加已存在的其中一個值的副本。 – HansUp

+0

嗨,我剛解決它。你的回答部分幫助了我。我實際上有一個未使用的表在數據庫中,參與者ID是來自該表的外鍵。按照您的建議更正查詢後,Access僅顯示錯誤消息。非常感謝,抱歉讓我感到困惑。 –