程序如下:
With DataEnvironment1.rscmd_depar
If Not .EOF Or .RecordCount > 0 Then
If MsgBox("是否删除当前记录?", vbYesNo, "系统提示") = vbYes Then
.Delete
.MoveNext If .EOF And RecordCount > 0 Then .MoveLast
End If
End If
End With删除最后一条时就出错 实时错误'3021'
BOF或EOF为TRUE,或者当前记录已经删除.应用程序请求的操作需要当前记录.郁闷了半天都搞不懂那有问题,请高手指点.
With DataEnvironment1.rscmd_depar
If Not .EOF Or .RecordCount > 0 Then
If MsgBox("是否删除当前记录?", vbYesNo, "系统提示") = vbYes Then
.Delete
.MoveNext If .EOF And RecordCount > 0 Then .MoveLast
End If
End If
End With删除最后一条时就出错 实时错误'3021'
BOF或EOF为TRUE,或者当前记录已经删除.应用程序请求的操作需要当前记录.郁闷了半天都搞不懂那有问题,请高手指点.
.Delete 删除最后一条,记录指针已经到了EOF
在.MoveNext就会出错了
当最后一条记录删除后指针就EOF了,再MOVENEXT当然就错了。
If .RecordCount > 0 Then
If MsgBox("是否删除当前记录?", vbYesNo, "系统提示") = vbYes Then
.Delete
If Not .EOF Then .MoveNext If .EOF And RecordCount > 0 Then .MoveLast
End If
End If
End With
这段程序你自己检测过了吗?请高手指点
With DataEnvironment1.Recordset
If .RecordCount > 0 Then
If MsgBox("是否删除当前记录?", vbYesNo, "系统提示") = vbYes Then
.Delete
If Not .EOF Then .MoveNext If .EOF And RecordCount > 0 Then .MoveLast
End If
End If
End With
End Sub用RECORDSET的时候就没错~~~
DataEnvironment1是数据环境,而DataEnvironment1是没有Recordset这个属性的,只有Recordsets这个属性。继续请高手指点。
With DataEnvironment1.rscmd_depar
If .RecordCount > 0 Then
If MsgBox("是否删除当前记录?", vbYesNo, "系统提示") = vbYes Then
.Delete
.MoveNext
End If
If .EOF And RecordCount > 0 Then .MoveLast
End If
End With
Exit SubDeleteErr:
要不你在加一个判断
if .eof=ture or .bof=ture then
exit sub
end if
adore.Execute "delete from 表名 where 条件"
就可以将满足条件的语句全部删光了