HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 ファイル一覧 検索 過去ログ

■14267 / 1階層)  加工開始日を求めたい
□投稿者/ ONnoji -(2024/04/09(Tue) 14:12:31)
    2024/04/09(Tue) 14:39:10 編集(投稿者)

    > ・やりたい事
    >   休日を除いた工場の加工開始日を 加工日1 加工日2 に表示(代入?)したい。
    >   加工日1の加工日数は5日 加工日2の加工日数は7日 です。
    >   会社の休日カレンダーは作成済です。

    人が行う場合も、プログラムで行う場合も同じです。

    0.表(.tbx)の現在のレコード(行)から、
    1.前に5レコード戻って値を変数Aに代入
    2.前に7レコード戻って値を変数Bに代入
    3.元のレコードへ戻って、加工日1に変数Aを、加工日2に変数Bの値を格納

    という段取りになると思いますが、厄介なこと休日を除外しなければなりませんね。
                    ・・・・・・・・・・・・・・・・・・・・・・

    そこで休日を除外するには、事前に条件式: [休日] = "" で絞り込めばOKだと気が付くでしょう。

    以上を参考にして手続きを作ってくださいと言っても、慣れていないと大変でしょう。(^^ゞ

    なので、以下に加工日数.kexのサンプルを示します。

    コピペで動きますよ。

     ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

    ■加工日数.kex

    名札  メイン



    手続き定義開始 cmdテストClick( )
     変数宣言 自動,文字列{ &title = "cmdテストClick( )", &msg }
     変数宣言 自動,日時 { &加工日1, &加工日2 }
     変数宣言 自動,整数 { &multiTblNum }
     変数宣言 自動,長整数{ &recordNum }


     &msg =      "Start"
     &msg = &msg + "\n\nこれはテスト用のメッセージボックスです"
     &msg = &msg + "\n\n不要になったらコメントアウトしてください"
     メッセージボックス  &title, &msg, アイコン = i, ボタン指定 = 1, 制御文字展開 = する

     多重化
     &multiTblNum = #is表  /* 多重化した表の表番号を取得 */

     解除 *
     絞り込み [休日]{ [休日] = #u }
     ジャンプ 行番号 = 先頭
     繰り返し ( .not #eof )

      &recordNum = #行番号
      手続き実行 prc加工日探索( &加工日1, &加工日2 )
      ジャンプ 行番号 = &recordNum

      トレース出力 _[日付], "  ", _&加工日1, "  ", _&加工日2
      行訂正 [加工日1] = &加工日1, [加工日2] = &加工日2

      ジャンプ 行番号 = 次行 /* これを忘れると無限ループになります */
     繰り返し終了

     終了 表 &multiTblNum  /* 多重化した表を閉じる */
     編集表 &hwindow

     &msg =      "Finish"
     &msg = &msg + "\n\nこれはテスト用のメッセージボックスです"
     &msg = &msg + "\n\n不要になったらコメントアウトしてください"
     メッセージボックス  &title, &msg, アイコン = i, ボタン指定 = 1, 制御文字展開 = する

    手続き定義終了

    手続き定義開始 prc加工日探索( 参照 日時 &加工日1, 参照 日時 &加工日2 )
     変数宣言 自動,文字列{ &title = "prc加工日探索( )", &msg }
     変数宣言 自動,長整数{ &recordNum }

     &加工日1 = #u /* 参照引数を初期化 */
     &加工日2 = #u /* 参照引数を初期化 */

     &recordNum = #行番号
     ジャンプ 行番号 = &recordNum
     if ( &recordNum > 5 )
      ジャンプ 行番号 = -5
      &加工日1 = [日付]
     end

     ジャンプ 行番号 = &recordNum
     if ( &recordNum > 7 )
      ジャンプ 行番号 = -7
      &加工日2 = [日付]
     end

    手続き定義終了

     ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

    ■加工日数.WFX のコマンドボタン

     オブジェクト名: cmdテスト
     標題     : テスト

      機能名    機能パラメータリスト
     1 表示
     2 手続き実行  cmdテストClick
     3 なし
     4 なし

     ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

    ■トレース結果

     <参考>
     40 [トレース出力]ウィンドウと[トレース出力]コマンド|桐の釣魚大全のトップ > フォームアプリケーション教書 第2部
     http://silicon7565.html.xdomain.jp/guide/guide_Part2.htm#section40

     :[日付] : 2024年 4月 1日 0時 0分 0秒  &加工日1 :   &加工日2 :
     :[日付] : 2024年 4月 2日 0時 0分 0秒  &加工日1 :   &加工日2 :
     :[日付] : 2024年 4月 3日 0時 0分 0秒  &加工日1 :   &加工日2 :
     :[日付] : 2024年 4月 4日 0時 0分 0秒  &加工日1 :   &加工日2 :
     :[日付] : 2024年 4月 5日 0時 0分 0秒  &加工日1 :   &加工日2 :
     :[日付] : 2024年 4月 6日 0時 0分 0秒  &加工日1 : 2024年 4月 1日 0時 0分 0秒  &加工日2 :
     :[日付] : 2024年 4月 8日 0時 0分 0秒  &加工日1 : 2024年 4月 2日 0時 0分 0秒  &加工日2 :
     :[日付] : 2024年 4月 9日 0時 0分 0秒  &加工日1 : 2024年 4月 3日 0時 0分 0秒  &加工日2 : 2024年 4月 1日 0時 0分 0秒
     :[日付] : 2024年 4月10日 0時 0分 0秒  &加工日1 : 2024年 4月 4日 0時 0分 0秒  &加工日2 : 2024年 4月 2日 0時 0分 0秒
     :[日付] : 2024年 4月11日 0時 0分 0秒  &加工日1 : 2024年 4月 5日 0時 0分 0秒  &加工日2 : 2024年 4月 3日 0時 0分 0秒
     :[日付] : 2024年 4月12日 0時 0分 0秒  &加工日1 : 2024年 4月 6日 0時 0分 0秒  &加工日2 : 2024年 4月 4日 0時 0分 0秒
      :
     途中省略
      :
     :[日付] : 2025年 5月14日 0時 0分 0秒  &加工日1 : 2025年 5月 8日 0時 0分 0秒  &加工日2 : 2025年 5月 2日 0時 0分 0秒
     :[日付] : 2025年 5月15日 0時 0分 0秒  &加工日1 : 2025年 5月 9日 0時 0分 0秒  &加工日2 : 2025年 5月 7日 0時 0分 0秒
     :[日付] : 2025年 5月16日 0時 0分 0秒  &加工日1 : 2025年 5月10日 0時 0分 0秒  &加工日2 : 2025年 5月 8日 0時 0分 0秒
     :[日付] : 2025年 5月19日 0時 0分 0秒  &加工日1 : 2025年 5月12日 0時 0分 0秒  &加工日2 : 2025年 5月 9日 0時 0分 0秒
     :[日付] : 2025年 5月20日 0時 0分 0秒  &加工日1 : 2025年 5月13日 0時 0分 0秒  &加工日2 : 2025年 5月10日 0時 0分 0秒
     :[日付] : 2025年 5月21日 0時 0分 0秒  &加工日1 : 2025年 5月14日 0時 0分 0秒  &加工日2 : 2025年 5月12日 0時 0分 0秒
     :[日付] : 2025年 5月22日 0時 0分 0秒  &加工日1 : 2025年 5月15日 0時 0分 0秒  &加工日2 : 2025年 5月13日 0時 0分 0秒
     :[日付] : 2025年 5月23日 0時 0分 0秒  &加工日1 : 2025年 5月16日 0時 0分 0秒  &加工日2 : 2025年 5月14日 0時 0分 0秒
     :[日付] : 2025年 5月24日 0時 0分 0秒  &加工日1 : 2025年 5月19日 0時 0分 0秒  &加工日2 : 2025年 5月15日 0時 0分 0秒
     :[日付] : 2025年 5月26日 0時 0分 0秒  &加工日1 : 2025年 5月20日 0時 0分 0秒  &加工日2 : 2025年 5月16日 0時 0分 0秒
     :[日付] : 2025年 5月27日 0時 0分 0秒  &加工日1 : 2025年 5月21日 0時 0分 0秒  &加工日2 : 2025年 5月19日 0時 0分 0秒
     :[日付] : 2025年 5月28日 0時 0分 0秒  &加工日1 : 2025年 5月22日 0時 0分 0秒  &加工日2 : 2025年 5月20日 0時 0分 0秒
     :[日付] : 2025年 5月29日 0時 0分 0秒  &加工日1 : 2025年 5月23日 0時 0分 0秒  &加工日2 : 2025年 5月21日 0時 0分 0秒
     :[日付] : 2025年 5月30日 0時 0分 0秒  &加工日1 : 2025年 5月24日 0時 0分 0秒  &加工日2 : 2025年 5月22日 0時 0分 0秒

    p.s.

    なお、サンプルは多重化して、レコードをあちこっちに移動させていますが、これ以外にも方法があると思います。

    プログラムの作り方はいろいろありますので、サンプルはその一つの例だとお考え下さい。

    p.p.s

    サンプルはレコードをあちこっちに移動させていますので、多重化しない状態で行うと目が回ります。(@_@)

    ということで多重化をしています。

    サンプルの一般手続き:prc加工日探索( ) では参照の引数を使っています。

    これは一見すると難しく見えますが、慣れてしまえば簡単ですよ。

    難しそうだからと敬遠していると、一番美味しいところを食べそこないますよ。(^^ゞ

     27.3 引数の[値渡し]と[参照渡し]|桐の釣魚大全のトップ > フォームアプリケーション教書 第2部
     http://silicon7565.html.xdomain.jp/guide/guide_Part2.htm#section27-3




[メール受信/OFF] 削除キー/

→Re[2]: 加工開始日を求めたい /ジェダイの桐
 
前の記事(元になった記事) 次の記事(この記事の返信)
上記関連ツリー

Nomal 加工開始日を求めたい / ジェダイの桐 (24/04/09(Tue) 09:55) #14266
Nomal 加工開始日を求めたい / ONnoji (24/04/09(Tue) 14:12) #14267 ←Now
  └Nomal Re[2]: 加工開始日を求めたい / ジェダイの桐 (24/04/09(Tue) 16:16) #14268 解決済み!
    └Nomal Re[3]: 加工開始日を求めたい / ONnoji (24/04/09(Tue) 17:22) #14269
      ├Nomal Re[4]: 加工開始日を求めたい / ジェダイの桐 (24/04/09(Tue) 17:41) #14270
      │└Nomal Re[5]: 加工開始日を求めたい / ONnoji (24/04/09(Tue) 17:57) #14271
      │  ├Nomal Re[6]: 加工開始日を求めたい / ジェダイの桐 (24/04/09(Tue) 18:40) #14272
      │  └Nomal Re[6]: 加工開始日を求めたい / ジェダイの桐 (24/04/10(Wed) 09:36) #14273
      │    └Nomal Re[7]: 加工開始日を求めたい / ONnoji (24/04/10(Wed) 11:37) #14274
      │      └Nomal Re[8]: 加工開始日を求めたい / ジェダイの桐 (24/04/10(Wed) 17:09) #14275
      │        └Nomal Re[9]: 加工開始日を求めたい / ONnoji (24/04/10(Wed) 17:34) #14277
      └Nomal Re[4]: 加工開始日を求めたい / ジェダイの桐 (24/04/10(Wed) 17:28) #14276
        └Nomal Re[5]: 加工開始日を求めたい / ONnoji (24/04/10(Wed) 18:05) #14278
          ├Nomal Re[6]: 加工開始日を求めたい / うにん (24/04/10(Wed) 21:09) #14279
          │└Nomal Re[7]: 加工開始日を求めたい / ONnoji (24/04/10(Wed) 21:56) #14280
          └Nomal Re[6]: 加工開始日を求めたい / ジェダイの桐 (24/04/11(Thu) 08:59) #14281
            └Nomal Re[7]: 加工開始日を求めたい / ONnoji (24/04/11(Thu) 09:46) #14282
              └Nomal Re[8]: 加工開始日を求めたい / ジェダイの桐 (24/04/11(Thu) 14:15) #14283
                └Nomal Re[9]: 加工開始日を求めたい / ONnoji (24/04/11(Thu) 17:06) #14284
                  └Nomal Re[10]: 加工開始日を求めたい / ジェダイの桐 (24/04/12(Fri) 09:31) #14285
                    └Nomal Re[11]: 加工開始日を求めたい / ONnoji (24/04/12(Fri) 12:40) #14286
                      └Nomal Re[12]: 加工開始日を求めたい / ジェタイの桐 (24/04/12(Fri) 19:07) #14288
                        └Nomal Re[13]: 加工開始日を求めたい / ONnoji (24/04/15(Mon) 16:55) #14293
                          └Nomal Re[14]: 加工開始日を求めたい / ONnoji (24/04/15(Mon) 16:56) #14294
                            ├Nomal Re[15]: 加工開始日を求めたい / ジェダイの桐 (24/04/15(Mon) 17:45) #14296
                            │└Nomal Re[16]: 加工開始日を求めたい / ONnoji (24/04/15(Mon) 17:59) #14297
                            │  ├Nomal Re[17]: 加工開始日を求めたい / ジェダイの桐 (24/04/15(Mon) 18:19) #14300
                            │  └Nomal Re[17]: 加工開始日を求めたい / ONnoji (24/04/15(Mon) 18:18) #14299
                            │    └Nomal Re[18]: 加工開始日を求めたい / ONnoji (24/04/15(Mon) 19:02) #14301
                            │      └Nomal Re[19]: 加工開始日を求めたい / ONnoji (24/04/15(Mon) 21:46) #14302
                            │        └Nomal Re[20]: 加工開始日を求めたい / ジェダイの桐 (24/04/18(Thu) 09:19) #14309
                            │          └Nomal Re[21]: 加工開始日を求めたい / ONnoji (24/04/19(Fri) 18:41) #14310
                            └Nomal Re[15]: 加工開始日を求めたい / ONnoji (24/04/15(Mon) 18:09) #14298

All 上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信

Mode/  Pass/

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -