acCmdDeleteRecord
連結フォームのカレントレコードを削除します。
Call DoCmd.RunCommand(acCmdDeleteRecord)
削除時に確認メッセージを表示しますが、「いいえ」を応答すると実行時エラー '2501' を発生します。
1 件のレコードを削除します。
[はい] をクリックすると、削除したレコードを元に戻すことはできません。
これらのレコードを削除してもよろしいですか?
[はい] [いいえ]
実行時エラー '2501':
RunCommand アクションの実行は取り消されました。
処理方法1
これを処理するには、エラーをトラップします。
Private Sub コマンド1_Click()
On Error GoTo ErrorHandler
Call DoCmd.RunCommand(acCmdDeleteRecord)
On Error GoTo 0
Exit Sub
ErrorHandler:
If Err.Number = 2501 Then
Call MsgBox("レコードの削除を取り消しました。")
End If
End Sub
また、レコードがない時は、実行時エラー '2046' を発生します。
処理方法2
DoCmd.SetWarnings メソッドでメッセージを抑制し、自前で処理することもできます。
Private Sub コマンド1_Click()
If MsgBox("現在のレコードを削除しますか。", vbOKCancel) = vbOK Then
Call DoCmd.SetWarnings(False)
Call DoCmd.RunCommand(acCmdDeleteRecord)
Call DoCmd.SetWarnings(True)
End If
End Sub