mysql - 如何阻止 Access 在记录更新后显示 #DELETED?

标签 mysql vba ms-access

我有一个指向 MySQL 后端的 access 2016 数据库。我有一个带有子表单的表单。子表单处于连续表单 View 中。

我有机会输入子表单,现在当我的用户通过创建记录切换到下一条记录时,刚刚创建的记录在所有文本框字段中显示#Deleted。按 F5 可以纠正问题,但这是我想避免的额外步骤。

这是我添加的代码。

Private Sub cboOperationNUM_AfterUpdate()

    If Nz(DLookup("[autoOut]", "[dataDetailOperations]", "[dataDetailOperations_NUM] = " & Me.cboOperationNUM.Value), "") = "" Then
        Exit Sub
    ElseIf DLookup("[autoOut]", "[dataDetailOperations]", "[dataDetailOperations_NUM] = " & Me.cboOperationNUM.Value) = -1 Then
        Me.opOutsourcedPO.Value = 0
    Else
        Me.opOutsourcedPO.Value = Null
    End If

End Sub

Video Capture of the problem

如果选择外包操作,则会在 PO 字段中输入 0。如果不是外包操作,则输入 NULL。我发现,如果 PO 字段(MySQL 中的 int(5))设置为一个数字,然后设为空白(VBA 中为 NULL 或从表单中删除),则更新记录时会显示 #Deleted,直到刷新。如果我注释掉代码的 Else 部分,一切似乎都能正常工作,但如果操作不是外包,则不会清空 PO 字段。这是我想保留的功能。

有什么想法吗?

最佳答案

既然您声明使用 F5 刷新表单可以解决问题,您可以添加:

Me.Refresh

之后

Me.opOutsourcedPO.Value = Null

这显然不能解决根本问题,但可能提供一种解决方法。

关于mysql - 如何阻止 Access 在记录更新后显示 #DELETED?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48449312/

相关文章:

MYSQL错误1005(HY000): Can't create table (errno: 121 "Duplicate key on write or update")

mysql - 从失败的插入中回收磁盘空间

excel - 用于更改过滤器的宏按钮

python - 计算由时间间隙分隔的连续每小时记录 block 的平均值

ms-access - 将DAO记录集转换为断开连接的ADO记录集dbDecimal问题

events - 每次预览/打印报表时会触发什么事件?

mysql - 使用 MySQL 全文搜索匹配部分单词?

mysql - 一起使用 ORDER BY 和 GROUP BY

excel - 与 .xla 加载项一起提供帮助内容的最佳方式

vba - 排序宏和数据验证宏