2016-08-09 54 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