
いつもお世話になります。基本的なことかもしれませんがAccess初心者でよくわからないので
教えて下さい。
Access2010でテーブルからレコードを読み出すフォームを作成し、そのレコードを削除するため、
フォーム上に削除ボタンを設定しました。
削除ボタンをクリックすると小さなウインドウが開き下記のようなメッセージが表示されます。
1件のレコードを削除します。
「はい」をクリックすると、削除したレコードを元に戻すことはできません
「はい(Y)] 「いいえ(N)]
メッセージのウインドウの下には読みだしたレコードのフォームが表示されていますが、
キーとなる顧客コード(数字6桁)の欄には #エラー と表示され、その他の項目はすべて
ブランクになります。
「はい」をクリックするとレコードは削除されるので処理的には問題ないのですが、
削除する前に確認するためフォーム上の項目を表示したまま残したいです。
どのようにすればよいでしょうか?
削除ボタンのクリック時の埋め込みマクロの内容は以下のように設定しています。
エラー時
移動先 次
マクロ名
コントロールの移動
コントロール名 = [Screen].[PreviousControl].[Name]
マクロエラーのクリア
If not [Form].[Newrecord] Then
メニューコマンドの実行
コマンド レコードの削除
If文の最後
If [Form].[Newrecord] And Not [Form].[Dirty] Then
警告文
If文の最後
If [Form].[Newrecord] And [Form].[Dirty] Then
メニューコマンドの実行
コマンド レコードを元に戻す
If文の最後
If [MacroError] <> 0 Then
メッセージボックス
メッセージ = [MacroError].[Description]
警告音 はい
メッセージの種類 なし
メッセージのタイトル
If文の最後
ウインドウを閉じる
オブジェクトを閉じる
オブジェクトの種類
オブジェクト名
オブジェクトの保存 確認
参考にしたAccessのプログラムから削除ボタンをコピーしたため、これが適しているかどうか
わかりません。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
レコードの削除 実行前、削除の確認メッセージが出ないように設定します。
そのままでは、メッセージなしに削除されてしまいますので、自前で Msgbox関数で確認メッセージを出します。
下記の部分を、
If not [Form].[Newrecord] Then
メニューコマンドの実行
コマンド レコードの削除
If文の最後
下記のように変更してください。
If Not [Form].[NewRecord] And Eval("MsgBox('レコードを削除します。@「はい」をクリックすると、削除したレコードを元に戻すことはできません。@削除してもよろしいですか?',52)")=6 Then
メッセージの設定
メッセージの表示 いいえ
メニューコマンドの実行
コマンド レコードの削除
メッセージの設定
メッセージの表示 はい
If文の最後
「メッセージの設定」アクションを表示させるには、リボンの[マクロツール]-[デザイン]の「すべてのアクションを表示」を押し込んでおいてください。

いつもありがとうございます。
おかげさまで解決しました。
まだまだ知らないことが多くお知恵を拝借したいことも多々あると思います。
またよろしくお願いします。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行すると メッセージボックスが表示されて okをク 4 2023/07/05 19:32
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) 2つのマクロを連続して動かしたい 3 2022/09/20 23:46
このQ&Aを見た人はこんなQ&Aも見ています
-
Access「レコードが削除されました」のエラー
Access(アクセス)
-
「実行時エラー '3167' レコードは削除されています。」を回避する方法
Visual Basic(VBA)
-
Access VBA Me.Requery レコードは削除されています エラー
その他(データベース)
-
-
4
Accessでエラーメッセージの表示を消したい
その他(データベース)
-
5
レコード削除時に(サブ)フォームに表示される#Deleted"について"
Access(アクセス)
-
6
アクセスのフォームで、文字を中央揃えにしたい
Access(アクセス)
-
7
Accessの画面更新を一時的に停止する方法。
その他(データベース)
-
8
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
9
ACCESSのフォーム、開くんですが、見えないようにするには
Access(アクセス)
-
10
ACCESS2010 実行時エラー 2766
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
3つ以上のテーブルをUNIONする...
-
Access VBA Me.Requery レコー...
-
Accessにインポートしたら並び...
-
データの二重表示の原因
-
(ACCESS)並び替えをしないで...
-
ACCESSのBookmarkプロパティの...
-
NULLを1に変換するには
-
oracleでのmerge文のようなもの...
-
キーが重複したレコードを無視...
-
重複のグループ化に関する質問
-
数百万件レコードのdelete
-
パススルークエリの使い方
-
Access 削除クエリが重い
-
SQLについて
-
データのページ切り替え表示方...
-
Access2007 削除クエリで複数テ...
-
DB INSERT 時の排他制御について
-
相互データがあるの情報を取りたい
-
SQLiteで最も古いレコードのみ...
-
イベントについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
3つ以上のテーブルをUNIONする...
-
Accessにインポートしたら並び...
-
データの二重表示の原因
-
Access 1レコードずつcsvで出力...
-
数百万件レコードのdelete
-
ACCESSのBookmarkプロパティの...
-
テーブルのレコード削除ができ...
-
ManagementStudioからのデータ削除
-
Access VBA Me.Requery レコー...
-
Access 削除クエリが重い
-
非連結サブフォームのレコード...
-
SQLデータ修正時に『このレコー...
-
レコードロックする方法
-
(ACCESS)並び替えをしないで...
-
Accessの固有レコード識別子の選択
-
SQLServerで同一条件レコードの...
-
Accessで重複したデータを一件...
-
Accessでの排他制御
-
Accessでレコードが更新された...
-
Access カレントレコードがあり...
おすすめ情報