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

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

記事リスト ( )内の数字はレス数
Newarm版Windows での桐の使用(0) | UpDate期間絞込でのエラー時対応について(7) | UpDate月毎の日数端数を切り捨てた月期間の計算について(8) | Nomal保存した条件における読み込み元表のパスが変更されている場合(4) | Nomal行制約について(29) | Nomalレポートでページごとの合計を表示(2) | 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) |



■記事リスト / ▼下のスレッド
■14359 / 親記事)  arm版Windows での桐の使用
□投稿者/ 補集合 -(2024/05/21(Tue) 07:50:01)
http://arm/windows
    初めて質問させていただきます。
    現在MacBookの仮想環境ParallelsDesktopを使用して、arm版のWindowsで桐10sを使用したいと思いインストールしました。ファイル単体では使用できるのですが、フォルダにアクセスするファイル選択などの動作で、「パラメータが間違ってます」とエラーが出ます。
    他の仮想環境のアプリでも同じエラーになりましたので、arm版であることが問題だと思うのですが、どなたかarm版のWindowsでも使用できている方はいらっしゃいますでしょうか?
    公式ドキュメントでは「arm版は動作検証していない」となっているので、無理な可能性が高いと思うのですが質問させていただきます。
引用返信 [メール受信/OFF]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■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


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

▽[全レス7件(ResNo.3-7 表示)]
■14353 / ResNo.3)  Re[2]: 期間絞込でのエラー時対応について
□投稿者/ ジェダイの桐 -(2024/05/20(Mon) 17:39:37)
    まさやんさん

    > 関数で  #日数というのがあります。
    >
    > #日数で 求められた結果が  0以下の時の
    > メッセージ が出るように したらどうかな?
    >
    >  #日数(24/4/1,24/3/1) の結果は  マイナスの結果になります


    日数と言う関数知りませんでした。
    教えて頂いた関数を使用しイメージ通りの結果を求める事が出来ました。

    回答ありがとうございましたm(__)m
解決済み!
引用返信 [メール受信/OFF]
■14354 / ResNo.4)  Re[2]: 期間絞込でのエラー時対応について
□投稿者/ ジェダイの桐 -(2024/05/20(Mon) 17:48:12)
    AKさん


    > ユーザが間違った入力をした場合に、コマンドボタンを実行させないという風に読み替えた方がスマートかな?と感じました。
    >
    > 私がいつも職場で使用している例をお伝えします。
    >
    > 入力した日付の情報を変数で比較させます。
    >
    > 今回の場合、イベントコードを書かない方法です。
    >
    > これはイベントコードを書くと改修作業が不要になるため、見通しもよくて非常にシンプルです。
    >
    > コマンドボタンの機能名とパラメータリストを修正します。
    >
    >   機能名  機能名パラメータリスト
    >
    > 1 実行条件  &mRefinementStartDate≦&mRefinementEndDate
    >
    > 2 表示 
    >
    > 3 手続き実行 cmd絞込開始Click
    >
    > これだけでそもそもコマンドボタンが実行できなります。
    > 視覚的にすぐにユーザが自分の間違いに気づくはずです。
    > またフォーム側のテキストボックスを工夫(例えば背景色を赤にするとか・・・)とさらにユーザに親切なフォームになると思います。


    こういうやり方もあるんですね!
    分かりやすいし、効果テキメンでした(^^♪

    この方式を取り入れようと思います!


    > 最後に掲載されているコードは、メッセーボックスを押しただけで必ず絞り込みを実行するコマンドなっていて制御構文の条件の順番が間違っていましたので以下のように修正すると、思うように動くと思います。
    > また、コードを拝見しましたが適切な空行の挿入、それとif文の入れ子はしっかり字下げ(私の場合は2文字基準)しないと今後コードを修正する時に読みづらくなるので実践された方が良いと思います。


    アドバイスありがとうございます!
    意識して読みやすいプログラムを書くようにしているのですが、
    まだまだですね(^^;

    if else が入ってくると、途端に書き方や構文が難しくなります・・・
    解説ありがとうございました!


    > 追伸
    >
    > 私も十数年前にONnojiさんに指導を受けて今に至ります。
    > 今回のジェダイの桐さんの質問を拝見すると当時の自分の似ていると思いながらコメントしました・・・(^^;


    p.s.


    まさか AKさん からコメントが着くとは思いもよりませんでした!
    嬉しい限りです(^^)/


    桐のレベルはまだまだですが、今プログラムを考えるのが楽しくなってきました!


    ONnojiさんや掲示板で回答を下さる方々に教えて貰いながら、少しづつですが
    プログラムが上達してきました!


    皆さんの対応が有難いですm(__)m


引用返信 [メール受信/OFF]
■14355 / ResNo.5)  Re[3]: 期間絞込でのエラー時対応について
□投稿者/ AK -(2024/05/20(Mon) 19:36:28)
    2024/05/20(Mon) 19:41:25 編集(投稿者)
    2024/05/20(Mon) 19:41:13 編集(投稿者)
    2024/05/20(Mon) 19:41:05 編集(投稿者)

    > 桐のレベルはまだまだですが、今プログラムを考えるのが楽しくなってきました!
    > ONnojiさんや掲示板で回答を下さる方々に教えて貰いながら、少しづつですが
    > プログラムが上達してきました!

    ジェダイの桐さん

    余計なお世話ですが参考までに私の経験上良かったと思えるイベント勉強方法お伝えします。^^

    1 少ないコードでもよいですが、毎日実際にコードを書いてたくさんエラーコードと学ぶとよい
     
     これは初心者、初級者のうちは非常に大事なことだと思います。
     特に勉強と一緒で人が書いたコードを読んで理解している「つもり」は一番ダメです。
     どんなに小さなコードでも実際に自分でコードを書いて、どういう結果や挙動になるか経験して失敗をいっぱい重ねることが上達への近道だと思います。

    2 トレース出力ウィンドウを上手に使う。

     桐にはトレース出力ウィンドウがありますのでこれを上手に使うことも上達の近道だと思います。
     設定方法はヘルプを参照してください。
     これを使用する理由はシンプルで、変数の値の変化を目視で確認できるからです。
     最初のうちは変数値の変化が頭の中でよく理解できていないことが多いともいます。
     そしてコードを書くことに慣れてくると、何れループ処理を勉強すると思いますがここが初級者には結構高いハードルになると思います。
     その際、トレース出力ウィンドウを利用するとループ処理のインクリメントなど変数の値の変化を確認できるので非常に便利です。
     また、上達していけばいくほどプログラムが肥大化していくのでシステムを改修する場合などトレース出力ウィンドウは必須になると思います。

     私はイベントを勉強し始めて長らくこのループ処理が苦手で悩まされましたので是非活用してみてください。

     以下は先ほどのイベントコードで変数を確認するためのサンプルです。

    手続き定義開始 cmd絞込開始Click()

     変数宣言 自動, 数値  { &ans }
     変数宣言 自動, 文字列 { &title = "cmd絞込開始Click()", &msg }
     変数宣言 自動, 整数  { &TraceON = 1 } ← この変数を追加

     &msg = "絞り込み開始日 と 絞り込み終了日 が選択されました。"
     &msg = &msg + "\n日付 " + #文字列( &mRefinementStartDate ) + " 〜 " + #文字列( &mRefinementEndDate ) + "を絞り込みますか?"
     メッセージボックス  &title, &msg, アイコン = i, ボタン指定 = 2, 制御文字展開 = する, &ans

     条件(&TraceON) トレース出力_&ans

     ↑ この1行で何がわかるのか?というと、メッセージボックスで「はい」を押したときの戻り値【 1 】 が変数&ansに代入されたことがトレース出力ウィンドウで確認できます。
     
     今度は試しに「いいえ」を押下するとどうなるか?是非実際にコードを書いて試してみて下さい。

     そうすると、if( &ans = 1 )の制御文がわかるはずです。


    3 最後に私の苦い経験を踏まえて・・・

     私もイベントコードを書き始めの頃コードを書くことで色々できることが増えて楽しくてしかたがありませんでした。(^^;
     しかし、ここに罠が潜んでいます。
     なんでもかんでもコードを書いてしまおうとする、ONnoijさんの言葉を借用させていただくと、「イベント過多症候群」です。
     最初は楽しくて自分の力試しも含め色々書いていました。
     最近私は10年ほど前に所属していた部署で作成した桐アプリを改修する作業をチョコチョコしています。
     そこで目にした10年前の自分が書いた汚いコードと無駄コードの多さに我ながらうんざりしています。(^^;
     
     要するに何が言いたいのかと申しますと、
     イベントコードはどうしても自分がしたいことが実現できな時にだけ使用するということだと思います。
     当たり前といえば当たり前ですが、私はこれが出来ていなくて現在10年前の自分にうんざりしています。(^^;

     桐はそもそもそんなにイベントコードを書かなくてもたいていのことはコマンドボタンの機能で何とかなる場合が多いです。
     今回の質問もそれで解決できましたので、なんとなく理解していただけるのではないでしょうか?
     
     なので、もちろん経験や慣れの問題もありますのでその見極めは難しいかもしれませんが、私のようにならないように気に留めておいていただくといいかなと思います。

     今後のジェダイの桐さんの質問を私も楽しみにしております。

     長文、駄文失礼しました。<(_ _)>
引用返信 [メール受信/OFF]
■14356 / ResNo.6)  Re[2]: 期間絞込でのエラー時対応について
□投稿者/ まさやん -(2024/05/20(Mon) 19:39:54)

    >
    >   機能名  機能名パラメータリスト
    >
    > 1 実行条件  &mRefinementStartDate≦&mRefinementEndDate
    >


    実行条件の使い方 

    私も 勉強になりました。
    一括処理で組んでた 仕事用のプログラムを
    イベントに移行中です。

    実に コマンドが 約半分くらいになるかもです。

    if else end
    この使い方すれば 実に明解そのものですね
    ありがとうございました。
引用返信 [メール受信/OFF]
■14358 / ResNo.7)  Re[1]: 期間絞込でのエラー時対応について
□投稿者/ ONnoji -(2024/05/20(Mon) 23:34:32)
    2024/05/21(Tue) 07:58:02 編集(投稿者)
    2024/05/20(Mon) 23:54:01 編集(投稿者)

    当方は土日月とPCの前に居ませんでしたので詳細はよく理解していません。

    すでに解決済みになってとのこと慶祝です。

    なので余計なことは言わないように致しますが・・・

    ちなみに、実に気になったことがあったので、老婆心ながら投稿させていただきます。

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

    このツリーを読んで居る時、

    > if( .not #eof )
    >  if( &ans = 1 )

    というコマンドの記述を発見しました。

    これは私( ONnoji )の感想ではありますが、

    なぜ "if" と 丸括弧"(" の間に半角または全角の空白が無いのだろうか?????

    DOS桐もWin桐もコマンドの文法(シンタックス)は同じです。

    しかし、なぜか?Win桐では[if]コマンドと条件式の間に半角または全角の空白を挿入しない例を多々見受けます。

    これは、DOS桐/Win桐の言語仕様ではアウトです。

     【転載】[桐 - ヘルプ]→ 一括処理・イベント処理 → 入門 → 一括処理の実行 → 一括処理の書き方
      一括処理コマンドを記述するときは、コマンド名と最初のパラメータのあいだを、1文字以上の空白文字で区切ります。
                       ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    しかし、実際にはエラーしないので、「まぁ、いいっか!」となっちゃう開発者が多いと思いますね。

    ********************************
    桐の if コマンドは、関数ではないので、エクセルの関数のような記述は誤りですゾ。動くか動かないかは別として・・・
    ********************************

    開発者は一度でも[桐 - ヘルプ]を読むべきですね。

    Win桐という製品の仕様を説明しているヘルプを読まずに、単純にエラーが出ないという理由でスルーするという態度は当然良くないですよ。

    交通規則を守りましょう!と同じですよ。

    p.s.

    転載【[桐 - ヘルプ]→ 一括処理・イベント処理 → 入門 → 一括処理の実行 → 一括処理の書き方】

    空白文字は半角でも全角でもかまいません。

    パラメータとパラメータのあいだは、半角または全角のコンマ(,)で区切ります。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    ひとつの一括処理コマンドは、コマンド名といくつかのパラメータで構成されています。

    たとえばつぎの例では、最初の「表」がコマンド名、そのうしろの下線部分がパラメータです。

     表 "Jusho.tbx",表番号=1,モード=共有更新


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

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



■記事リスト / ▼下のスレッド / ▲上のスレッド
■14341 / 親記事)  月毎の日数端数を切り捨てた月期間の計算について
□投稿者/ TS -(2024/05/18(Sat) 08:51:35)
    2024/05/18(Sat) 09:03:07 編集(投稿者)

     いつもお世話になっております。

     ・桐V9 2012

     表定義において、項目計算式で期間の計算をするにあたり、
    月毎の端数は切り捨て、日数フルの月は1ヶ月として、
    期間の計算をしたいと考えていますが、計算式等が思い浮かばす数日間(今週月より)悩んでおります。
     ついては、式や項目のデータ型等ご教示いただければと思います。
     よろしくお願いします。

    (例)
    2024年4月12日 から 2024年7月29日 → 2ヶ月

     ×  2024年4月12日 から 2024年4月30日
    1ヶ月 2024年5月1日 から 2024年5月31日
    1ヶ月 2024年6月1日 から 2024年6月30日
     ×  2024年7月1日 から 2024年7月29日
引用返信 [メール受信/OFF]

▽[全レス8件(ResNo.4-8 表示)]
■14346 / ResNo.4)  Re[2]: 月毎の日数端数を切り捨てた月期間の計算について
□投稿者/ ONnoji -(2024/05/18(Sat) 22:01:40)
    2024/05/18(Sat) 23:00:38 編集(投稿者)
    2024/05/18(Sat) 22:16:44 編集(投稿者)

    >>表(.tbl)の定義の項目のデータ型はなんでしょうか?
    >  数値型 で定義しています。
    >  [起算開始]、[起算終了]としております。
    >>2.の場合 20240412  など具体的に
    >  まさに、記載されているとおりのデータとなっています。
    > (例)
    > [起算開始]、[起算終了]
    > 20240412  20240729

    それを早く言ってほしかったなぁ〜〜〜〜〜〜 (ーー;)--------------> ※遠い目線

    当方はこの週末には時間が取れないので、他の回答者にバトンタッチします。

    p.s.

    表の定義は自由なので、日付を数値型で保持すること自体に問題はありません。

    しかし、日付を数値型で保持すると、とても面倒になるのでおススメしませんよ。

    そもそも、日付は加算(+)と減算(-)が可能ですが、乗算(*)と除算(/)の対象ではありませんよね。

    このように、日付は四則演算の対象ではありませんので、文字列型または日時型であるのが自然です。

    一般的に四則演算の対象というのは、加算・減算・乗算・除算はもちろんですが、合計や平均を求めるデータの事です。

    つまり、体重や身長のようなものは数値型ですが、電話番号や郵便番号は文字列型です。

    電話番号や郵便番号では、加算・減算・乗算・除算はもちろんですが、合計や平均も求めませんよね。

    しかし、単純に数字以外の文字が入力されるのを防ぐだけの目的で数値型にする人って非常に多いんですよね。(^^ゞ
        ・・・・・・・・・・・・・・・・・・・・・・・・・

    日付は、本質的に文字列型または日時型であるのが自然ですよ。

    ※これは個人( ONnoji )の感想です。

    p.p.s

    > 開始日が1日でなければ翌月1日
    > 終了日が末日でなければ前月末日
    > 以上の月数を計算(マイナスなら0)
    > でいいのでは。

    うにんさんの解法は正解だと思いますよ。

    当方も同じアプローチを考えていました。

引用返信 [メール受信/OFF]
■14347 / ResNo.5)  Re[3]: 月毎の日数端数を切り捨てた月期間の計算について
□投稿者/ TS -(2024/05/18(Sat) 22:21:25)
    2024/05/18(Sat) 22:22:58 編集(投稿者)

    ONnoji 様 回答いただき有難うございます。

    > 日付は、本質的に文字列型または日時型であるのが自然ですよ。

     勉強になります。

     TBLをバックアップコピーし、

    [起算開始]、[起算終了] のデータ型を日時型にしてみたいと思います。

引用返信 [メール受信/OFF]
■14348 / ResNo.6)  Re[4]: 月毎の日数端数を切り捨てた月期間の計算について
□投稿者/ MAKOTO -(2024/05/18(Sat) 22:32:01)
    TSさんこんにちは
    適当に作ってみました。
    関数はヘルプを参照してください。
    半角の#を押して右に矢印キーを押すと参考になる記述が
    出ます。


TS.zip
/1KB
引用返信 [メール受信/OFF]
■14349 / ResNo.7)  Re[5]: 月毎の日数端数を切り捨てた月期間の計算について
□投稿者/ TS -(2024/05/19(Sun) 10:45:24)
    MAKOTO 様 回答 また、添付ファイルの表を作成していただき有難うございました。


    [開始期間]、[終了期間]、[開始日]、[終了日]が

    確かに日時型になっており、[月数]で求めたい月数が出力されていました。

     やりたかったことが実現されており、大変助かりました。

     日時型 のデータは扱いづらい印象があり、

    ついついデータ型として使うことにおっくうになっていました。

     また、今回照会させてもらった既テーブルのデータ型変更

    (及びデータの再入力・チェック)に時間がかかってしまい、

    返信が遅れてしまいすいませんでした。

     大変に勉強になりました。

     本当に有難うございました。

解決済み!
引用返信 [メール受信/OFF]
■14357 / ResNo.8)  Re[2]: 日付型が火付け型になってしまった
□投稿者/ ONnoji -(2024/05/20(Mon) 21:39:13)
    2024/05/20(Mon) 22:40:11 編集(投稿者)

    TSさん

    >> 日付は、本質的に文字列型または日時型であるのが自然ですよ。
    >
    > 勉強になります。
    > TBLをバックアップコピーし、
    > [起算開始]、[起算終了] のデータ型を日時型にしてみたいと思います。
    > また、今回照会させてもらった既テーブルのデータ型変更
    > (及びデータの再入力・チェック)に時間がかかってしまい、

    当方は土日月とPCの前に居ませんでしたので、ご返事が遅れました。

    当方の発言で、なんかマッチで火を付けてしまったような気がしています。

    今まで、数値型でデータを蓄積してきたのですから、それ自体には問題は無いのですよ。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    ただ、一般論で言うと

    文字列型の日付文字列のデータか、日時型のデータが、日付の処理に適していますよと申し上げた次第です。

    ややこしい事をしようとすると、

    数値型 → 文字列型(日付文字列) → (必要に応じて)日時型

     または

    数値型 → 日時型

    の変換が必要になるので、数値型よりも云々と申し上げたわけです。
     ・・・・・・・・

    それが・・・、まさか表の定義を変更してしまうとは思っていませんでしたので非常に驚いてしまいました。

    日付型が火付け型になってしまったようで恐縮です。m(__)m

    p.s.

    確かに入力の際に0〜9の数字と正負記号しか受け付けないという特性は便利です。※指数表現も受け付けるでしょうけれども(^^ゞ

    なので、数値型で入力を受け取るというのは実践的なテクニックと言えますよ。

    だから、オペレータが入力する項目として数値型であっても何ら問題はないのです。※私は表の定義は自由だと申し上げていましたよ
        ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    しかし、それとは別に数値を日付として処理する場合にはちょっと面倒になるわけです。

    そこで、入力と日付計算のどちらか一方を選ぶのではなく、入力は数値型、計算のタネは日時型というように考えることも出来ます。
                               ◎◎・・・・ ◎◎・・・・・・・
    つまり、

    [入力用の数値型項目]と[日時型の計算項目]をペアで運用するというのもアリだろうと思います。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    [日時型の計算項目]の計算式は、毎回同じなのでいわずもがなですが・・・

     #日時値( #sstr( #str( [数値型項目], 1, 4 ) + "-" + #sstr( #str( [数値型項目], 5, 2 ) + "-" + #sstr( #str( [数値型項目], 7, 2 ) )
                            ↑                    ↑
                          区切り文字はお好きなものを        区切り文字はお好きなものを

    もしも、[文字列型の計算項目]がよろしければ

     #sstr( #str( [数値型項目], 1, 4 ) + "-" + #sstr( #str( [数値型項目], 5, 2 ) + "-" + #sstr( #str( [数値型項目], 7, 2 )
                        ↑                     ↑
                     区切り文字はお好きなものを        区切り文字はお好きなものを

    ↑これは毎回の変換手順でワンパターンですから、もう何度もご覧になって目に焼き付いているかもしれませんね???
                           ・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    このように、日時型に変換するか、文字列型の日付文字列に変換すれば、日時に関する各種の関数が利用できるわけです。

    でも、数値型の場合には何もできないのです、しかし、オペレータの入力する項目という見方からすれば実践的ですね。

    オペレータさんの入力のやり易さを優先して、なおかつ日時の計算が簡単に出来るようにとハイブリッドな表定義にするのが望ましいかもしれませんね。

    なお、今回は早合点して拙速に表の定義を変えたりしないでくださいね。

    あくまでも、当方( ONnoji )は他人ですから、TSさんの状況を事細かに把握して強制・矯正しているわけではないのです。

    だから「あ〜、また ONnoji が何か言ってるよ。」という程度に気楽に読んでください。

    p.p.s.

    ヘルプでキーワード: 日付文字列 を検索してください。

    "日付文字列"は、日時型が存在しなかったDOS桐の時から日時の計算をする時の基本です。

    "日付文字列"の知識は基本中の基本ですから、必ずヘルプを読んでくださいね。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    [桐 - ヘルプ]→ データと式 → 計算式 → 日時の計算 → 日時文字列

    日時型は、"日付文字列"に時刻(時分秒:hms)を追加したデータ型と思ってください。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

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

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



■記事リスト / ▼下のスレッド / ▲上のスレッド
■14336 / 親記事)  保存した条件における読み込み元表のパスが変更されている場合
□投稿者/ 名無し -(2024/05/16(Thu) 14:01:20)
    標記の件につきまして、質問させてください。

    表の読み込みや併合の際に、設定した条件を保存することが可能ですが、
    当該パスが存在しなくなっていた場合、
    保存した読み込み項目や併合条件がクリアされてしまい、
    どのような設定が保存されていたかわからなくなってしまいます。
    (そのパスがサーバー上から消失しているため、読み込み元ファイルをそこに保存しなおすといったことができません)

    この場合に、内部データを修正する等で、読み込み元のファイルパスを変更し、保存した条件を呼び出すといったことはできないでしょうか。
    他に解決策があればご教示いただければ幸いです。

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

▽[全レス4件(ResNo.1-4 表示)]
■14337 / ResNo.1)  Re[1]: 保存した条件における読み込み元表のパスが変更されている場合
□投稿者/ ONnoji -(2024/05/16(Thu) 17:18:39)
    2024/05/16(Thu) 17:29:54 編集(投稿者)

    > 表の読み込みや併合の際に、設定した条件を保存することが可能ですが、
    > 当該パスが存在しなくなっていた場合、
    > 保存した読み込み項目や併合条件がクリアされてしまい、
    > どのような設定が保存されていたかわからなくなってしまいます。

    そうなってしまった場合には後の祭りで、手の施しようがないと思いますよ。

    次善の策としては、各種条件を作成する際に[履歴]に登録して、その内容を別途保存しておくことかと思いますけれど・・・

    もちろん、パスが存在しなくなっていた場合には履歴も動作しなくなりますが、

    条件登録の内容は履歴ファイルの中に保存されていると思いますよ。

    ■[フォーム+イベント]で利用できるコマンド その2 (条件を作成削除するコマンド)

     一覧表印刷条件 行グループ        │検索条件削除
     一覧表印刷条件 行属性          │検索条件登録
     一覧表印刷条件 項目名属性        │索引削除
     一覧表印刷条件 データ属性        │索引定義
     一覧表印刷条件 表属性          │索引名変更
     一覧表印刷条件 表題           │絞り込み条件削除 単一化
     一覧表印刷条件 ファイルフッタ      │絞り込み条件削除 重複行
     一覧表印刷条件 ファイルヘッダ      │絞り込み条件登録 単一化
     一覧表印刷条件 ページフッタ       │絞り込み条件登録 重複行
     一覧表印刷条件 ページヘッダ       │条件名変更
     一覧表印刷条件 列属性          │置換条件削除
     一覧表印刷条件開始            │置換条件登録
     一覧表印刷条件終了            │転置集計条件削除
     一覧表削除                │転置集計条件登録
     書き出し条件削除             │並べ替え条件削除
     書き出し条件登録 CSV           │並べ替え条件登録
     書き出し条件登録 K3           │並べ替え条件登録 索引名
     書き出し条件登録 外部DB         │表示条件 列属性
     書き出し条件登録 テキスト        │表示条件開始
     書き出し条件登録 転置          │表示条件削除
     書き出し条件登録 表           │表示条件終了
     書き出し条件登録 枠組み         │併合条件削除
     行集計条件削除              │併合条件登録
     行集計条件削除 条件名          │読み込み条件削除
     行集計条件削除 条件名 = *        │読み込み条件登録 CSV
     行集計条件登録              │読み込み条件登録 K3
     行集計条件登録 条件名          │読み込み条件登録 PDF
     グラフ条件開始              │読み込み条件登録 テキスト
     グラフ条件 X軸             │読み込み条件登録 表
     グラフ条件 Y軸             │
     グラフ条件 キャプション1        │
     グラフ条件 キャプション2        │
     グラフ条件 項目             │
     グラフ条件 仕上げ            │
     グラフ条件 凡例             │
     グラフ条件 表題             │
     グラフ条件 副Y軸            │
     グラフ条件 副仕上げ           │
     グラフ条件削除              │
     グラフ条件終了              │

引用返信 [メール受信/OFF]
■14338 / ResNo.2)  Re[1]: 保存した条件における読み込み元表のパスが変更されている場合
□投稿者/ 尾形 -(2024/05/17(Fri) 04:30:58)
    どうも、こんにちは

    桐のバージョンが不明ですが

    > この場合に、内部データを修正する等で、読み込み元のファイルパスを変更し、保存した条件を呼び出すといったことはできないでしょうか。

    kiri9.env
    を書き換えればできるような気もします

    コピーとってから、お試しください

引用返信 [メール受信/OFF]
■14339 / ResNo.3)  Re[1]: 保存した条件における読み込み元表のパスが変更されている場合
□投稿者/ 名無し -(2024/05/17(Fri) 11:18:07)
    お二方ご返信いただきありがとうございました。

    >尾形様
    桐は10sを使用しております。
    当該データを拝見する限り、.envが拡張子のデータは見当たらないのですが、設定で出力できるものでしょうか?
    保存されているデータは、「.tbx」「.RCV」「.BAK」となっております。
引用返信 [メール受信/OFF]
■14340 / ResNo.4)  Re[2]: 保存した条件における読み込み元表のパスが変更されている場合
□投稿者/ 尾形 -(2024/05/17(Fri) 12:44:41)

    すいません
    走り読みで、わたしの思い違いでした
    大変失礼しました

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

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



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

    桐10s Windows10 使用

    桐初心者です。

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

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

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

    よろしくお願いします。


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

▽[全レス29件(ResNo.25-29 表示)]
■14331 / ResNo.25)  Re[6]: ガントチャートの試作品
□投稿者/ ジェダイの桐 -(2024/05/10(Fri) 17:36:06)
    ONnojiさん

    > アスタリスク記号(*)は、webでよく見られるように必須入力の意です。

    確かに良く見ますね。
    必須入力項目が未定義の場合、確定ボタンを押したとエラーメッセージが出て、
    必須入力項目に入力を促されますよね(^^)/

    ONnojiさんは使用者目線で開発しているので、本当に尊敬します(^^ゞ
    (私は基本的にそこまで気が回らないので、使用者に優しくない物を作ってしまいがちです(T_T))
引用返信 [メール受信/OFF]
■14332 / ResNo.26)  Re[7]: ガントチャートの試作品
□投稿者/ ONnoji -(2024/05/10(Fri) 17:43:48)
    2024/05/10(Fri) 17:44:25 編集(投稿者)

    >>アスタリスク記号(*)は、webでよく見られるように必須入力の意です。
    > 確かに良く見ますね。
    > 必須入力項目が未定義の場合、確定ボタンを押したとエラーメッセージが出て、
    > 必須入力項目に入力を促されますよね(^^)/

    必須項目に値が入力されているか否かのチェックは、

    [タスクを追加(OK)]と[タスクを追加(適用)]のコマンドボタンを実行した時に行いますよ。

    これがテキストボックスを移動する毎に警告するデザインですと騒がしく感じます。

    ダイアログボックスでのデータのチェックは最後にするというのがキモですよ。
    ・・・・・・・・・・・・・・・・・・・

引用返信 [メール受信/OFF]
■14333 / ResNo.27)  Re[8]: ガントチャートの試作品
□投稿者/ ONnoji -(2024/05/15(Wed) 12:05:36)
    ジェダイの桐さん

    お待たせしました。

    試作ガントチャート_Rev0 のダウンロードの準備が出来ました。

    以下のページからダウンロード出来ます。

    【多遊】さんのHPのトップページの

    [桐質問掲示板] [桐質問のほか掲示板] [DOWN LOAD} [全掲示板]
                            ↑
                          ここをクリック

    または、

    [観験桐]のページの[ダウンロードコーナご利用の皆様へ
               感想・質問・要望お聞かせください]
                    ↑
                   ここをクリック

    で[DOWN LOAD BBS]をご覧ください。

     All ガントチャート試作品 / ONnoji (24/05/15(Wed) 00:58) #393 GanttChart_Trial_Rev0.zip/173KB
     └ Re[1]: ガントチャート試作品 / ONnoji (24/05/15(Wed) 01:04) #394 GanttChart_Trial_DatePicker.zip/112KB



引用返信 [メール受信/OFF]
■14334 / ResNo.28)  Re[9]: ガントチャートの試作品
□投稿者/ 尾形 -(2024/05/16(Thu) 07:34:44)
    どうも、こんにちは

    DLさせていただきました

    ガンチャート.wfx を開こうかすると
    IPS_Formライブラリが見つかりません
    となります

    使い方が間違っているのでしょうか

引用返信 [メール受信/OFF]
■14335 / ResNo.29)  Re[10]: ガントチャートの試作品
□投稿者/ ONnoji -(2024/05/16(Thu) 09:34:15)
    2024/05/16(Thu) 11:26:47 編集(投稿者)

    No14334に返信(尾形さんの記事)
    > ガンチャート.wfx を開こうかすると
    > IPS_Formライブラリが見つかりません
    > となります

    拙作は、#204 INF_Framework 第3.3版 改訂版(MkII) 基本セットに含まれる

     INF_Framework.cmx ※これはライブラリです 一括処理ではありません
     IPS_Framework.cmx ※これはライブラリです 一括処理ではありません

    2つのファイルが必須ですので、これらのファイルををコピーしてください。

    p.s.

    > ■393 / 親階層) ガントチャート試作品 から転載
    > INF_Framework を使用した実践的な応用例のご紹介です。※#204 INF_Framework 第3.3版 改訂版(MkII) 基本セット
    > (注意)
    >  1.の任意のフォルダに解凍(展開)した時には、2.#204 INF_Framework 第3.3版 改訂版(MkII) 基本セット に含まれている
    >  INF_Framework.cmx
    >  IPS_Framework.cmx
    >  の2つのファイルを当該のフォルダにコピーしてください。

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

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






1467570

Mode/  Pass/

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

- Child Tree -
- Antispam Version -