我有一个Access数据库前端,我试图在表单上放置一个按钮以删除当前记录。我使用以下VBA代码删除记录:
If Me.NewRecord Then
Me.Undo
Exit Sub
End If
DoCmd.RunCommand acCmdDeleteRecord
Me.Requery
Me.Refresh
当我使用表单插入数据库时,在DoCmd上返回运行时错误'2501'] >>。但是,如果我在数据库中已经存在的记录上运行它,则代码将按预期完成。
此外,没有其他人正在访问该数据库表,而我只打开了一个表单。
当我在访问中手动从链接表中删除它们时,遇到了相同的错误,但是我可以使用SQL Server Management Studio从数据库中将它们删除。
什么会导致这种情况发生?
编辑
我进行了更多调查,发现我也无法使用访问权限在基表中编辑新记录。我收到有关另一个用户更改记录的错误。
我有一个Access数据库前端,我试图在表单上放置一个按钮以删除当前记录。我使用以下VBA代码删除记录:If Me.NewRecord然后Me.Undo ...
除了建议在表中具有时间戳字段(当您使用它从Access进行升迁时,SSMA助手会将此时间戳添加到所有表中,这绝对是我的建议),我对您的代码有一些批评。我会这样写:
这不是您的特定问题的答案,但是关于获得Error 2501 while trying to delete a record
的问题标题,这是另一种情况: