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

《 桐質問以外の話題は、「のほか掲示板」からどうぞ 》
■ 24時間以内に作成されたスレッドは New で表示されます。
■ 24時間以内に更新されたスレッドは UpDate で表示されます。

記事リスト ( )内の数字はレス数
UpDate行制約について(17) | Nomal一覧表(tbx)を開いた状態での複合レポート(1) | Nomal会話で開かれていない為継承できません(1) | Nomal加工開始日を求めたい(32) | Nomal文字置換(5) | Nomal(削除)(4) | Nomalタイルを2つ(3) | Nomalレポートで明細末尾に以下余白と表示させたいです(2) | Nomal桐レポートCond関数で(2) | Nomalフォームのコマンドボタンについて(18) | Nomal特定箇所の計算(2) | Nomalエクセル1900基準にしたい(4) | Nomalレポート印刷(5) | Nomal桐レポート若しくは一覧表印刷で作成可能かどうか(3) | NomalDBの接続に失敗しました(2) | Nomal[英単語] を単語単位で検索・絞込する方法(15) | Nomal条件選択だと思うんですが…(2) | Nomalエクセル書き出し(7) | Nomal(削除)(0) | Nomal環境依存文字(5) | Nomalレポート オブジェクトの属性(2) | Nomalフォームの式入力で[名前]と背景色を指定できますか(22) | Nomal表番号の謎(15) | Nomal時間型の置換(3) | Nomalアポストロフィ、シングルクォーテーションの「'」(8) | Nomal桐RDSで固まる(1) | Nomalフォーム入力途中でESC(6) | Nomal(削除)(1) | Nomalインボイス対応請求書レポート作成(8) | Nomal文字列への入力方法(4) | Nomal毎月2日から翌月1日までを1ヶ月(2日の日の属する月)とする行集計の方法について(2) | Nomal対象表が更新中またはグループ操作中のためこのコマンドは使用できません(2) | Nomal変数を反映させたい(16) | Nomal右クリックフォーム(1) | Nomalレポートの列集計(件数集計)について(15) | Nomal(削除)(13) | Nomal桐の履歴(2) | Nomal右クリックフォーム(8) | NomalNumLockキー 処理中止にしたい(3) | Nomal∨ や ∧ の変換(2) | Nomalデータ内の指定文字列個数を知りたい(7) | Nomalcmd実行中の左下表示(1) | Nomal超初心者ですみませんが・・・・(12) | Nomal書き出しコマンドについて(2) | Nomalテキスト読み込み(5) | Nomalクリックスライド入力(15) | Nomalxmlファイル読み込みについて(1) | Nomalレポートのヘッダーとフッターの日付が異なる(12) | Nomal文字の置き換え(2) | Nomal値集合の番号とは(7) | Nomal字種制約違反について(4) | Nomal『KU1109:ファイル名の形式が不正です』(23) | Nomal更新を判定出来ますか?(30) | Nomal数値の直前値がおかしくなります(5) | Nomal文字、記号、数字が混在したランダムなパスワードを作る方法(5) | Nomal単純な項目の計(1) | Nomalレポート 表ファイル名の選択(2) | Nomal伝票印刷において(1) | Nomalexcelのexactの代わりになる関数(2) | Nomal一覧表での改行(2) |



■記事リスト / ▼下のスレッド
■14187 / 親記事)  行制約について
□投稿者/ ダークサイドになりかけ -(2024/02/28(Wed) 14:54:09)
    2024/02/29(Thu) 08:54:51 編集(投稿者)

    桐10s Windows10 使用

    桐初心者です。

    商品名 数量 納期
    上記項目があり、納期が未定義の時のみ、数量出来るように行制約を入れたいです。

    桐のヘルプを見て
    ( [数量] .and [納期] = "").or ( [数量] = "" .and [納期] <> "")
    と書いたのですがダメでした・・・

    分かる方、解決方法を教えて頂けたら幸いです。

    よろしくお願いします。


引用返信 [メール受信/OFF]

▽[全レス17件(ResNo.13-17 表示)]
■14315 / ResNo.13)  Re[8]: 行制約について
□投稿者/ ジェダイの桐 -(2024/04/23(Tue) 09:11:18)
    2024/04/23(Tue) 09:12:20 編集(投稿者)

    ONnojiさん

    おはようございます。


    今の理解力で、プログラムを読み返して見ました。
    理解出来ない事があります・・・



    > 名札  メイン
    >  変数宣言 局所,文字列{ &m編集文字列 }
    >
    > *
    >
    > 手続き定義開始 txt数量::入力前(参照 文字列 &編集文字列)
    >
    >  &m編集文字列 = &編集文字列
    >
    > 手続き定義終了
    >
    > 手続き定義開始 txt数量::入力後(参照 文字列 &編集文字列,長整数 &モード,参照 長整数 &入力継続)
    >  変数宣言 自動,文字列{ &title = "txt数量::入力後( )", &msg }
    >  変数宣言 自動,整数 { &ans }
    >
    >  if ( [納期] = #u )
    >
    >   ** nop: no operation 納期が空なので何もしない
    >  else
    >
    >   if ( &m編集文字列 <> &編集文字列 )
    >
    >    &msg =      "<警告>"
    >    &msg = &msg + "\n\n・[数量]の値が書き換えられましたが、この操作は許可されていません"
    >    &msg = &msg + "\n\n⇒自動的に数量の値を直前の数値( " + &m編集文字列 + " )に戻します"
    >    &msg = &msg + "\n\n<ヒント>"
    >    &msg = &msg + "\n\n納期の値が未定義の時のみ、数量が変更可能可能です"
    >    &msg = &msg + "\n\n[納期]= " + #str( [納期] )
    >    &msg = &msg + "\n\n[数量]の値を書き換える必要が有る場合には[納期]の値を空欄にしてください"
    >    メッセージボックス  &title, &msg, アイコン = e, ボタン指定 = 1, 制御文字展開 = する, &ans
    >
    >    &編集文字列 = &m編集文字列
    >   else
    >
    >    ** nop: no operation テキストの入力後の値が入力前の値と同じなので何もしない
    >   end
    >  end
    >
    > 手続き定義終了


    変数宣言 自動,整数 { &ans } これは、何故宣言する必要があるのでしょうか??
    また &ans = 〇〇 のように代入の命令が無いのも不思議です(?_?)


    メッセージボックス  &title, &msg, アイコン = e, ボタン指定 = 1, 制御文字展開 = する, &ans
    ここに &ans が出てきます。
    代入の命令がないので、試しに

    メッセージボックス  &title, &msg, アイコン = e, ボタン指定 = 1, 制御文字展開 = する

    と &ans を省いてフォームを触ったところ、試した範囲では特に問題なく動きました(◎_◎;)
    ますます 泥沼 にハマってしまいました。


    お時間がある時回答頂けたら幸いですm(__)m


    p.s.

    仮題)目からウロコの「桐プログラミング」入門 拝読させてもらいました!

    つくづく私は運が良かったと感じています。
    小論の道筋を、私の事例で解説して頂いたのだなと思いました(^^♪

    一般的にタイミングが重要と良く言われますが、
    ONnojiさんが小論執筆している時に、質問出来て幸せです。

    フォームを感じる為に、フォームがONnojiさんへ導いてくれたのかもしれません(^^)/
引用返信 [メール受信/OFF]
■14316 / ResNo.14)  Re[9]: 行制約について
□投稿者/ ONnoji -(2024/04/23(Tue) 10:10:48)
    2024/04/23(Tue) 11:00:02 編集(投稿者)

    > 今の理解力で、プログラムを読み返して見ました。
    > 理解出来ない事があります・・・
    >>
    >>手続き定義開始 txt数量::入力後(参照 文字列 &編集文字列,長整数 &モード,参照 長整数 &入力継続)
    >> 変数宣言 自動,文字列{ &title = "txt数量::入力後( )", &msg }
    >> 変数宣言 自動,整数 { &ans }
    >>
    >>    :
    >>   メッセージボックス  &title, &msg, アイコン = e, ボタン指定 = 1, 制御文字展開 = する, &ans
    >>    :
    >>
    >>手続き定義終了
    >
    > 変数宣言 自動,整数 { &ans } これは、何故宣言する必要があるのでしょうか??
    > また &ans = 〇〇 のように代入の命令が無いのも不思議です(?_?)

    変数:&ans はレガシー3文字変数名で、answer の意味で、操作の応答を受け取る変数です。

    プログラム中の[メッセージボックス]コマンドでは、ボタン指定 = 1 の指定なので[OK]ボタンしか表示されません。

    なので、最後の &ans は不要です。(^^ゞ

    おそらく、コピペした際に &ans が付いてしまったのだと思います。
         ・・・・・・・・・・・・・・・・・・・・・・・・・

    しかし、ボタン指定 = 2 のようにすると、[OK]と[キャンセル]の2つのボタンが表示されるので、

    if ( &ans = 1 )

     ** [OK]ボタンが押された時の処理

    else

     ** [OK]ボタンが押されなかった処理です。つまりこの場合は[キャンセル]が押された時の処理

    end

    とか出来ますよ。

    > また &ans = 〇〇 のように代入の命令が無いのも不思議です(?_?)

    [メッセージボックス]コマンドは[代入]コマンドではありません。

    多くのコマンドで、応答内容や実行結果(成功・不成功)が代入されるパラメータがありますよ。

    でも、これはパラメータであって、代入コマンドではありません。
          ・・・・・・・・・・・・・・・・・・・・・・・

    > 仮題)目からウロコの「桐プログラミング」入門 拝読させてもらいました!
    > つくづく私は運が良かったと感じています。
    > 小論の道筋を、私の事例で解説して頂いたのだなと思いました(^^♪
    > 一般的にタイミングが重要と良く言われますが、
    > ONnojiさんが小論執筆している時に、質問出来て幸せです。

    桐プログラミングの初級者向けのwebページは幾つか存在しますが、

    初級者が最初につまずくことが多い変数に関して解説したものは非常に少ないですね。

    「だって、解説を書くのがとても大変なんだモン」というワケですよ。

    しかし、私( ONnoji )は今までの経験上、初級者の最初の一歩は変数だと確信していましたので、

    今回は、拙作webページの「桐の釣魚大全」の

    「桐のイベント処理の入門講座」

    新 フォームアプリケーション入門 §1
    新 フォームアプリケーション入門 §2

    の副読本として執筆したものです。

    内容に関しては、プログラミング経験者にしてみれば、あまりにも基本的な事柄ばかりなので、それが返って難しいのです。

    そこで、変数=みかん箱みたいな比喩(例え話)をせずに、なるべく具体的な内容として何とか書き上げた次第です。

    なので、図解は基本的になしで、文章オンリーになっています。

    しかし、初級者にとっては確かに「目からウロコ」の知識が得られるのではないかと自負しています。



引用返信 [メール受信/OFF]
■14317 / ResNo.15)  Re[10]: 行制約について
□投稿者/ ジェダイの桐 -(2024/04/23(Tue) 14:29:45)
    ONnojiさん


    早速の回答ありがとうございますm(__)m


    > 変数:&ans はレガシー3文字変数名で、answer の意味で、操作の応答を受け取る変数です。
    >
    > プログラム中の[メッセージボックス]コマンドでは、ボタン指定 = 1 の指定なので[OK]ボタンしか表示されません。
    >
    > なので、最後の &ans は不要です。(^^ゞ
    >
    > おそらく、コピペした際に &ans が付いてしまったのだと思います。
    >      ・・・・・・・・・・・・・・・・・・・・・・・・・


    スッキリしました(^^)/
    理解しました!


    > しかし、ボタン指定 = 2 のようにすると、[OK]と[キャンセル]の2つのボタンが表示されるので、
    >
    > if ( &ans = 1 )
    >
    >  ** [OK]ボタンが押された時の処理
    >
    > else
    >
    >  ** [OK]ボタンが押されなかった処理です。つまりこの場合は[キャンセル]が押された時の処理
    >
    > end
    >
    > とか出来ますよ。
    >
    >>また &ans = 〇〇 のように代入の命令が無いのも不思議です(?_?)
    >
    > [メッセージボックス]コマンドは[代入]コマンドではありません。
    >
    > 多くのコマンドで、応答内容や実行結果(成功・不成功)が代入されるパラメータがありますよ。
    >
    > でも、これはパラメータであって、代入コマンドではありません。
    >       ・・・・・・・・・・・・・・・・・・・・・・・


    if ( &ans = 1 )ですが、if ( &ans )でも正解なんですかね??
    と言うのも、フォームアプリケーション教書 第2部 30.3 条件式の書き方と似ているなと感じました。


    正解 か 不正解 の2択に使う場合の &ans であれば、関数ではない( &ans の事 )ですが、#eof 関数と同じ考え方で良いのかも??と思ってしまいました。


    仮に、この考え方が正しかったとしても、こういう発想もあると言う認識にしておいて、今は if ( &ans = 1 )で確実にプログラムを書くと思いますが(^^♪


    (と言っても、実際に使うチャンスがある時は、if ( &ans )のパターンも試すと思います(^^ゞ)


    > しかし、初級者にとっては確かに「目からウロコ」の知識が得られるのではないかと自負しています。
    >


    これは私の体験として、自信をもってその通りだと言い切れます!
引用返信 [メール受信/OFF]
■14318 / ResNo.16)  Re[11]: 行制約について
□投稿者/ ONnoji -(2024/04/23(Tue) 15:33:05)
    2024/04/23(Tue) 15:50:53 編集(投稿者)

    > if ( &ans = 1 )ですが、if ( &ans )でも正解なんですかね??
    > と言うのも、フォームアプリケーション教書 第2部 30.3 条件式の書き方と似ているなと感じました。

    コマンドの書き方に関しては、メニューバー の[ヘルプ]→[ヘルプの表示]で[桐 - ヘルプ]を常に参照してください。

    [メッセージボックス]コマンドの文法は次の通りです。

     メッセージボックス  <タイトル>,\
      <表示文字列>,\
       アイコン = i|?|!|E|,\
        ボタン指定 = 1|2|3|4|5|6,\
         制御文字展開 = しない|する,\
          <整数型の変数名>

    ■パラメータ
     :
     :
     :

     <整数型の変数名>
     クリックしたボタン番号を代入する変数名を指定します。
     ボタン番号を取得する必要がない場合は、このパラメータを省略してかまいません。
     指定する変数のデータ型は、長整数、数値、通貨、実数でもかまいません。
     <変数名>には、つぎのボタン番号が代入されます。

     戻り値 ボタン番号
     1    [OK]
     2    [キャンセル]
     3    [中止]
     4    [再試行]
     5    [無視]
     6    [はい]
     7    [いいえ]

    とありますので、&ans の値は1(イチ)または2(ニ)です。

    if ( &ans = 1 )

    else ← &ans が1(イチ)以外、つまり2(ニ)の場合

    end

    と書くしかありません。

    しかし、これが1(イチ)または0(ゼロ)であれば論理値として扱えます。
        ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    if ( &ans ) ※ &ans が論理値相当の場合には、#eof と同様に if ( &ans = 1 ) とは書かなくてOK
           ※ もちろん if ( &ans = 1 ) と書いても誤りではありませんので、ちゃんと動きますけど(^^ゞ

    else ← &ans が1(イチ)以外、つまり0(ゼロ)の場合

    end

    > 正解 か 不正解 の2択に使う場合の &ans であれば、関数ではない( &ans の事 )ですが、#eof 関数と同じ考え方で良いのかも??と思ってしまいました。

    #eof 関数は、1(イチ)と0(ゼロ)の2値しか返しません。

    しかし、[メッセージボックス]コマンドでクリックしたボタン番号を受取る変数には

     戻り値 ボタン番号
     1    [OK]
     2    [キャンセル]
     3    [中止]
     4    [再試行]
     5    [無視]
     6    [はい]
     7    [いいえ]

    ↑のように、1〜7であり、1(イチ)と0(ゼロ)の2値ではありません。

    p.s.

    [メッセージボックスの]コマンドでクリックしたボタン番号を受取る変数の値は、VB/VBA等と同じだったと思います。

    私( ONnoji )は、値が1〜7のどれかでは非常に覚えにくいので、1(イチ)と0(ゼロ)の2値に変換するて手続きを自作して使っています。

    ※実際には[OKのみ]と[OK/キャンセル]と[はい/いいえ]の3通りのメッセージボックスしか使いません。

    詳しくは、AKome さんのwebページをごらんください。

    こちら
     ↓
    メッセージボックス|あこめの桐のプログラミング入門 桐10s
    http://akome409102.html.xdomain.jp/Kiri/INF_prcMsg.html


引用返信 [メール受信/OFF]
■14319 / ResNo.17)  Re[12]: 行制約について
□投稿者/ ジェダイの桐 -(2024/04/23(Tue) 15:48:58)
    ONnojiさん


    > コマンドの書き方に関しては、メニューバー の[ヘルプ]→[ヘルプの表示]で[桐 - ヘルプ]を常に参照してください。


    分かりました!
    習慣づけます。


    > しかし、これが1(イチ)または0(ゼロ)であれば論理値として扱えます。
    >
    > if ( &ans ) ※ &ans が論理値相当なので if ( &ans = 1 ) とは書かない
    >
    > else ← &ans が1(イチ)以外、つまり0(ゼロ)の場合
    >
    > end


    > #eof 関数は、1(イチ)と0(ゼロ)の2値しか返しません。
    >
    > しかし、[メッセージボックスの]コマンドでクリックしたボタン番号を受取る変数には
    >
    >  戻り値 ボタン番号
    >  1    [OK]
    >  2    [キャンセル]
    >  3    [中止]
    >  4    [再試行]
    >  5    [無視]
    >  6    [はい]
    >  7    [いいえ]
    >
    > ↑のように、1〜7であり、1(イチ)と0(ゼロ)の2値ではありません。


    物凄い分かりやすい解説ありがとうございましたm(__)m
    誤った解釈で理解する所でした・・・


解決済み!
引用返信 [メール受信/OFF]

■記事リスト / レス記事表示 → [親記事-9] [10-17]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■14313 / 親記事)  一覧表(tbx)を開いた状態での複合レポート
□投稿者/ ケルベロス -(2024/04/22(Mon) 13:17:21)
    桐10sで一覧表を開いた状態で ファイル→印刷→レポートからタイルが2つある複合レポートを開こうとすると(開いている一覧表名)は既に開かれています
    と表示され使用することができません
    リンク表とオブジェクト2つ両方に同じ一覧表を設定しています
    チェックマーク表編集の状態を継承、操作を有効にするのチェックは2つとも付けています
    リンク表の方も付けています

    どなたかよろしくお願いします!
引用返信 [メール受信/OFF]

▽[全レス1件(ResNo.1-1 表示)]
■14314 / ResNo.1)  Re[1]: 一覧表(tbx)を開いた状態での複合レポート
□投稿者/ ONnoji -(2024/04/22(Mon) 15:36:10)
    2024/04/23(Tue) 10:56:27 編集(投稿者)

    > 桐10sで一覧表を開いた状態で ファイル→印刷→レポートからタイルが2つある複合レポートを開こうとすると(開いている一覧表名)は既に開かれています
    > と表示され使用することができません

    一覧表という「ファイル名」を付けた表(.tbx)を開いてということでよろしいでしょうか?

    ファイルメニューの開くで表(.tbx)を開くでよろしいですか??

    > リンク表とオブジェクト2つ両方に同じ一覧表を設定しています
    > チェックマーク表編集の状態を継承、操作を有効にするのチェックは2つとも付けています
    > リンク表の方も付けています

    ↑こういう情報は、早く言ってよぉ〜ですね。後出しはよろしくないですよ。

    単に2つのタイルを印刷するだけであれば、リンクは必要ではありませんよ。

    なので、リンクに関する設定を取り除いてみて改善しないか試したらいかがでしょうか。
        ・・・・・・・・・・・・・・・・・・・・・・・・・・・
    p.s.

    複合レポートではリンクが必須だと考えるのは固定観念に囚われていますよ。

    リンク設定をしない複合レポートだってありなんですよ。
    ・・・・・・・・・・・・・・・・・・・・


    p.p.s.

    No14258 より
    > 1.まず、印刷する表(.tbx)に絞り込み条件を2種類登録してください。
    >
    >  すなわち、[敬称] = "様"  という条件の[絞り込みの条件]を名前を付けて保存(仮名Aとします)
    >   同じく、[敬称] = "御中" という条件の[絞り込みの条件]を名前を付けて保存(仮名Bとします)
    >
    >  ※名前を付けて保存した条件名が失われないように、必ず、表(.tbx)を[保存終了]または[上書き保存]してください。
    >
    > 2.レポートの定義を開いて
    >
    >  最初のタイルの[オブジェクトの属性]の[対象表]タブの[表の操作]ボタンを実行して、
    >  [表の操作]ダイアログで、[絞り込み条件名]に "Aの絞り込み条件" を指定します。
    >
    >  二番めのタイルの[オブジェクトの属性]の[対象表]タブの[表の操作]ボタンを実行して、
    >  [表の操作]ダイアログで、[絞り込み条件名]に "Bの絞り込み条件" を指定します。
    >
    > 以上でよろしいかと思いますが・・・
引用返信 [メール受信/OFF]

■記事リスト / レス記事表示 → [親記事-1]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■14311 / 親記事)  会話で開かれていない為継承できません
□投稿者/ ケルベロス -(2024/04/19(Fri) 21:21:22)
    桐10sを使用しています
    桐のtblを開いた状態で複合レポートを開くと、会話で開かれていない為継承できませんという文字が出てきて使用することができません
    レポートは、タイル表が2つあり、どちらも同じ桐のtblを参照しています
    データは共有フォルダに入っています

    どなたか改善策をお願いいたします
引用返信 [メール受信/OFF]

▽[全レス1件(ResNo.1-1 表示)]
■14312 / ResNo.1)  Re[1]: 会話で開かれていない為継承できません
□投稿者/ ONnoji -(2024/04/20(Sat) 14:24:06)
    2024/04/20(Sat) 18:21:50 編集(投稿者)

    こんにちは、ハーデースの ONnoji です。

    > 桐10sを使用しています
    > 桐のtblを開いた状態で複合レポートを開くと、会話で開かれていない為継承できませんという文字が出てきて使用することができません
    > レポートは、タイル表が2つあり、どちらも同じ桐のtblを参照しています
    > データは共有フォルダに入っています

    No14255「桐レポートCond関数で」のぽよんさんの投稿以降なお継続している質問のようですね。

    なかなか回答が付かないのですが、これは今回のようなケースに遭遇した人が居ないのではないかと思いますよ。

    ならばということで「会話で開かれていないため継承できません」というメッセージ自体をネットで検索しても見つかりません。

    おそらく、タイルの編集対象表タブの [表編集の状態を継承]のチェックがオンなのだと思いますが・・・

    このチェックをオフにするとメッセージが表示されなくなるとかいった、ある程度の試行が必要かと思います。

    また、共有フォルダという文言があるので、LANのファイルサーバ、またはオンラインストレージの同期フォルダかと思われますが、

    例えば、OneDriveの同期フォルダだとすれば、ファイルが破損する恐れがあるので誰も同期フォルダを使いませんので、

    同期フォルダを使った場合に何が起こるのかを知っている人はまず居ないと思いますよ。

    などと、いろいろ止めども無く書いていますように、本当本当によく分からないのです。

    今までの経過を拝読していると、失礼かと存じますが、おそらく桐や桐のレポートに慣れていらっしゃらないのかなと思います。(^^ゞ

    ということで、当方から提案ですが・・・

    「餅は餅屋(もちはもちや)」と言いますので、

       意味:餅屋が搗(つ)いた餅は美味いことから、仕事は専門家に任せるの一番であること。

    この件はK3のカスタマーサポート(ユーザサポート)へ問い合わせるのが一番よいと思いますよ。

    ただし、必ず解決するかというと、残念ながらそれはわかりませんが・・・

    あいにく週末(土・日)なのでサポートはお休みですが、

    早めにメールを送っておくと、週明け早々にサポートが受けられるのではないでしょうか?
    ・・・・・・・・・・・・

    p.s.

    余談ですが・・・

    > 桐のtblを開いた状態で

    とありますが、[開くダイアログ]で開いたのか、一括処理で開いたのか

    > 複合レポートを開く

    についても、メニューバーの[印刷]なのか、一括処理のレポート印刷コマンドなのか、履歴を実行するのか

    などの情報が曖昧で中々再現が難しいのです。

    ちなみに、LANで一括処理で実行していますというのであれば、なおさら再現するのは難しくなるというものでありますよ。

引用返信 [メール受信/OFF]

■記事リスト / レス記事表示 → [親記事-1]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■14266 / 親記事)  加工開始日を求めたい
□投稿者/ ジェダイの桐 -(2024/04/09(Tue) 09:55:19)
    おはようございます。

    桐10s Windows10 を使用しています。


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


    ・自分で考えてやってみた事

     休日カレンダーを作成し直前値を使って 当日日付 - 前日日付 で休日を除いた日数をカウントする。

     加工日数(数値)を入力して、当日日付 - 前日日付が -1 の時は加工日数、その他は 当日日付 - 前日日付 + 加工日数 を当日日付から引く。

     これで求める事が出来ると安易に考えていましたが、よく考えたら当日日付から加工日数を引いているので、いくら休日を除いた日数をカウントしても意味がありませんでした・・・

     手続きが使えれば実現可能ではないかと、自分なりに調べてみたのですが分かりませんでした。

    お時間がある時でいいのでご回答いただければ幸いです。

引用返信 [メール受信/OFF]

▽[全レス32件(ResNo.28-32 表示)]
■14300 / ResNo.28)  Re[17]: 加工開始日を求めたい
□投稿者/ ジェダイの桐 -(2024/04/15(Mon) 18:19:55)
    ONnojiさん


    早速の返信ありがとうございますm(_ _)m

    ちょっと書き方が分かりにくかったかもしれません。

    cmdテストClick  ← 上位の機能(モジュール)
     │
    └ prc加工日探索 ← 下位の機能(モジュール)

    └cmdテスト2Click← 後から追加した上位の機能(モジュール)
    └ prc加工日探索 ← 下位の機能(モジュール)(使い回し。cmdテスト2Clickの中にprc加工日探索を指示しておけば、実際にはcmdテスト2Clickの上にプログラムがあるので、記載しなくて良いと言う認識です。)

    だけど、

    > 上機能 → 下機能 → 上機能 というのは、A機能 → B機能 → A機能 という考えた方が良いと思いますよ。

    と言う考え方なのですね^_^
    気を引き締めて、理解していかないとスパゲッティ迷宮に迷い込みそうです(TT)


    > ひょっとして[再帰呼び出し]のことでしょうかね?????


    私の発想はかなり単純でした。
    上位プログラム と 下位プログラムを最初から分けておいた方が管理がしやすいのかな??
    と思ってしまったんです…

    まさか、こんなにウルトラ難度とも梅雨知らず(TT)


    勉強になりました(^^)/

    >  <参考>
    >  38.2 再帰呼び出し|桐の釣魚大全のトップ > フォームアプリケーション教書 第2部
    >  http://silicon7565.html.xdomain.jp/guide/guide_Part2.htm#section38-2
    >
    > しかし、部品展開や逆展開で使うと便利かなぁ〜程度の認識ですが、ウルトラ難度の頭の回転技を必要としそうですよ。

    本当に本当に上達して、必要がある時のみ、こう言う事が出来ればなぁ とは思いますが、まずはしっかりと基礎固めします^_^
引用返信 [メール受信/OFF]
■14301 / ResNo.29)  Re[18]: 加工開始日を求めたい
□投稿者/ ONnoji -(2024/04/15(Mon) 19:02:22)
    2024/04/15(Mon) 19:40:29 編集(投稿者)

    > ちょっと書き方が分かりにくかったかもしれません。
    >
    > cmdテストClick  ← 上位の機能(モジュール)
    >  │
    >  └ prc加工日探索 ← 下位の機能(モジュール)
    >  │
    >  └cmdテスト2Click← 後から追加した上位の機能(モジュール)
    >  └ prc加工日探索 ← 下位の機能(モジュール)(使い回し。cmdテスト2Clickの中にprc加工日探索を指示しておけば、実際にはcmdテスト2Clickの上にプログラムがあるので、記載しなくて良いと言う認識です。)
    >
    > だけど、
    >
    >>上機能 → 下機能 → 上機能 というのは、A機能 → B機能 → A機能 という考えた方が良いと思いますよ。
    >
    > と言う考え方なのですね^_^
    > 気を引き締めて、理解していかないとスパゲッティ迷宮に迷い込みそうです(TT)


    よ〜く見たら、

    cmdテストClick  ← 上位の機能(モジュール)
     │
     └ prc加工日探索 ← 下位の機能(モジュール)

    cmdテスト2Click ← 後から追加した上位の機能(モジュール)
     │
     └ prc加工日探索

    ↑こういう意味なんでしょうね。

    サンプルはあくまでも見本ですので最小で作ってあるんですよ。

    この場合には、

    cmdテストClick ※メインの機能を 手続き実行 prc多重化して探索( ) に変更
     │
     └ prc多重化して探索 ※cmdテストClickを prc多重化して探索( ) にリネームしたもの
       │
       └ prc加工日探索 ※そのまま 


    cmdテスト2Click ※メインの機能を 手続き実行 prc多重化して探索( ) に変更
     │
     └ prc多重化して探索 ※cmdテストClickを prc多重化して探索( ) にリネームしたもの
       │
       └ prc加工日探索 ※そのまま 

    のように、コマンドボタンから呼び出す一般手続きを2つ作って、

    cmdテストClick と cmdテスト2Click ですが、

     手続き定義開始 cmdテストClick( )

      手続き実行 prc多重化して探索( )

     手続き定義終了

     手続き定義開始 cmdテスト2Click( )

      手続き実行 prc多重化して探索( )

     手続き定義終了

    こんな感じでOKです。

     <参考>
     25.3 プロシージャ(手続き)名の付け方|桐の釣魚大全のトップ > フォームアプリケーション教書 第2部
     http://silicon7565.html.xdomain.jp/guide/guide_Part2.htm#section25-3

    p.s.

    最初のサンプルの時に、3階層で作って置けばよかったですかね?

     cmdテストClick ※メインの機能を 手続き実行 prc多重化して探索( ) に変更
      │
      └ prc多重化して探索 ※cmdテストClickを prc多重化して探索( ) にリネームしたもの
        │
        └ prc加工日探索 ※そのまま 

    でも、いきなり3階層では、消化不良を起こすかもしれなかったので2階層にしましたよ。(^^ゞ


引用返信 [メール受信/OFF]
■14302 / ResNo.30)  Re[19]: 加工開始日を求めたい
□投稿者/ ONnoji -(2024/04/15(Mon) 21:46:17)
    2024/04/15(Mon) 22:08:34 編集(投稿者)

    こんなやり取りがありましたね。(^^ゞ

    > ■Re[9]: 行制約について
    >>正に一番やりたかったイメージの物でした!
    >>フォーム+イベント処理は敷居が高く感じますが、乗り越えたらやりたいイメージの物が出来上がりますね!
    >>ブログ読ませて頂きます!(直ぐに理解出来ないので何回も読もうと思います)
    > 当方のwebページの、
    > フォームアプリケーション教書 第1部
    > フォームアプリケーション教書 第2部
    > は、[フォーム+イベント処理]のガイド・事典として執筆したものです。
    > 一応、順番にお読みになることをお勧めしますが、必要な所を拾い読みしていただくのでも構いません。
    > なお、著者が認める「悪文」ですので、読み難さについてはご勘弁ください。アハハhe(^^ゞ
    > 対象範囲が広いので、例えば「変数って何ですか?」のような初級者向けの事柄は割愛しています。
    > つまり、変数の知識は有ることが前提になっています。
    > そうしないと、膨大な量の解説を書かなければなりませんがら・・・(^^ゞ

    予想をはるかに超えて大きなツリーになってしまいました。

    貴殿のような初級者の人に、実際に動作するサンプルを見せて、後は自分で頑張ってね〜(^^)v

    なんてね、でもそれはちょっと酷だと思ったのです。

    実は当方では「(仮題)目からウロコのデータベース桐プログラミング」という小論を書き始めた時期だったのです。

    このようにタイミングが重なったためにかなり長大な投稿を繰り返してしまいました。

    最後まで読んでいただいて、丁寧なリプライをいただきまして感謝です。

    また、ガントチャートに関しての知見をお聞かせいただいて合わせて感謝です。

    ということで、いい加減に終わりですが (^^ゞ

    最後にひとつ・・・

    ジェダイの桐さんのお仕事は製造業のようなので、加工機械は身近なものでしょう。

    この機械(マシン)はハードウェアと言うものですね。

    一方、桐の[フォーム+イベント処理]はソフトウェアです。

    このソフトウェアという言葉を、[柔らかな機械]と考えていただきたいのです。

    見えなくて、実際に触ることも出来ないけれど、それは機械と同じなんだとね。

    だから、機能だとかモジュラー設計だとか、まるでハードウェアと同じような言葉が飛び出すのです。

    ハードウェアのメンテナンスや故障診断と、ソフトウェアのそれはまったく同じではありませんが、

    ソフトウェアが[柔らかな機械]だと考えればイメージしやすくなるでしょう。

    では最後に、

    ジェダイの桐さんへ

    フォームを使え。感じるのだ。 Use the Form. Feel it.

    フォームと共にあらんことを。 May the Form be with you.

    それでは。(@^^)/~~~


引用返信 [メール受信/OFF]
■14309 / ResNo.31)  Re[20]: 加工開始日を求めたい
□投稿者/ ジェダイの桐 -(2024/04/18(Thu) 09:19:37)
    ONnojiさん


    このツリーで最後の返信にします。
    教えて貰った後日談です。


    変数の読み方 ブロック構造の考え方 の知識が入った状態で、
    ONnojiさん と あこめさんの、プログラム練習をやっている途中です。
    以前やった時は 作業 でやったみただけ状態でした。


    しかし、今は若干ではありますがプログラムの意味が分かります。
    (代入 が省かれて記入されている事と、ブロック構造の考え方を教えて貰ったのが大きいと思います。)


    プログラム練習を全部やって、少しずつ自分の業務に応用出来る様に挑戦していきます。


    また、新たな壁にぶつかった時は 掲示板に新たな投稿をします。
    フォームを感じ、フォームと共に頑張ります(^^)/


    今まで本当にありがとうございましたm(__)m
    それでは〜(^^♪
引用返信 [メール受信/OFF]
■14310 / ResNo.32)  Re[21]: 加工開始日を求めたい
□投稿者/ ONnoji -(2024/04/19(Fri) 18:41:09)
    2024/04/19(Fri) 18:42:39 編集(投稿者)

    ジェダイの桐さん

    後日談拝を読しました。

    さらに参考になるかもしれない?ということで、補習授業みたいな??

    この【多遊】さんのHPの、もうひとつ別の掲示板「のほか掲示板」に投稿してテキストを添付しました。
                 ・・・・・・・・・・・・・・・・・・・・・

    よろしければ、添付のテキストをお読みになってみてください。


    《 桐質問以外の話題は、「のほか掲示板」からどうぞ 》

    > ■1442 / 親階層)  (仮題)目からウロコの「桐プログラミング」入門
    > □投稿者/ ONnoji -(2024/04/19(Fri) 18:33:10)
    >
    > 現在、(仮題)目からウロコの「桐プログラミング」入門という小論を執筆中です。
    >
    > これは[フォーム+イベント処理]の初級者向けの内容です。
    >
    > まだまだ執筆途中ですが、ご高覧いただければ嬉しいです。
    >
    > ご意見・ご感想などフィードバックいただければ幸いです。
    >
    > よろしくお願いいたします。m(__)m

引用返信 [メール受信/OFF]

■記事リスト / レス記事表示 → [親記事-9] [10-19] [20-29] [30-32]



■記事リスト / ▲上のスレッド
■14303 / 親記事)  文字置換
□投稿者/ ミーノ -(2024/04/16(Tue) 11:10:34)
    文字置換(関数で)についてお教えください。
     項目名:卒業年月日  日時「1999年03月23日」を
     項目名:卒業年月   文字列「平成11年03月」※月まで
     項目名:卒業年年月日2 文字列「41103」 ※文字の頭が平成は「4」昭和は「3」  
                          令和は「5」

    桐Ver.9を使用しています。
    よろしくお願いします。
引用返信 [メール受信/OFF]

▽[全レス5件(ResNo.1-5 表示)]
■14304 / ResNo.1)  Re[1]: 文字置換
□投稿者/ ONnoji -(2024/04/16(Tue) 14:46:43)
    2024/04/16(Tue) 14:57:47 編集(投稿者)

    > 文字置換(関数で)についてお教えください。
    >  項目名:卒業年月日  日時「1999年03月23日」を
    >  項目名:卒業年月   文字列「平成11年03月」※月まで
    >  項目名:卒業年年月日2 文字列「41103」 ※文字の頭が平成は「4」昭和は「3」  
    >                       令和は「5」
    > 桐Ver.9を使用しています。

    方法としてはいろいろあると思いますが・・・なるべくシンプルにしたつもりです(^^ゞ

    1.文字列「平成11年03月」※月まで

     #sstr( #cond( #str( #年( [卒業年月日] ) ) + #str( #月( [卒業年月日] ), 2 ) < "201905", #元号日付( [卒業年月日], 1 ), 1, #文字置換( #元号日付( [卒業年月日], 1 ), "平成", "令和" ) ), 1, 8 )

    でOKでした。 ※コピペで動きます

     この式の意味は次の通りです。

     まず基本は、 #元号日付( [卒業年月日], 1 ) です。 ⇒ "元号yy年mm月dd日"

     でもこれですと、dd日が混じっていますので除去します。 ⇒ #sstr( #元号日付( [卒業年月日], 1 ), 1, 8 ) ⇒ "元号yy年mm月"

     ところが、2019年 5月 以降は元号が"令和"に改元されたので、2019年 5月 以降か否か判定します。

     #cond( #str( #年( [卒業年月日] ) ) + #str( #月( [卒業年月日] ), 2 ) < "201905", "平成まで", 1, "令和" ) これは模式的な式です

     というのが考え方です。

    2.文字列「41103」 文字の頭が平成は「4」昭和は「3」令和は「5」

     1.で作成した[卒業年月]の文字列を利用します。

      #対応文字列( "1,2,3,4,5", #対応番号( "明治,大正,昭和,平成,令和", #sstr( [卒業年月], 1, 2 ) ) ) 元号を対応する数字に変換

      #str( #num( #sstr( [卒業年月], 3, 2 ) ), 2 ) + #str( #num( #sstr( [卒業年月], 6, 2 ) ), 2 ) ⇒ "yymm"

     これを連結して完成です。

    こちら ※コピペで動きます
     ↓
    #対応文字列( "1,2,3,4,5", #対応番号( "明治,大正,昭和,平成,令和", #sstr( [卒業年月], 1, 2 ) ) ) + #str( #num( #sstr( [卒業年月], 3, 2 ) ), 2 ) + #str( #num( #sstr( [卒業年月], 6, 2 ) ), 2 )


    p.s.

    > 文字置換(関数で)についてお教えください。

    #文字置換関数を使用する方法も可能かと思いますが、その必要性を認めませんでしたので使用していません。悪しからず。(^^ゞ



引用返信 [メール受信/OFF]
■14305 / ResNo.2)  Re[2]: 文字置換
□投稿者/ ミーノ -(2024/04/16(Tue) 15:32:14)
    ONnoji 様

    助かりました。
    ありがとうございました。
    今後もよろしくお願いいたします。
解決済み!
引用返信 [メール受信/OFF]
■14306 / ResNo.3)  Re[3]: 文字置換
□投稿者/ ミーノ -(2024/04/16(Tue) 16:03:37)
    No14305に返信(ミーノさんの記事)
    > ONnoji 様
    >
    解決しました! としておきながら、すみません。

     2022年3月16日 と入力すると、令和34年 3月 となり、53403 となります。
                    令和 4年 3月 となり、50403 とはならないものでしょうか。
    よろしくお願いいたします。
引用返信 [メール受信/OFF]
■14307 / ResNo.4)  Re[4]: 文字置換
□投稿者/ ONnoji -(2024/04/16(Tue) 16:58:30)
    2024/04/16(Tue) 17:01:23 編集(投稿者)

    > 解決しました! としておきながら、すみません。
    >
    >  2022年3月16日 と入力すると、令和34年 3月 となり、53403 となります。
    >                 令和 4年 3月 となり、50403 とはならないものでしょうか。
    > よろしくお願いいたします。

    失礼しました。令和に変換した時に年が平成年のままでしたね。(^^ゞ

    ×【変更前】

    #sstr( #cond( #str( #年( [卒業年月日] ) ) + #str( #月( [卒業年月日] ), 2 ) < "201905", #元号日付( [卒業年月日], 1 ), 1,
    #文字置換( #元号日付( [卒業年月日], 1 ), "平成", "令和" ) ), 1, 8 )


    〇【変更後】 式が長いので2行にしましたがコピペで動くはずです。

    #cond( #str( #年( [卒業年月日] ) ) + #str( #月( [卒業年月日] ), 2 ) < "201905", #sstr( #元号日付( [卒業年月日], 1 ), 1, 8 ) , 1,
    "令和" + #last( " " + #str( #年( #年数加算( [卒業年月日], -18 ) ) - 2000 ), 2 ) + "年" + #last( " " + #str( #月( [卒業年月日] ) ), 2 ) + "月" )


    これでどうでしょうか?

    お試しください。

    p.s.

    以前に #文字置換の回答をしていましたね。

    今回のはあの時よりも数段面倒でしたよ。(^^ゞ

引用返信 [メール受信/OFF]
■14308 / ResNo.5)  Re[5]: 文字置換
□投稿者/ ミーノ -(2024/04/17(Wed) 09:32:57)
    ONnoji 様

    ご面倒をおかけしてすみません。
    理想通りでした。
    ありがとうございました。
    今後ともよろしくお願いいたします
解決済み!
引用返信 [メール受信/OFF]

■記事リスト / レス記事表示 → [親記事-5]






1459235

Mode/  Pass/

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

- Child Tree -
- Antispam Version -