前提
アクセスのデータを作成しています。
実現したいこと
アクセスのフォームにカレントコードを削除するボタンを作製したいです。
アクセスで開いているレコードのみを削除したいです。
発生している問題・エラーメッセージ
エラーは出ていませんが、下記コードを実行すると全てのレコードが削除されてしまいました。
ボタン作成時にはカレントレコードのみ削除できていましたが、他のフォーム等を編集していたらすべてのレコードが削除されるようになってしまいました。
該当のソースコード
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim vsql As String
Dim i As Variant
Dim x As Variant
Set db = CurrentDb()
x = Me!Frm見積書明細.Form.Recordset.RecordCount
If x = 0 Then
MsgBox "見積書明細の入力がない為削除できません"
Else
i = 見積ID vsql = "select * from T見積書 where 見積ID = '" & i & "'" Set rs = db.OpenRecordset(vsql, dbOpenDynaset) Me!Frm見積書明細.SetFocus DoCmd.RunCommand acCmdSelectAllRecords DoCmd.RunCommand acCmdSelectAllRecords DoCmd.RunCommand acCmdDeleteRecord DoCmd.SearchForRecord , , acFirst, "見積ID ='" & i & "'" Me!コンボ257.SetFocus DoCmd.RunCommand acCmdSelectAllRecords DoCmd.RunCommand acCmdDeleteRecord DoCmd.RunCommand acCmdSaveRecord Me.Refresh DoCmd.Close acForm, "Frm見積書", acSaveYes DoCmd.OpenForm "Frm見積書" DoCmd.SetWarnings True Application.Echo True rs.Close db.Close
End If
試したこと
途中stopをして一つずつコードを追っていきました。
DoCmd.RunCommand acCmdDeleteRecordの直前まではうまく動作しています。
補足情報(FW/ツールのバージョンなど)
エラーに気づく直前に下記urlを参考に未入力項目のチェックを出来るようにしようと試していました。
https://hatenachips.blog.fc2.com/blog-entry-507.html