2016-08-09 118 views
-1

我一直在試圖弄清楚如何做到這一點,但我從谷歌嘗試過的一切都失敗了。 我在窗體上有一個按鈕,用於打開報表,然後更改組合框值的值。組合框起源於Sharepoint共享列表/表。 這裏是我的代碼:訪問VBA更新組合框值(從共享點列表)

Private Sub btnVbaOpenContractRpt_Click() 

Dim rptName As String 
Dim rptName2 As String 
Dim rptFilter As String 
Dim rptWhere As String 
Dim rptArgs As String 


rptName = "Report 1" 
rptName2 = "Report 2" 
Me("Combo Box") = "Report Generated" 

DoCmd.Close acReport, rptName, acSaveNo 
DoCmd.Close acReport, rptName2, acSaveNo 


DoCmd.openreport rptName2, acViewPreview, rptFilter, rptWhere, acWindowNormal, rptArgs 
DoCmd.openreport rptName, acViewPreview, rptFilter, rptWhere, acWindowialogue, rptArgs 
End Sub 

當單擊該按鈕來執行代碼,我收到以下錯誤: 「運行時間錯誤3326 該記錄集是不可更新」

任何幫助?

+0

什麼行給出錯誤?有沒有設置參數,過濾器和參數? –

+0

這是組合框行,給出了錯誤。該報告指出所有工作都很好,因爲我已經成功測試了這段代碼以生成報告。另外注意:組合框出現在按鈕所在的窗體上 – mattlore

+0

Me(「組合框」)=「生成報告」,這一行?這意味着什麼? –

回答

0

您正在更新的組合框綁定到表單記錄源的字段。而這個記錄源顯然不可更新。或者你可以編輯窗體上的綁定控件,並保存記錄?

或者您已將表格設置爲AllowEdits = False

如果recordource無法更改,可以通過執行UPDATE SQL更新DealStatusBox,然後刷新表單。

+0

謝謝安德烈!這似乎是我用於'DealStatusBox'的查詢是一個相當複雜的查詢,因此它不會允許編輯框,這會導致問題被轉移到表單中。所以我將使用SQL UPDATE來更改它。謝謝 – mattlore