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

お世話になります。
VB.NET初心者です。

表題について早速質問がございます。

現在カレンダーコントロールを使用し、とあるシステムを作成しています。
そのカレンダーコントロールを使用した画面のイメージなんですが、

画面には、
開始日、終了日を指定し、検索ボタンをクリック(F1ボタンでもOK)して、
その日付の範囲に該当するデータをDBより取得するというものです。
日付の範囲指定に矛盾がないようにチェックしているんですが、
(開始日より終了日の方が日付が古くないかなど)

たとえば、
(1)開始日:「2008年7月12日」~終了日:「2008年7月20日」を
クリックして選択し、検索ボタンをクリックすると、
データが正常に表示されます。

そして、あえて、チェックにひっかかるように、
(2)開始日:「2008年7月12日」~終了日:「2008年7月10日」を
クリックして選択し、検索ボタンをクリックすると、
範囲が矛盾している旨のメッセージが出力されます。

ところが、
まず(1)を行った後、(2)の検索ボタンをクリックするのではなく、
F1ボタンを押しても、範囲が矛盾している旨のメッセージが
出力されず、(1)の範囲がそのまま有効になってしまっているんです。
続けてF1を押すと、ちゃんと範囲が矛盾している旨のメッセージが出るというものです。

チェックを有効にするには、どうしたらいいんでしょうか?
ちなみに、チェックは、

Me.DAY_From.Text:開始日
Me.DAY_To.Text:終了日

If Date.Parse(Me.DAY_From.Text) > Date.Parse(Me.DAY_To.Text) Then

End If

という感じでしています。

宜しくお願い申しあげます。

A 回答 (1件)

ボタンをクリックした場合と F1キーを押した場合の処理ルーチンの差異はないのでしょうか?



どうもF1キーを押した場合に前回の結果(状態)からチェックを行っているように思います
変数などに取り込んだ物をチェックしているのではありませんか?

チェックルーチンを関数(ファンクション)にしておくなど 同一条件でチェックするようにしましょう
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

ご指摘いただいた件が該当するのかわかりませんが、
解決いたしました。

カレンダーコントロールからフォーカスが離れた時点で、
日付の値が確定するんですね。

ですので、日付のチェックを行う直前で、
フォーカスを別の場所に移し、
(この状況では検索ボタンに移しました。)
日付範囲のチェックをしました。

ご協力ありがとうございました。

お礼日時:2008/08/05 18:07

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