2017-02-10 85 views
0

我在SQL Server 2012中有一個表(Table1),並且我創建了MS Access 2016數據庫,然後在MS Access中創建一個鏈接表到Table1 SQL Server 2012中使用系統DSN。MS Access鏈接表到SQL Server更新記錄

這工作正常,我可以在MS Access 2016中打開鏈接的表1查看列並更新值。然後,我在MS Access 2016中創建了一個表單,將表1中的列添加到表單中,我可以看到數據正常。

我遇到的問題是添加新記錄的選項變灰,無論我嘗試什麼,我都無法使用表單向Table1添加新記錄。

如果我在MS Access 2016中創建一個標準(而不是鏈接表),並將列添加到窗體而不是鏈接表1中的列,則可以使用添加新記錄圖標。

我的問題是...是否有可能在MS Access 2016中使用表單,將數據源作爲鏈接表添加到SQL Server 2012中的表中並向其添加新記錄? (如果是這樣,我該如何實現這一點,因爲我現在已經這麼幾個小時,並且無法弄清楚)。

非常感謝提前。

+0

感謝您的所有建議。如果我打開鏈接表,我可以添加一條新記錄,並且它出現在鏈接的MS Access和Sql Server表中就好了。當我嘗試在MS Access窗體中添加一個新條目時,添加新記錄仍然呈灰色。 Sql Server表有一個主鍵,並且已正確配置(我已經是Sql Server開發人員/ DBA已有15年了,並且多年來也構建了許多MS Access應用程序,只是從不使用鏈接表)。 –

+0

你有'AllowAdditions'設置爲否在表單屬性? – GavinP

回答

0

這當然是可以的;這是一種非常普遍的做法。這聽起來像您在System DSN中用於連接到SQL Server的登錄名在表上沒有INSERT權限。你能查看權限來檢查嗎?

-2

自動插入/更新不適用於鏈接數據庫。你需要在你的界面後面編寫一個VBA代碼。

以下解決方案可以給你一個基本的,簡單的擡起頭:

Inserting into SQL Server using MS Access

+1

不正確 - 訪問使用鏈接表和插入新行20年沒有問題。所以是自動插入表單或編輯Access中的鏈接表就好了。 –

1

您注意,當您點擊鏈接表和視圖中的行,你可以更新值。

您可以在使用該鏈接表時添加行嗎?如果你不能,那麼使用SQL Management Studio打開表並嘗試添加行?

如果您在SQL Server中沒有設置或增加主鍵的正確(或任何)設置,則無法添加行(在此上下文中爲自動)。

因此,確保表中有一個主鍵,確保您可以使用SSMS添加行。如果您修改了此SQL表,那麼您必須重新鏈接表。

我建議你在SQL表中創建一個主鍵,並使其成爲一個增量爲1的標識列。