我有一个指向MySQL后端的访问2016数据库。我有一个包含子表单的表单。子表单是连续的表单视图。
我有机会输入子表单,现在当我的用户通过创建记录到下一条记录时,刚刚创建的记录在所有文本框字段中显示#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
如果选择外包操作,它会在PO字段中输入0。如果不是外包操作,则输入NULL。我发现如果将PO字段(MySQL中的int(5))设置为一个数字然后变为空白(VBA中的NULL或从表单中删除),当记录更新时,它会显示#Deleted直到刷新。如果我注释掉我的代码中的其他部分,一切似乎都有效,但如果操作不是外包的话,它也不会清空PO字段。这是我想保留的功能。
有什么想法吗?
答案 0 :(得分:0)
由于您声明使用 F5 刷新表单解决了问题,您可以添加:
Me.Refresh
之后
Me.opOutsourcedPO.Value = Null
这显然无法解决根本问题,但可能会提供解决方法。