■記事リスト / ▲上のスレッド
■14350 / 親記事) |
期間絞込でのエラー時対応について
|
□投稿者/ ジェダイの桐 -(2024/05/20(Mon) 09:54:05)
| 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
|
|
|
▽[全レス31件(ResNo.27-31 表示)]
■14385 / ResNo.27) |
Re[7]: モジュール化はフォームのレベルでも必要
|
□投稿者/ ONnoji -(2024/05/23(Thu) 22:57:26)
| 2024/05/24(Fri) 00:21:18 編集(投稿者) 2024/05/23(Thu) 23:57:06 編集(投稿者)
今回の質問のゴールであるポップアップウィンドウ(モーダルフォーム)で開始日時と終了日時を指定して、
呼び出し元のフォームの編集対象表のレコードを絞り込むという目的は達成できましたね。パチパチパチ (^^v♪
今回もですが、Win桐の「フォーム+イベント処理」にしても(エクセルのVBAにしてもですが)、つくづく思いましたが初級者には難しいですね。
これは自動車の運転と同じですね。※自動車の免許を持っていない人は初めて自転車に乗る時を思い出してください。
当然ですが、誰でも最初から自動車を自由自在に運転できるワケではありませんよね。
同じく、当然ですが、誰でも最初からジェット旅客機のパイロットになれるワケではありませんよね。
だから、最初から自分が何でも出来ると思うのは誤りですね。
つまり、どんな事でも、少しづつ経験を積み重ねていかなければ一人前にはならないものなのですよね。
これって、会社の仕事もしかりで何にでも当てはまりますよね。
もしも、「フォーム+イベント処理」を上達したいと志すのであれば、経験をたくさん積んでください。
きっと、AKさんもその事をを伝えたかったのだと思いますよ。
◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇
桐の「フォーム+イベント処理」では、内容にもよりますが、マイクロソフト社のVBやC#で作成したアプリケーションと遜色の無いくらいのアプリケーションが作れますよ。
こんなにも、簡単にお手軽にアプリケーションが作れるのに放って置くのは勿体ないと思いませんか?
いま流行の、「きんとん雲」より少しだけ手間が掛かりますが、「痒いところに細かに手が届く」アプリケーションが作れるのはWin桐くらいかと思いますよ。
私( ONnoji )は、Win桐をアプリケーション開発のプラットフォームだと発信してきました。
だから、Win桐でアプリケーションを開発する人は、もっともっともっと自信を持っていただきたいのでありますゾ!。
◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇
ジェダイの桐さんの質問投稿を読むと、AKさんもですが私( ONnoji )も自分自身の昔の姿を思い起こしてしまうのですよ、
だから、気になって仕方が無いのですね。アハハha
というわけで、毎回のようにツリーが膨張してごめんなさいね。(^^ゞ > 【多遊】さん
p.s.
元々は人工知能を批判する哲学者が提唱したものですが・・・
「ドレイファスモデル」という超有名な学習に関するモデルがあります。
是非、お読みください。※随分昔に私( ONnoji )はアスキー刊の[純粋人工知能批判( 原題:Mind Over Machine )を読んで感銘を受けましたよ。
こちら ↓ ドレイファスモデルとは何か?技能の5段階と各段階にあわせた対応方法を解説 | Promapedia(プロマペディア) https://ssaits.jp/promapedia/method/dreyfus_model.html
ドレイファスモデル:直観力の習得 – アイ&カンパニー https://iandco.jp/ex/dreyfus/
> ドレイファスモデル:直観力の習得 > > 1. 初心者、Novice :経験がほとんどない > > 2. 中級者、Advanced beginner :自分だけでは問題解決にてこずる > > 3. 上級者、Competent :自分で問題解決できる > > 4. 熟練者、Proficient :自分で学び成長することができる > > 5. 達人、Expert :直観で行動できる
ちなみに、現在では「パトリシア・ベナーの看護理論」の方が有名かもしれませんが、内容は同じですよ。
|
|
|
■14386 / ResNo.28) |
Re[10]: モジュール化はフォームのレベルでも必要
|
□投稿者/ ジェダイの桐 -(2024/05/24(Fri) 09:37:14)
| AKさん
おはようございます!
> ONnojiさんのHPは難しいと感じるかもしれませんが私が知りうる限りではイベント処理の勉強では間違いなく一番参考になると思います。 > 同様にAkomeさんのHPも参考になると思います。 > ぜひ見よう見真似をした上で自力で作成してみてください。
今回の件で、本当の意味で理解出来た事があります。 それは、切羽詰まらない(必要に迫られない)と真剣なつもりなんだなぁって事です。
ONnojiさんのホームページを何回も読んでいるのですが、 フォームアプリケーション教書 第1部 9.2 に実行条件の事が書いてあります。 具体的な使用方法は今回学べたのですが、ヒントが既に提示されているんですよね・・・
正に読んだつもり状態ですよね。(ヤレヤレです(T_T))
> しかし繰り返し作っていって慣れてくれば、いづれ「今度はこうしたい!」という意欲がわいてきてドンドン上達すると思います。 > 初心者、初級者はこの繰り返しの実践しかありません。 > そして今回のような要求に耐えうる知識と技術が少しずつ身につくと思います。
取り組み続けていきますね! (実際、桐のプログラム(仕掛け)を考えるのは楽しいですし、上手くいった時は嬉しいです(^^)/)
> 次回は一から自作されたフォームとイベントファイルの質問を拝見させていただければなぁと勝手に思っております。^^
はい! その時が来ましたら、助言の程よろしくお願いしますm(__)m
|
|
|
■14387 / ResNo.29) |
Re[8]: モジュール化はフォームのレベルでも必要
|
□投稿者/ ジェダイの桐 -(2024/05/24(Fri) 10:12:41)
| ONnojiさん
おはようございます!
> 今回の質問のゴールであるポップアップウィンドウ(モーダルフォーム)で開始日時と終了日時を指定して、 > > 呼び出し元のフォームの編集対象表のレコードを絞り込むという目的は達成できましたね。パチパチパチ (^^v♪
本当に嬉しいです! ありがとうございましたm(__)m 桐に不慣れな人も喜んでいます。喜んで貰える設計(構造)に助言を貰いながら作成出来た事も嬉しいです!
> つまり、どんな事でも、少しづつ経験を積み重ねていかなければ一人前にはならないものなのですよね。 > > これって、会社の仕事もしかりで何にでも当てはまりますよね。 > > もしも、「フォーム+イベント処理」を上達したいと志すのであれば、経験をたくさん積んでください。
> きっと、AKさんもその事をを伝えたかったのだと思いますよ。
> ジェダイの桐さんの質問投稿を読むと、AKさんもですが私( ONnoji )も自分自身の昔の姿を思い起こしてしまうのですよ、 > > だから、気になって仕方が無いのですね。アハハha
私は幸せ者です。 だって、色んな人に気にかけて貰えているのですから。 ありがとうございます!
図(ダイアグラム)を書いて、やりたい事を定める事を習慣づけます。
シンプルなのに、やりたい事が実現でき 且つ 分かりやすい。 サンプル作成頂いたアプローチが衝撃的でした。
コマンドボタンの機能 モーダルフォームの機能を見定める。 コマンドボタンの機能(使い方)の認識が変わりました。 これが凄く重要ですね。 今回の件で良く分かりました。
> こちら > ↓ > ドレイファスモデルとは何か?技能の5段階と各段階にあわせた対応方法を解説 | Promapedia(プロマペディア) > https://ssaits.jp/promapedia/method/dreyfus_model.html > > > ドレイファスモデル:直観力の習得 – アイ&カンパニー > https://iandco.jp/ex/dreyfus/ > >>ドレイファスモデル:直観力の習得 >> >>1. 初心者、Novice :経験がほとんどない >> >>2. 中級者、Advanced beginner :自分だけでは問題解決にてこずる >> >>3. 上級者、Competent :自分で問題解決できる >> >>4. 熟練者、Proficient :自分で学び成長することができる >> >>5. 達人、Expert :直観で行動できる
この記事を読んでいきます! 教えて頂きありがとうございます!
p.s.
>【本当に必要なメッセージと不要なメッセージ】
>サンプルでは、デバッグ目的でメッセージボックスを表示していますが、
>特に else つまり、[OK]ボタン以外、つまり[キャンセル]・ボタン[×]ボタン・[Esc]キーを押すの場合には、
>メッセージボックスを出す必要はありませんよ。※デバッグ中を除く
>なぜならば、モーダルフォームを[キャンセル]・ボタン[×]ボタン・[Esc]キーを押した人は、
>作業の取り消しの意思を示したのですから、ご丁寧に"キャンセルしました〜(^^♪"なんて表示するのは手間を増やすだけの余計なお節介です。 >・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
>お節介なメッセージが欲しいのは開発者がテストをしている時だけです。 >・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
>なので、実際に運用する時には、 else 側のメッセ―ボックスは表示されないようにコメントアウトしてください。
ずっと不思議な事がありました。 あこめさんの入門講座 Chapter4 でメッセージボックスが出てきます。
◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇
else 確認 "中止しました"
キャンセルした際の表示なので、実際に稼働している時には不要でしょう。 ここではメッセージボックスが動作したかどうかのデバック用に設定したわけです。
◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇
と、解説が出てきます。 私としては、せっかく作ったのに何故不要なんだろう?? と思っていた訳ですが、ONnojiさんのコメントで解決しました!
今なら、意味が理解出来ますし "キャンセルしました" は作業者にとって煩わしいですね。
|
|
|
■14393 / ResNo.30) |
Re[9]: モジュール化はフォームのレベルでも必要
|
□投稿者/ ONnoji -(2024/05/26(Sun) 16:15:44)
| 2024/05/26(Sun) 16:38:46 編集(投稿者)
コマンドボタンの機能名の種類がたくさんあるので、一覧表の形式よりもWBSの形式の方が見やすそうです。
試しにこんな感じで作ってみました。
ご参考になれば。
1 コマンドボタン │ ├ 1.1 ファイル │ ├ 1.1.1 閉じる │ ├ 1.1.2 上書き保存 │ ├ 1.1.3 開く │ ├ 1.1.4 表整理 │ ├ 1.1.5 結合表の再抽出 │ ├ 1.1.6 読み込み_表 │ ├ 1.1.7 読み込み_テキスト │ ├ 1.1.8 読み込み_K3 │ ├ 1.1.9 読み込み_CSV │ ├ 1.1.10 読み込み_PDF │ ├ 1.1.11 書き出し_表 │ ├ 1.1.12 書き出し_テキスト │ ├ 1.1.13 書き出し_K3 │ ├ 1.1.14 書き出し_CSV │ ├ 1.1.15 書き出し_転置 │ ├ 1.1.16 書き出し_表の枠組み │ ├ 1.1.17 書き出し_外部データベース │ ├ 1.1.18 併合 │ ├ 1.1.19 一覧表印刷 │ └ 1.1.20 レポート印刷 │ ├ 1.2 編集 │ ├ 1.2.1 訂正 │ ├ 1.2.2 表示/訂正 │ ├ 1.2.3 表示 │ ├ 1.2.4 ジャンプ │ ├ 1.2.5 フォーカス移動 │ ├ 1.2.6 検索_条件名 │ ├ 1.2.7 検索_比較式 │ ├ 1.2.8 検索_値 │ ├ 1.2.9 次を検索 │ ├ 1.2.10 前を検索 │ ├ 1.2.11 次を検索_比較式 │ ├ 1.2.12 前を検索_比較式 │ ├ 1.2.13 項目置換 │ ├ 1.2.14 置換_条件名 │ ├ 1.2.15 元に戻す │ ├ 1.2.16 削除 │ └ 1.2.17 すべて選択 │ ├ 1.3 クリップボード │ ├ 1.3.1 コピー │ ├ 1.3.2 切り取り │ └ 1.3.3 貼り付け │ ├ 1.4 表示 │ ├ 1.4.1 ズームイン │ ├ 1.4.2 ズームアウト │ ├ 1.4.3 表編集へ │ ├ 1.4.4 フォームの選択 │ ├ 1.4.5 削除行 │ └ 1.4.6 スラッシュメニュー │ ├ 1.5 行操作 │ ├ 1.5.1 行挿入 │ ├ 1.5.2 行追加 │ ├ 1.5.3 行削除_指定行 │ ├ 1.5.4 行削除_全行 │ ├ 1.5.5 行復活_指定行 │ ├ 1.5.6 行復活_全行 │ ├ 1.5.7 レコードロック_指定行 │ ├ 1.5.8 レコードロック_現在行 │ ├ 1.5.9 ロック解除_全行 │ ├ 1.5.10 絞り込み_条件名 │ ├ 1.5.11 絞り込み_比較式 │ ├ 1.5.12 絞り込み_値 │ ├ 1.5.13 絞り込み_指定行 │ ├ 1.5.14 絞り込み_単一化 │ ├ 1.5.15 絞り込み_重複行 │ ├ 1.5.16 絞り込み_行数 │ ├ 1.5.17 絞り込み_同一値 │ ├ 1.5.18 補集合 │ ├ 1.5.19 並べ替え_条件名 │ ├ 1.5.20 並べ替え_昇順 │ ├ 1.5.21 並べ替え_降順 │ ├ 1.5.22 絞り込み_解除 │ ├ 1.5.23 解除 │ ├ 1.5.24 グループ指定 │ ├ 1.5.25 グループ検索 │ ├ 1.5.26 グループ値訂正 │ ├ 1.5.27 グループ追加 │ ├ 1.5.28 グループ再抽出 │ └ 1.5.29 グループ解除 │ ├ 1.6 入力 │ ├ 1.6.1 直前値 │ ├ 1.6.2 直前行 │ └ 1.6.3 値複写 │ ├ 1.7 ウィンドウ │ ├ 1.7.1 多重化_表編集 │ └ 1.7.2 多重化_フォーム編集 │ ├ 1.8 Webビュー ※桐sSLで新しく追加されたグループ │ ├ 1.8.1 戻る │ ├ 1.8.2 進む │ ├ 1.8.3 更新 │ ├ 1.8.4 ホーム │ └ 1.8.5 URL取得 │ ├ 1.9 手続き実行 │ └ 1.9.1 手続き実行 │ ├ 1.10 その他 │ ├ 1.10.1 再生 │ ├ 1.10.2 状況依存ヘルプ │ ├ 1.10.3 モーダルフォーム │ ├ 1.10.4 ファイル名入力 │ ├ 1.10.5 編集制御 │ ├ 1.10.6 シェル実行 │ ├ 1.10.7 実行条件 │ ├ 1.10.8 一括処理へ戻る ※「フォーム+イベント処理」では使用しません │ └ 1.10.9 桐の終了 │ └ 1.11 なし └ 1.11.1 なし
|
|
|
■14407 / ResNo.31) |
Re[11]: モジュール化はフォームのレベルでも必要
|
□投稿者/ ななーし -(2024/05/28(Tue) 16:08:35)
| ジェダイの桐さんこんにちは。
たしかにONnojiさんのサイトはわかりやすいです。 ただ、かなり丁寧な書き方をしてもらっていることもあり、 少し詰まるとわからない感じがしてくるということがありました。 詰まった原因は言葉のニュアンス理解ですね。どういう意味だろう?がわからなかったことがあり、桐をベースなので桐を見ながら紐解きしてました。
超初心者クラスのフォームベースの作成ではOK,キャンセルと 少しのイベント処理がわかればいいので桐のサンプルを分解して確認してみると参考になると思います。(桐のサンプルもゴテゴテしてはいるんですけどね(笑)シンプルすぎるのと難しいの中間くらいのものが欲しかったがわがままだと思うので割愛
サンプルでこれわからない!ってなったらONnojiさんのサイトを見るとめちゃくちゃわかります。参考にしてみてください。
|
|
|
■記事リスト /
レス記事表示 →
[親記事-9]
[10-19]
[20-29]
[30-31]
|