2016-03-30 35 views
0

我正在運行Access 2010.在窗體上,我們有新(空白)記錄被禁用。我們需要啓用此功能。這對同一程序的以前版本的訪問起作用。VBA - 新(空白)記錄 - 已禁用

允許附加=是

數據輸入=是

調用存儲過程SQL。

我添加了一些代碼,並創建了一個按鈕添加一個新的記錄...

Private Sub save_Click() 
    Dim ctl As Control 
    For Each ctl In Me.Controls 
     Select Case ctl.ControlType 
      Case acListBox 
       If Len(ctl.ControlSource) = 0 Then 
        ctl.Value = Null 
       End If 
      Case acCheckBox 
       ctl.Value = 0 
      Case acTextBox 
       ctl.Value = "" 
     End Select  
    Next 
End Sub 

它給了我這個消息:

運行時錯誤「3326」此記錄是不可更新。

我不確定還有什麼可以嘗試的。有任何想法嗎?

+1

您可能在這裏找到答案:[Microsoft Answers](http://answers.microsoft.com/zh-cn/office/forum/office_2010-access/cannot-add-new-records-to-a-form -i-just-created/d11f92ac-ba75-48f1-9a23-83ba55895507?auth = 1)有可能是底層查詢是問題。 – leowyn

+0

生成記錄集的sql語句是什麼? – MikeC

+0

[Access窗體不能更新或添加記錄]的可能的重複(http://stackoverflow.com/questions/34063231/access-form-cant-update-or-add-records) – Andre

回答

0

調用SQL存儲過程。

這樣的查詢將永遠不可更新。

您可以從查詢中提取結果集並將其寫入臨時表(本地或服務器上),更新此表並將修改後的數據寫回源表。