更新子表单上的记录

Posted

技术标签:

【中文标题】更新子表单上的记录【英文标题】:Updating a record on a subform 【发布时间】:2019-07-09 09:01:26 【问题描述】:

我在 Access 中有一个主窗体和一个子窗体。主要形式是提供有关我的公司将使用的站点的信息。该子表单显示了在相关日期有空的所有个人,以便他们可以临时预订。这些表单无论如何都没有链接,因为在这个阶段,没有任何东西可以链接它们。

在我的子表单(这是一个连续表单)上,我有一个链接到更新查询的按钮。我想我需要某种 SetFocus 或标准来表明它仅适用于那一条记录。

UPDATE Dates SET Dates.[Booked?] = True, Dates.[Site ID] = [Forms]![Frm5 - EditMS]![ID];

当我为要预订的个人单击每条记录旁边的按钮时,它会更新所有记录,而不仅仅是我想要的记录。我试图在表格中添加标准=表单字段个体中的个体(显然是简要概述),但随后它要求我提供一个参数,因此它没有按我的计划工作。 我确实尝试搜索论坛,但似乎无法在搜索中找到正确的词来找到答案!我确定它在某个地方,但我不知道在哪里可以找到它!

提前感谢您的帮助:)

【问题讨论】:

【参考方案1】:

使用记录所在的子表单进行更新会更智能:

Private Sub BookButton_Click()

    If Me.[Booked?].Value = False Then
        Me.[Booked?].Value = True
        ' Save the record.
        Me.Dirty = False
    End If

End Sub

【讨论】:

感谢您的帮助。我已将其添加到其中并更改了正确的控件,但是,当我现在单击按钮时,出现运行时错误 2448 - 您无法为该对象分配值。 我也尝试将 sub 更改为函数,但这也不起作用:( 感谢您的帮助。如何将其从只读更改?我需要引用我需要更新的表吗? 刚刚查看了我在表单后面的查询,并且有一个连接,因此记录集不可更新。我删除了联接,并确保我能够调整表单中的数据并且我可以。但是,当我现在单击按钮时,什么也没有发生。它看起来好像正在运行,但表中没有任何更新。请问有什么想法吗? 没有您的疑问。

以上是关于更新子表单上的记录的主要内容,如果未能解决你的问题,请参考以下文章

重新查询或刷新无法更新打开表单上的子表单

访问使用列表框中选择的项目更新子表单

vba access 2010更新过滤子表单

带有子表单的表单 - 通过更新两个字段之一来查找记录

更新子窗体 Access 2010 时出错

从表单尝试时记录集不可更新,但如果仅加载子表单,则可以正常工作