3021は、問題のあるBOFまたはEOFの出現は、そこに本物である、または現在のレコードが削除されているであり、現在のレコードが必要です。
まず第一に、私たちはBOFとEOFが何であるかを見つける必要があり
最後の記録位置が現在のオブジェクトのレコードセットで前のBOFは、レコードを参照します
EOFは、Recordsetオブジェクトの後にある最後のレコードの現在の記録位置であります
EOFの戻り値とBOFは以下のとおりです。
BOF:真の前面に一列にポインタの現在位置を示します
偽、最初の行のポインタの現在位置を示す、最初の行または背面
EOF:Trueの場合の最後の行の後にポインタの現在位置を示します
ポインタを示す偽の最後の行に、または最後の行の前の位置です。
レコードのデータベースが空の検索1.。
2.データ、デルコマンドで削除レコードを検索し、その後、引用エラーがフィールドの後に起こります。
3.コマンドは、データベースに移動した後にMoveFirst MovePreviousの各コマンドまたはMovePreviousの各で開始しています。
図4は、使用または使用のMoveNextのMoveLastのMoveNextコマンドの後データベースコマンド開始に移動されています。
これは、データベースのデータではありません。
Private Sub Cmddelete_Click() '删除
str2$ = MsgBox("是否删除当前记录?", vbOKCancel, "删除当前记录")
If str2$ = vbOK Then '点击确定
mrc.Delete '删除记录
mrc.MoveNext '指针往下走
If mrc.EOF Then '判断是否删
If mrc.RecordCount = 0 Then '判断上边有没有记录
'如果没有的话卸载窗体
MsgBox "无记录!"
Unload Me
Else
mrc.MoveFirst '否则指向第一条记录
Call viewData
End If
End If
End If
End Sub