プロが教える店舗&オフィスのセキュリティ対策術

Accessで入力フォームを使用して入力をしていますが、
全項目の入力がされていない場合そのレコードを削除したいのです。
閉じるときに消そうと思い
DoCmd.RunCommand acCmdDeleteRecord
を入れてみたのですが、レコードの削除はできません、とメッセージが出てしまい消せません。
次のレコードを選択すれば消せるかと思い
DoCmd.GoToRecord , , acNewRec
を足してみたりしてみたのですが、やっぱりダメでした。

この場合はどのようにすればいいのでしょうか?

A 回答 (2件)

フォームのレコード更新前イベントを使ってください。



If IsNull(Me!コントロール名1) Or IsNull(Me!コントロール名2) Then
  MsgBox "入力をキャンセルします。"
  Me.Undo
End If

のように。

この回答への補足

すいません、更新前でしたね。
無事出来ました。
ありがとうございました。

補足日時:2004/10/08 13:37
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
これは、閉じるときのイベントでいいんですよね?
me.undo
入れてみたんですが、テーブルを見るとしっかりデータが入ってました。

お礼日時:2004/10/08 13:35

入力フォームでのレコード入力中は


まだそのレコードが確定したわけではありませんので

Me.Undo

でレコードに対する変更をキャンセルできますよ。
    • good
    • 1
この回答へのお礼

回答ありがとうございます。
これは、閉じるときのイベントでいいんですよね?
me.undo
入れてみたんですが、テーブルを見るとしっかりデータが入ってました。

お礼日時:2004/10/08 13:35

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