- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Accessフォームの日付選択カレンダーとイベント)
Accessフォームの日付選択カレンダーとイベント
このQ&Aのポイント
- Accessフォームの日付選択カレンダーを使いたいが、テキストボックスの更新前イベントが検知できない問題に困っています。
- 契約の有効開始日を変更すると他の項目の値をクリアする必要があり、その警告を表示したいです。
- 日付選択カレンダーと更新前イベントは両立しないため、他の方法を探しています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
当方の Access2013 で確認したところ、日付選択カレンダーがオンでも更新前イベントは発生します。 Office 365 でも同じだと思うのですが、違うのかな? ただ、カレンダーで日付を選択した直後では発生しません。Enterキーを押す、別のコントロールへ移動するなどの更新確定操作をした後で発生します。 日付選択カレンダーがオフでもこの動作は同じです。キーボードで日付を変更してから、Enterキーを押す、別のコントロールへ移動するなどの操作が必要です。
お礼
教えていただいたとおり、他のコントロールに移動した時点で更新前イベントが発生しますね。 でもワーニングの答えがNoでCancel=Trueにしても更新後の値は残ったままなのが謎です。 SendKeyでエスケープを送るなどすればよいのでしょうか。
補足
hatena1989さん、回答ありがとうございます。 私の質問があいまいだったようです。 やりたいことは、こういうことです。 1.契約の有効開始日の更新が入ったところでチェックを入れる。 (この場合、更新前イベントがいいのですよね?) 2.有効開始日に関係ある項目が設定済みなら下記のワーニングを出す。 「有効開始日を変更したら○と●の値がクリアされますが、変更しますか」。 3.2の答えがNoだったら変更をキャンセル。 >ただ、カレンダーで日付を選択した直後では発生しません。 >Enterキーを押す、別のコントロールへ移動するなどの更新確定操作をした後で発生します。 ということですが、更新確定した後ならたぶんキャンセルってできませんよね。 日付選択カレンダーは新規入力のときだけ有効にするといったことが考えられますが、できれば更新時も使いたいです。