使用记录源更新表单中的非绑定字段

时间:2016-11-25 11:39:14

标签: vba access-vba

我有一张记录来源为SELECT [AccountRunInProgress] from [AccountRunSummary]的表单。该表单包含一个文本框,其中包含一个日期,用于根据月份和年份(在AccountRunSummary表中定义为两个单独的字段)对上述记录源应用过滤器。

表单中的其他字段是绑定到AccountRunInProgress字段的复选框。勾选时,此框的OnClick事件会使用当前日期和时间在AccountRunSummary表中更新名为RunProgressStartDate的日期字段。

我在关闭表单时遇到写冲突错误 - 几乎可以肯定,因为我试图通过OnClick事件更新表,同时使用表作为记录源,尽管不绑定日期字段。日期在表中更新,但不是布尔值。

解决此问题的最佳做法是什么?我想在表单中添加RunProgressStartDate作为隐藏的绑定文本框并将其添加到记录源中,但我相当确定会导致更多问题而不是更少。

1 个答案:

答案 0 :(得分:1)

你走在正确的轨道上。

您无法同时通过绑定表单和更新查询(在VBA中)编辑记录。

IMO最好的解决方案是将RunProgressStartDate添加到记录源并作为表单的隐藏控件。

然后(重要!)在OnClick事件中设置此控件的值,不要使用Update查询写入表:

Me!RunProgressStartDate.Value = Date()

保存记录时将保存两个字段(复选框和日期)。