ADODBのRecordset.Deleteのエラーについて誰か助けてください!!
データベースはAccess2000 プロバイダはJet4.0です。
(1)まずレコードがない状態でレコードを追加します。
(2)そのまま削除ボタンを押します。
(3)エラーが発生します。
「行が見つからなかったため更新できません。列の値は最後に読み込
まれた後で変更された可能性があります。」
(4)終了し起動します。
(5)なぜかレコードが1件あります。(削除が失敗?)
(6)削除します。メッセージボックスがでて削除成功します。
このときレコードはありません。(データグリッド上)
(7)レコードを追加します。成功します。
(8)削除するとデータグリッド上ではレコードがあるのに
メッセージボックスが出て追加を促してきます。
(9)追加して削除するとまたメッセージボックスが出てきます。
このときデータグリッド上のレコードは増えています。
(8)~(9)が繰り返しおきます。
その後vbを終了させてAccessで内容を確認するとレコードが増えていますが、
顧客IDフィールドの増加処理がされていなくすべて1になっています。
Update,Addnew,Deleteメソッドの理解が不十分なのか、カーソルの位置
の理解不足なのかわかりません。
どなたか手を貸してください。
Private Sub cmdDelete_Click()
If Rs.RecordCount = 0 Then
MsgBox "レコードがありません。追加してください。", vbOKOnly
Exit Sub
End If
Rs.Delete
If Rs.RecordCount = 0 Then
MsgBox "レコードがありません。追加してください。", vbOKOnly
Exit Sub
End If
Rs.MoveNext
If Rs.EOF Then
Rs.MoveLast
End If
End Sub
Private Sub cmdNew_Click()
Rs.AddNew "顧客ID", "増加する処理済"
End Sub
Private Sub cmdUpdate_Click()
Rs.Update
End Sub
補足
回答ありがとうございます 処理自体は1行ずつ削除していく処理なのですが 複数行選択しているときにDELキーを押すと データグリットコントロールのエラーが 出てしまい困ってます。