代码很简单,如下:Private Sub cmddelete_Click() '删除rs中的当前记录 rs.Delete rs.Update '如果所删除的是最后一条记录 If rs.EOF = True Then rs.MoveLast End If '如果rs中已经没有了记录 If rs.RecordCount = 0 Then cmddelete.Enabled = False End If End Sub
没有主键导致有重复值引起 加入主键即可解决 或者用sql语句作删除cn.execute "delete from table1 where..."
Private Sub cmd_Delete_Click() If rs.BOF Then Cmd_Delete.Enabled = False MsgBox "表中已无记录" Exit Sub End If rs.Delete If rs.RecordCount = 0 Then rs.Requery '当datagrid中没有记录时刷新记录数 If rs.BOF Then Cmd_Delete.Enabled = False MsgBox "表中已无记录" Exit Sub End If End IfEnd Sub
代码很简单,如下:Private Sub cmddelete_Click()
'删除rs中的当前记录
rs.Delete
rs.Update
'如果所删除的是最后一条记录
If rs.EOF = True Then
rs.MoveLast
End If
'如果rs中已经没有了记录
If rs.RecordCount = 0 Then
cmddelete.Enabled = False
End If
End Sub
加入主键即可解决
或者用sql语句作删除cn.execute "delete from table1 where..."
If rs.BOF Then
Cmd_Delete.Enabled = False
MsgBox "表中已无记录"
Exit Sub
End If
rs.Delete
If rs.RecordCount = 0 Then rs.Requery '当datagrid中没有记录时刷新记录数
If rs.BOF Then
Cmd_Delete.Enabled = False
MsgBox "表中已无记录"
Exit Sub
End If
End IfEnd Sub
解决方法:在现有的表最后增加一个流水号(自动编号)字段,设为“主键”,排序为唯一。