【问题标题】:Access - Delete a record with an attachment field访问 - 删除带有附件字段的记录
【发布时间】:2017-06-18 10:21:34
【问题描述】:

我有一个包含表格中各种记录的连续表格。该表有大约 5 个字段,其中一个包含附件。附件不显示在表单上。

当我创建(并使用)删除按钮时,我收到一条消息,我将要删除一条记录并继续。该记录似乎已从表单中删除,因此它已被删除。但是,它不会被删除,因为它在刷新或重新打开时会返回。但是,存储在附件字段中的附件会被删除。 (我使用的是 Access 2016)

我尝试过使用自动删除记录按钮来创建宏。 我也尝试过使用以下代码,但得到了相同的结果。

Dim rst As DAO.Recordset

'If MsgBox("Are you sure you wish to delete this record?" & vbCrLf & "It cannot be undone?", vbYesNo + vbInformation, "Please confirm:") = vbYes Then
    'Set rst = Me.Recordset
    'If Not rst.EOF Then
        'rst.Delete
        'rst.MoveNext
    'End If


     'set rst = Nothing
'End If

也试过了

DoCmd.RunCommand acCmdDeleteRecord

并获得相同的结果。该记录在从表单中删除时显示为已删除。刷新或重新打开表单时会返回记录。该文档将从包含附件的字段中删除。请注意,在所有情况下,该字段中只有一个附件。

【问题讨论】:

  • 我没有在上面说明这一点,但我的目标是删除整条记录。
  • 另一条可能有用的信息。 -- 当我删除记录时,我说记录从我的表格中消失了。当我刷新时,它会重新出现,如果我再次尝试删除,我会得到“没有当前记录”。但是,如果我关闭并重新打开表单,记录就在那里(附件已删除),我可以尝试再次删除它,因为我没有收到“没有当前记录”的消息。但不会删除,只会从上述表格中消失。
  • 我在代码中添加了 -- Debug.Print rst!ID, rst!A_Name 并得到了我在正确记录上的预期结果。

标签: ms-access attachment record


【解决方案1】:

我在 Access 2013 中遇到了完全相同的问题,我怀疑这同样适用于 Access 2016,但我无法测试。我有一个包含 2-3 个字段和一个附件的子表单。当我删除表单中的行时,它从表单中删除了该行,但在刷新时返回该行。

在查看我的表单的属性时,记录源被设置为

SELECT * from Attachment

将其更新为“附件”解决了问题

当数据源设置为查询而不是链接到实际表时,似乎Access无法删除该行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-11
    • 2011-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多