| 2024/05/20(Mon) 17:48:46 編集(投稿者)
桐10s Windows10を使用しています。
日付絞り込み.TBXの項目名 日付 には ランダムに24/4/1〜24/4/30まで入力されいます。
日付絞り込み.WFX から コマンドボタンで 期間指定絞込.WFXをモーダルフォームで開き、 絞り込み開始日 と 絞り込み終了日 を入力して 日付絞り込み.WFXの日付を絞り込みたいと考えています。
名札 メイン 変数宣言 局所, 日時 { &mRefinementStartDate, &mRefinementEndDate }
表 "日付絞り込み.TBX" &mRefinementStartDate = [日付] &mRefinementEndDate = [日付] *
手続き定義開始 cmd絞込開始Click() 変数宣言 自動, 数値 { &ans } 変数宣言 自動, 文字列 { &title = "cmd絞込開始Click()", &msg }
表 "日付絞り込み.TBX" 解除 * if( .not #eof ) &msg = "絞り込み開始日 と 絞り込み終了日 が選択されました。" &msg = &msg + "\n日付 " + #文字列( &mRefinementStartDate ) + " 〜 " + #文字列( &mRefinementEndDate ) + "を絞り込みますか?" メッセージボックス &title, &msg, アイコン = i, ボタン指定 = 2, 制御文字展開 = する, &ans
if( &ans = 1 ) 絞り込み [日付] { &mRefinementStartDate<=[]<=&mRefinementEndDate } &msg = "絞り込み完了しました" メッセージボックス &title, &msg, アイコン = i, ボタン指定 = 1, 制御文字展開 = しない メソッド呼び出し 戻り値= &実行リターン, @cmd閉じる. 実行() else &msg = "キャンセルしました" メッセージボックス &title, &msg, アイコン = i, ボタン指定 = 1, 制御文字展開 = しない end
else &msg = "該当日が見当たりません" メッセージボックス &title, &msg, アイコン = i, ボタン指定 = 1, 制御文字展開 = しない end
手続き定義終了
この手続きですと、絞り込み開始日 と 絞り込み終了日 が正しく入力出来ていれば思った通りの動きになります。
しかし、 24/4/1 〜 24/3/1 の様に間違えた入力でも絞り込めてしまいます。 (絞り込みの結果は、絞り込んだ状態で全て未定義状態です)
良く考えてみると
else &msg = "該当日が見当たりません" メッセージボックス &title, &msg, アイコン = i, ボタン指定 = 1, 制御文字展開 = しない end
このプログラムは書いているだけで、エラー判断が無いので意味をなしてない気がします・・・
絞り込み期間入力を間違えた時 処理を止める方法が分かる方 お時間がある時教えて頂けたら幸いですm(__)m
|