【问题标题】:Error 2115 in Access 2016Access 2016 中的错误 2115
【发布时间】:2017-04-26 08:51:43
【问题描述】:

我有一个错误:

运行时错误 2115

为此字段设置为 BeforeUpdate 或 ValidationRule 属性的宏或函数阻止 Microsoft Access 保存该字段中的数据。

代码如下,第2行调试时Access中断:

Set rs = db.OpenRecordset("Select * from TransactionsC Where IDClient = '" & Extract & _
                           "' Order by IDTransaction DESC")
Set Me.EditTransactionsC_subform.Form.Recordset = rs
Me.EditTransactionsC_subform.Form.Requery
Set rs1 = db.OpenRecordset("Select Filed, Year, Notes from ClientNotes Where IDClient = '" & _
                            Extract & "' Order by Year DESC")
Set Me.ClientNotes_subform.Form.Recordset = rs1
Me.ClientNotes_subform.Form.Requery

我不知道错误是什么。

【问题讨论】:

    标签: ms-access ms-access-2013 ms-access-2016


    【解决方案1】:

    无需打开和设置记录集对象变量。

    Me.EditTransactionsC_subform.Form.RecordSource = "SELECT * FROM TransactionsC WHERE IDClient = '" & Extract "' ORDER BY IDTransaction DESC;"

    但是为什么要更改 RecordSource 属性呢?建议改用 Filter 和 FilterOn 属性或DoCmd.FindRecord

    【讨论】:

    • 我得到一个运行时错误 91。对象变量或 With block 变量未在修改的行上设置。
    • 抱歉,我复制/粘贴了您的包含 RecordSet 的子表单引用。请参阅我编辑的答案将其更改为 RecordSource。我只用过一次这种方法,它是为了一份报告。还是推荐其他方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-08
    • 1970-01-01
    相关资源
    最近更新 更多