Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


316 / 2272 ツリー ←次へ | 前へ→

【12155】Accessフォーム きり 12/7/4(水) 15:19 質問[未読]

【12155】Accessフォーム
質問  きり  - 12/7/4(水) 15:19 -

引用なし
パスワード
   Accessでフォーム機能を使って新規レコードを追加する時、入力途中でフォームを閉じる『×』ボタンを押下すると、
必須入力項目が未入力でない限り、レコードの追加がされない方法を教えてください

Accessでフォーム機能を使って新規レコードを追加する時、入力途中でフォームを閉じる『×』ボタンを押下すると、
必須入力項目が未入力でない限り、レコードの追加がされてしまいます。

例えば、

1.質問.accdbの質問用フォームの新規レコードを表示し、右上の『×』ボタンを押下する。
2.質問.accdbの質問用フォームの新規レコードを表示し、いずれかのテキストボックスに入力する。
オートナンバーを表示するIDのテキストボックスに数値が自動挿入された状態を作り、右上の『×』ボタンを押下する。

の場合、1では新規レコードがテーブルに追加されることなくフォームが閉じられます。しかし、2の場合はレコードが追加
されてしまいます。2のような場面で『×』ボタンを押下した時に、レコードの追加をしないようにする方法はありますか?

『×』ボタンが使えないようにして、VBA(コマンドボタン)からフォームを閉じる記述に変更しても、フォームを閉じる行為
がレコード追加の発生根拠なのか、思い通りにいきませんでした。次に、Form_AfterInsert()メソッド内にCanselプロパティ
を使用し、更新処理前に新規レコードの追加をキャンセルしようとしましたが、効果がありませんでした。
現在は、同メソッド内に直前に登録したレコードを削除する「DoCmd.RunCommand acCmdUndo」を記述し、とりあえずの対応を
していますが、いちいち確認ダイアログボックスが表示されるのでストレスフリーには程遠い状態です。

316 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078191
(SS)C-BOARD v3.8 is Free