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