【发布时间】:2016-07-30 17:42:11
【问题描述】:
我有以下代码,用于在 Microsoft Access 中用 Visual Basics 编写的删除按钮。
Private Sub Delete_Click()
If Not (Me.ComputerSubform.Form.Recordset.EOF And Me.ComputerSubform.Form.Recordset.BOF) Then
If MsgBox("Are you sure to delete?", vbYesNo) = vbYes Then
CurrentDb.Execute "DELETE FROM Computer " & _
" WHERE PCSN=" & Me.ComputerSubform.Form.Recordset.Fields("PCSN")
Me.ComputerSubform.Form.Requery
End If
End If
End Sub
第一次的话还不错。但是当我尝试删除另一条记录时,我会遇到“运行时错误 3021-没有当前记录”。我无法理解,因为代码对我来说很好,并且有可用的数据。我将不胜感激任何帮助。谢谢!
附:很抱歉,我无法发布我的表格,因为它包含大量机密数据。
【问题讨论】:
-
删除MS-Access记录集中的记录后,我相信您需要移动到下一行才能成功访问它。我已经有一段时间没有解决这个问题了,所以可能需要一些试验和错误。
-
@ron tornambe 谢谢!你是对的移动到下一行不会遇到这个问题。有编码方法解决吗?
-
试试@dbmitch 的回答,但我认为这可能会让你登上顶峰。你也可以试试 Me.ComputerSubform.Form.MoveNext
-
我试过@dbmitch 和你的建议,效果很好。 :) 以前,我的 PSCN 列是一个数字,但我现在需要将其更改为文本。我遇到“标准表达式文本中的运行时错误 3464 数据类型不匹配”。我知道这是一个简单的问题,但我不知道如何解决它。我可以再次寻求您的帮助吗?谢谢!
标签: ms-access