アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になります。基本的なことかもしれませんが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のプログラムから削除ボタンをコピーしたため、これが適しているかどうか
わかりません。
よろしくお願いします。   

A 回答 (1件)

レコードの削除 実行前、削除の確認メッセージが出ないように設定します。


そのままでは、メッセージなしに削除されてしまいますので、自前で Msgbox関数で確認メッセージを出します。

下記の部分を、

If not [Form].[Newrecord] Then
    メニューコマンドの実行
          コマンド レコードの削除
If文の最後

下記のように変更してください。

If Not [Form].[NewRecord] And Eval("MsgBox('レコードを削除します。@「はい」をクリックすると、削除したレコードを元に戻すことはできません。@削除してもよろしいですか?',52)")=6 Then
    メッセージの設定
          メッセージの表示 いいえ
    メニューコマンドの実行
          コマンド レコードの削除
    メッセージの設定
          メッセージの表示 はい
If文の最後


「メッセージの設定」アクションを表示させるには、リボンの[マクロツール]-[デザイン]の「すべてのアクションを表示」を押し込んでおいてください。
「Accessでのレコードの削除時の表示に」の回答画像1
    • good
    • 0
この回答へのお礼

いつもありがとうございます。
おかげさまで解決しました。
まだまだ知らないことが多くお知恵を拝借したいことも多々あると思います。
またよろしくお願いします。
ありがとうございました。

お礼日時:2012/10/29 12:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A