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

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

記事リスト ( )内の数字はレス数
Nomal数値型項目で入力の際数値以外のキーを受け付けない(20) | Nomal常時「訂正」モードにしたい(20) | Nomal制約について(17) | Nomal表整理の一括化(17) | Nomal桐s-2024 LTへのバージョンアップ(16) | Nomalマルチディスプレイについて(14) | Nomal一括処理について(14) | Nomalk3フォーマットで未定義値処理について(13) | Nomal一括処理について(13) | Nomal表引きについて(13) | Nomal桐10終了(12) | Nomal文字列の計算(12) | Nomalレポートについて(12) | Nomal絞り込み:比較式での日時値絞り込みの相談(12) | Nomal配列変数の扱いについて(10) | Nomal中央値について(10) | NomalChatgptについて(9) | Nomal印刷枚数について(9) | Nomal繰り返しコマンドについて(9) | Nomal一括処理にて編集対象表をダイアログから指定したい(8) | Nomalwindows10の動作(8) | Nomal併合の絞り込みについて(8) | Nomal一括処理でテキストを選択したい(8) | Nomal課税、非課税(8) | Nomal指定の文字数を入力したとき自動でタブ(6) | Nomal表のサイズが小さくなる。(6) | Nomal連番を入れたら、その日の年月を自動で入れたい(6) | Nomal連番の付与(5) | Nomal集計行の印刷(5) | Nomal経過日を知りたい(5) | Nomal絞り込み式(5) | Nomal12ヶ月分のレコードを一度に作成する方法について(5) | Nomal条件分岐の一括処理について(4) | Nomal道具箱の条件について(4) | Nomalフォームのズームについて(4) | Nomal平均額の算出(4) | Nomal変数自体の文字列変換(4) | Nomal軸単位の異なるデータを一つのグラフで表示させたい(4) | Nomal区分ごとに行で色を付けたい(4) | Nomalビルド番号について(4) | NomalGoogle連絡先からインポートでエラー(3) | NomalファンクションキーがCTRLを押しながらでないとつかえない?(3) | Nomal文字列変換について(3) | Nomal数値の複写の「項目計算式」(3) | Nomal絞り込み検索条件式(3) | Nomalテキスト読み込み(3) | NomalLinux Mint(2) | Nomal選択したデータの特定の項目の値を変数に組み込みたい(2) | Nomalデータの取得(2) | Nomal伝票のレポートについて(2) | Nomal項目の表示条件(2) | Nomal一括処理の絞込みについて(2) | Nomal絞り込み 条件名 エラー KD1084:比較式の形式に誤りがあります(2) | Nomal項目の値を変数に取り込むには(2) | Nomal最新(直近)のデータだけを表示させたい(2) | Nomal超初心者です。桐の変数代入について教えて下さい。(2) | Nomal一括処理で集計したい(2) | Nomal文字列項目データだけダブルクォーテーション書き出しの件(1) | Nomal認知症検査(1) | Nomalライブラリが読み込まれない(1) |



■記事リスト / ▼下のスレッド
■15017 / 親記事)  数値型項目で入力の際数値以外のキーを受け付けない
□投稿者/ まさやん -(2025/07/09(Wed) 15:00:38)
    2025/07/09(Wed) 15:24:55 編集(投稿者)


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

    桐9s Win11 イベント処理を行っています

    フォーム入力時に
    品名や 備考 などの 文字列型項目での入力では
    全キーボード入力を 拒まないのですが

    数値型項目入力時に
    数字キー以外の キーを受け付けないという 方法はできますか?

    イベント実行中 数字入力だけの (例えば 単価 とか 数量など)際に
    間違って 英字キー 押して 間違ってエンターキー押すと
    メッセが出て その先の 処理を受け付けてくれません

    そのための 回避策を探していますが
    そのようなことができるかどうかもわかりませんが

    宜しくお願い致します。

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

▽[全レス20件(ResNo.16-20 表示)]
■15037 / ResNo.16)  Re[11]: 数値型項目で入力の際数値以外のキーを受け付けない
□投稿者/ ONnoji -(2025/07/10(Thu) 20:50:28)
    2025/07/11(Fri) 08:51:12 編集(投稿者)

    > 論より証拠。
    > サンプルを作りました。
    > INF_Framework をダウンロードしたフォルダに解凍してください。

    > 先日 ダウンロードコーナーから ダウンロードしたのがありまして
    > その中のと同じのかと思われますので 試してみます
      ↑
    そのフォルダに解凍する

     または

    ダウンロードコーナーからダウンロードしたファイルが存在するフォルダの

    ・INF_Framework.cmd
    ・IPS_Framework.cmd

    この2つのファイルを VK_使用例.wfm/kev があるフォルダにコピーしてください

    p.s.

    > また AKOMEさんのと もひとつのURL 見てみました
    > 私のレベルでは まだ 解釈不足です

    そもそも初めて経験するインタフェースなのですから誰でも最初から理解・解釈出来ないのが普通ですよ。
        ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    まず、考えずに AKomeさんの例を試してみることです。
       ・・・・・・・・・・・・・・・・・・・・・

    例えば、表示モードで[/][−]キーが押された時に現れる「スラッシュ・メニュー」を止めるとかなど・・・

    そうすれば、なるほど!と分かってくるハズですよ。

    ただ考えるのは何もしないのと同じです。(^^ゞ

    p.p.s.

    老婆心ながら・・・(^^ゞ

    フレームワークというものは内容を理解する必要は無いのです。
    ・・・・・・・・・・・・・・・・・・・・・・・・・

    それよりも、使い方を理解する事が重要なんです。
          ・・・・・・・・・・・・・・・・

    フレームワークの内容に関心が無くて、フレームワークの使い方に関心がある人はソフトウェア開発に適性があります。

    そういう人はフレームワークを利用して、短時間に[フォーム+イベント処理]アプリケーションを作っています。

    それに対して、DOS桐からのベテラン組の人達は、長年一括処理、つまり[フロー駆動型]を使っていたので、

    [フロー]=[コーディング]=プログラミングと認識しているようです。

    つまり、全部自分でプログラムを書かないと気が済まない人が多いように思います。

    勿論、その方が気分が良い人も居ることでしょう。

    しかし、それではいつまでたっても[イベント駆動]のプログラミングを効率よく構築出来ないと思いますよ。
                    ・・・・・・・・・・・・・・・・・・・・・・・

    既に出来上がっている車輪=フレームワークを利用する方が、車輪を再発明するよりも効率がよいのですから・・・

    <用語>

    車輪の再発明 出典: フリー百科事典『ウィキペディア(Wikipedia)』

     車輪の再発明(しゃりんのさいはつめい、英: reinventing the wheel)とは、
    「広く受け入れられ確立されている技術や解決法を(知らずに、または意図的に無視して)再び一から作ること」を指すための慣用句。
    誰でも直観的にその意味が分かるように、車輪という誰でも知っていて古くから広く使われている既存の技術を比喩の題材として使った慣用表現で、世界中で使われている。

    再利用すべき「車輪」

     IT業界において、再発明するのではなく再利用すべき「車輪」の例としては以下のようなものがある[1]。

    ・ライブラリやフレームワーク

      ドキュメントが整備されていることや日々メンテナンスされてバグが無くなっていることが必要。
     使用するライブラリやフレームワークが広く知られている場合には、
     開発経験をもった人をアサインすることで引き継ぎなどもスムーズに行くというメリットもある。



引用返信 [メール受信/OFF]
■15038 / ResNo.17)  Re[12]: 数値型項目で入力の際数値以外のキーを受け付けない
□投稿者/ ONnoji -(2025/07/10(Thu) 23:53:47)
    2025/07/11(Fri) 07:53:55 編集(投稿者)

    拙作:VK_Framework で試したところ当初の予想よりも簡単に[数値以外のキーを受け付けない]が実現できました。(^^ゞ

    簡単なレビューを以下にご報告します。

     ◇ ◇ ◇ ◇ ◇ ◇

    【イベントハンドラに直接記述する】

    手続き定義開始 フォーム::キーダウン(長整数 &仮想キーコード,長整数 &スキャンコード,長整数 &フラグ,参照 長整数 &処理中止)

     メソッド呼び出し @フォーム.更新モード取得(&更新モード)
     メソッド呼び出し @フォーム.フォーカスオブジェクト取得(&STR)
    ┌if (&更新モード≠0)
    │┌if ((&仮想キーコード>=65 .and &仮想キーコード<=90 .and &仮想キーコード≠13) .or (&仮想キーコード>=106 .and &仮想キーコード≠110)
    ││ &比較式=#項目属性(#項目番号(#部分列(&STR,#IS全角(&STR,0))),2)
    ││ 条件 (&比較式≠"文字列") &処理中止=1
    ││ 条件 (&比較式≠"文字列") メッセージボックス "","数字キーのみの入力です",ボタン=1
    │└end
    └end

    手続き定義終了

    上↑と下↓

    【VK_Framework を利用する】

    手続き定義開始 txtA::入力前(参照 文字列 &編集文字列)

     手続き実行 VKprcEventKeyDownON( )
     手続き実行 VKprcKeyON( )
     手続き実行 VKprcKeySet( "key", 1, "項目訂正,訂正", "手続き実行 prcTest( &VKmChr, &処理中止 )" )

    手続き定義終了を

    手続き定義開始 txtA::入力後(参照 文字列 &編集文字列,長整数 &モード,参照 長整数 &入力継続)

     手続き実行 VKprcEventKeyDownOFF( )         /* キーダウンイベントをオフ */
     手続き実行 VKprcKeyOFF( )              /* 実行禁止         */
     手続き実行 VKprcKeyClear( "key", "項目訂正,訂正" ) /* クリア          */

    手続き定義終了

    手続き定義開始 prcTest( 文字列 &key, 参照 長整数 &処理中止 )
     変数宣言 自動,文字列{ &keyList = "0,1,2,3,4,5,6,7,8,9,+,-" } /* 必要ならば小数点のドットも加える */

     トレース出力 _( #対応番号( &keyList, &key ) <> 0 )
     if ( #対応番号( &keyList, &key ) <> 0 )
      &処理中止 = 0
     end

     トレース出力 _&key, "     ", _&処理中止
    手続き定義終了

    比べてみると、

    拙作:VK_Framework を利用する場合には

    ・65,90 といった恣意的な仮想キーコードに振り回されなくて分かり易い
     ・・・・・・・・・・・・・・・・・・

    ・[Enter][Tab][Esc]の各キーに対して透過的である

    ・更新モードによって実行内容を指定できる

    ・分かり易いから改造が簡単に出来る
     ・・・・・・・

    というメリットがあることに気が付く事でしょう。

    なお、VK_Framework は Thin INF_Framework / オートINF_Framework 等すべての INF_Framework で使用できます。

    p.s.

    >>なお、この方法でキーをマスクすると、キーボードが壊れたんじゃないかと不審に思われるかもしれませんね。
    >>                  ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
    >>なので、「やり過ぎ感がハンパ無しで満載」ですね。 ※何事もほどほどがいいですよ。

    これは杞憂、つまり「とりこし苦労」でしたね。

    [入力後]イベントハンドラで不要文字を取り除くよりも、ストレートでパフォーマンスも悪く無いでした。アハハハha

     ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

    余談ながらトレースの結果です。


    ┌when 手続き"txtA::入力前("0")"を実行開始しました

    │┌when 手続き"VKprcEventKeyDownON( )"を実行開始しました
    │└end

    │┌when 手続き"VKprcKeyON( )"を実行開始しました
    │└end

    │┌when 手続き"VKprcKeySet("key",1,"項目訂正,訂正","手続き実行 prcTest( &VKmChr, &処理中止 )")"を実行開始しました
    │└end

    └end

    ┌when 手続き"フォーム::キーダウン(97,79,0,0)"を実行開始しました

    │┌when 手続き"VKprcEventKeyEval(97,79,0,0)"を実行開始しました
    ││
    ││┌when 手続き"prcTest("1",1)"を実行開始しました
    │││
    │││ :( #対応番号( &keyList, &key ) <> 0 ) : 1
    │││ :&key : 1     &処理中止 : 0
    │││
    ││└end
    ││
    │└end

    └end

    ┌when 手続き"フォーム::キーダウン(98,80,0,0)"を実行開始しました

    │┌when 手続き"VKprcEventKeyEval(98,80,0,0)"を実行開始しました
    ││
    ││┌when 手続き"prcTest("2",1)"を実行開始しました
    │││
    │││ :( #対応番号( &keyList, &key ) <> 0 ) : 1
    │││ :&key : 2     &処理中止 : 0
    │││
    ││└end
    ││
    │└end

    └end

    ┌when 手続き"フォーム::キーダウン(99,81,0,0)"を実行開始しました

    │┌when 手続き"VKprcEventKeyEval(99,81,0,0)"を実行開始しました
    ││
    ││┌when 手続き"prcTest("3",1)"を実行開始しました
    │││
    │││ :( #対応番号( &keyList, &key ) <> 0 ) : 1
    │││ :&key : 3     &処理中止 : 0
    │││
    ││└end
    ││
    │└end

    └end

    ┌when 手続き"フォーム::キーダウン(13,28,0,0)"を実行開始しました

    │┌when 手続き"VKprcEventKeyEval(13,28,0,0)"を実行開始しました
    ││
    │└end

    └end

    ┌when 手続き"txtA::入力後("123",1,0)"を実行開始しました

    │┌when 手続き"VKprcEventKeyDownOFF( )"を実行開始しました
    ││
    │└end

    │┌when 手続き"VKprcKeyOFF( )"を実行開始しました
    │└end

    │┌when 手続き"VKprcKeyClear("key","項目訂正,訂正")"を実行開始しました
    │└end

    └end

引用返信 [メール受信/OFF]
■15079 / ResNo.18)  Re[2]: 数値型項目で入力の際数値以外のキーを受け付けない
□投稿者/ ONnoji -(2025/08/09(Sat) 14:53:47)
    2025/08/09(Sat) 18:57:01 編集(投稿者)

    すでに解決済との事ですが・・・

    当初から、私の直感では、使用できるキーを数字と正負記号に制限するのは、解決策の本命には思えませんでした。
         ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    結論としては、[キーダウン]イベントハンドラは必要ないです。

    なぜならば、[入力後]イベントハンドラが呼び出す一般手続きですべて処理できるからです。

    結局、先回りして数字と正負記号以外の文字キーをブロックしても、ほとんど無意味という事なんです。
       ・・・・・・・・・・・・・・・・・・・・・・・・・・・・◎◎◎◎◎◎◎・・・・・・・・

    つまり、問題解決の本質部分は、[キーダウン]イベントハンドラにあるのではなくて、[入力後]イベントハンドラにあるということです。(^^ok

    ということで、[入力後]イベントハンドラの工夫次第ということで解決になります。ガッハハハha (^^♪

    今回の添付ファイルには、拙作:INF_Framework を使用していません。

    普通にフォームを開けば実行できますよ。

    なお、サンプルは数日を目途に削除しますので、ダウンロードはお早めに願います

    <参考>

    名札  メイン



    手続き定義開始 txt数値::入力後(参照 文字列 &編集文字列,長整数 &モード,参照 長整数 &入力継続)

     手続き実行 prc数値の入力後イベント処理( &this, &編集文字列,&モード,&入力継続 )

    手続き定義終了

    手続き定義開始 txt整数::入力後(参照 文字列 &編集文字列,長整数 &モード,参照 長整数 &入力継続)

     手続き実行 prc数値の入力後イベント処理( &this, &編集文字列,&モード,&入力継続 )

    手続き定義終了

    手続き定義開始 txt長整数::入力後(参照 文字列 &編集文字列,長整数 &モード,参照 長整数 &入力継続)

     手続き実行 prc数値の入力後イベント処理( &this, &編集文字列,&モード,&入力継続 )

    手続き定義終了

    手続き定義開始 txt通貨::入力後(参照 文字列 &編集文字列,長整数 &モード,参照 長整数 &入力継続)

     手続き実行 prc数値の入力後イベント処理( &this, &編集文字列,&モード,&入力継続 )

    手続き定義終了

    手続き定義開始 INFprcMsgPause( 文字列 &icon, 文字列 &title, 文字列 &msg )
     変数宣言 自動,文字列{ &iconList = "i,?,!,e" } /* 半角コンマで区切った文字列リスト */
     変数宣言 自動,文字列{ &macro }
     変数宣言 自動,整数 { &at }

     &icon = #半角( #lc( #sstr( &icon, 1, 1 ) ) ) /* &icon はこの手続きの引数 */
     &at = #対応番号( &iconList, &icon )

     &macro = "メッセージボックス &title, &msg" + #cond( &at, ", アイコン = " + &icon ) + ", ボタン指定 = 1, 制御文字展開 = する"
     コマンド &macro

    手続き定義終了

    手続き定義開始 prc数値の入力後イベント処理(文字列 &objectName, 参照 文字列 &編集文字列,長整数 &モード,参照 長整数 &入力継続)
     変数宣言 自動,文字列{ &icon, &title = "prc数値の入力後イベント処理( )", &msg }
     変数宣言 自動,文字列{ &string }
     変数宣言 自動,文字列{ &dataType }
     変数宣言 自動,文字列{ &source }
     変数宣言 自動,文字列{ &dataTypeList = "整数,長整数,数値,通貨,実数" }
     変数宣言 自動,数値 { &num }
     変数宣言 自動,数値 { &mod }
     変数宣言 自動,整数 { &isError = 0 }

     オブジェクト操作 &objectName{ &dataType = データ型, &source = ソース }

     if ( #対応番号( &dataTypeList, &dataType ) <> 0 )

      &string = &編集文字列
      &string = #str( #num( &string ) )

      &num = #未定義値変換( #num( &string ), 0 )
      &mod = #mod( &num, 1 )

      if ( &dataType = "整数" .or &dataType = "長整数" )

       if ( &mod <> 0 )

        &msg = "このテキストのソースは[" + &dataType + "]なので、小数点以下の数値は切り捨てられます"
        &msg = &msg + "\n\n⇒ " + &string
        &icon = "!"
        手続き実行 INFprcMsgPause( &icon, &title, &msg )
        &isError = 1
       end

       if ( ( &dataType = "整数" .and ( &num < -32768 .or &num > 32767 ) ) .or ( &dataType = "長整数" .and ( &num < -2147483648 .or &num > 2147483647 ) ) )

        メソッド呼び出し &this.編集選択位置設定( 1 ,-1 )

        &msg =      "このテキストのソースは[" + &dataType + "型]なので、"
        条件 ( &dataType = "整数"  ) &msg = &msg + "\n\n-32768 〜 32767 の範囲外の整数は入力できません"
        条件 ( &dataType = "長整数" ) &msg = &msg + "\n\n-2147483648 〜 2147483647 の範囲外の整数は入力できません""
        &msg = &msg + "\n\n⇒ " + &string
        **&msg = &msg + "\n\nお手数ですが"
        &msg = &msg + "\n\n・値を削除する"
        &msg = &msg + "\n  または"
        &msg = &msg + "\n・範囲内の値を入力してください"
        &icon   = "e"
        手続き実行 INFprcMsgPause( &icon, &title, &msg )

        &isError = 1
        &入力継続 = 1
       end
      end

      &編集文字列 = &string

     end

    手続き定義終了

引用返信 [メール受信/OFF]
■15080 / ResNo.19)  Re[3]: 数値型項目で入力の際数値以外のキーを受け付けない
□投稿者/ まさやん -(2025/08/09(Sat) 17:21:53)
    2025/08/09(Sat) 17:22:13 編集(投稿者)

    > 当初から、私の直感では、使用できるキーを数字と正負記号に制限するのは、解決策の本命には思えませんでした。
    > 結論としては、[キーダウン]イベントハンドラは必要ないです。
    >
    > なぜならば、[入力後]イベントハンドラが呼び出す一般手続きですべて処理できるからです。
    >
    > 結局、先回りして数字と正負記号以外の文字キーをブロックしても、ほとんど無意味という事なんです。
    >    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・◎◎◎◎◎◎◎・・・・・・・・
    >
    > つまり、問題解決の本質部分は、[キーダウン]イベントハンドラにあるのではなくて、[入力後]イベントハンドラにあるということです。(^^ok
    >


    サンプルありがとうございました

    確かにそうですね ありがとうございました

    先日の投稿で 勝手にお名前出してすみませんでした(×_×)
引用返信 [メール受信/OFF]
■15081 / ResNo.20)  Re[3]: 数値型項目で入力の際数値以外のキーを受け付けない
□投稿者/ まさやん -(2025/08/09(Sat) 18:31:34)

    >   &string = #str( #num( &string ) )

    考えてみれば

    簡単に言うと

     上のコマンドを 入力後イベントで処理すればいいっていうことなんですね

    入力後イベント の チェックマーク入れなかったので
    桐からのメッセが出て それ以降のイベントが 走らなかったので
    その対処策を 考えた次第です


    対処策の 方法が 入力後イベント走らせたほうが 正解だったのと
    自然な成り行きですもんね

    確かに 今まで
    数字と数字以外の混ざった データを

    #num(&〇〇) で

    数値だけになってました そうでした   ありがとうございます。
引用返信 [メール受信/OFF]

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



■記事リスト / ▼下のスレッド / ▲上のスレッド
■14819 / 親記事)  常時「訂正」モードにしたい
□投稿者/ 中嶋 -(2025/02/14(Fri) 10:56:07)
    ファイルを開いた際に「表示」モードになっていると思いますが、常時「編集」モードになるようにするにはどのような手順で実現できるでしょうか。

    素人すぎる質問で恐縮ですが、どなたかお助けいただけるとありがたいです。

    よろしくお願いします。
引用返信 [メール受信/OFF]

▽[全レス20件(ResNo.16-20 表示)]
■14836 / ResNo.16)  Re[1]: 常時「訂正」モードにしたい
□投稿者/ 中嶋 -(2025/02/15(Sat) 01:13:08)
    ONnojiさん、まさやんさん、尾形さん、MAKOTOさん
    相談にのっていただき、ご親切に感謝します。

    具体的に行いたかったことがご説明できておらず、失礼しました。
    最終的にしたかったのは、出席簿への入力です。

    ■内容
    ・名簿上の人数は数百名
    ・出席確認頻度は週に1回
    ・出席内容により「1」か「2」か「3」のいずれかを入力
    ・欠席の場合は入力無し
    ・1回(1週)あたりの出席者は約200名
    ・出席の約200名に対して、1〜3のいずれかを入力、残る数百名は入力無し
    ・出席者約200名の大半は毎週の出席者で出席内容もおおよそ毎週同じ
    ・但し不定期の出席者もおり、定例出席者でも出席内容が異なる場合もある
    ・約200名分をスクロールして、もしくは検索して「1」〜「3」を入力
    ・「鈴木xx」さんなど、同じ苗字の方々もおり、その場合は「鈴木」で検索して該当する複数名分を入力
    ・約200名分に対して、200回検索して氏名を呼び出す訳ではないが、相当回数を検索し入力を行う
    ※検索ごとの入力の際、F2を押さずして入力したいと期待した

    ■現状
    ・エクセルを使用
    ・スクロールも使用するが、それ以外は出席者名をいちいちフィルタで検索or選択するため非常に面倒
    ・桐のF10で簡単に呼び出したい

    イメージは添付の通りです。
722×257 => 250×88

1739549588.jpg
/91KB
引用返信 [メール受信/OFF]
■14837 / ResNo.17)  Re[7]: 常時「訂正」モードにしたい
□投稿者/ まさやん -(2025/02/15(Sat) 08:01:31)
    2025/02/15(Sat) 08:03:34 編集(投稿者)

    > サンプルまでいただきありがとうございます。格闘してみたいと思います。
    >

    中嶋さん すみません私が書いたサンプルは
    表の場合 検索 でしか出来ません

    中嶋さんに提示されたサンプルの表に番号がありましたが
    この番号を検索して やってもらえるといいです
    (ただこの番号というのは 固有番号かどうかが心配ですが)

    表での一括の場合には 絞り込みして 訂正すると
    先頭行のデータしか 訂正できません

    絞り込みの場合は フォームにイベント定義してやったほうがベターです。
    すみません 今回は検索のみで よろしくお願いいたします。



引用返信 [メール受信/OFF]
■14838 / ResNo.18)  Re[8]: 常時「訂正」モードにしたい
□投稿者/ 中嶋 -(2025/02/15(Sat) 09:52:38)
    ご丁寧にありがとうございます。

    私自身に基礎知識があまりになさ過ぎて、みなさんの会話について行けてないですが、少しづつ勉強して、有効に会話できることを目指していきたいと思います。

    ご親切ありがとうございました。
引用返信 [メール受信/OFF]
■14839 / ResNo.19)  Re[2]: 常時「訂正」モードにしたい
□投稿者/ ONnoji -(2025/02/15(Sat) 11:53:51)
    2025/02/15(Sat) 12:08:25 編集(投稿者)

    まず確認ですが、添付の画像はエクセルのシートでよろしいですね。

     ◇ ◇ ◇

    という前提で・・・

    桐の表(.tbx)で同様な視覚効果を求めるのであれば、

    毎週土曜日の月/日の項目に入力される123の値に応じて項目の背景色をピンク・緑・水色にするには、

    ⇒表示モード [属性]メニュー → [項目の表示条件] → [項目の表示条件]ダイアログの[条件編集]タブで条件式を設定すればOK

    詳しくは[項目の表示条件]のヘルプを読んでください。

    ちょっと気になるのは、未入力の扱いですが・・・

    [白い背景色のセル]と"[空白(要入力)"と表示されているセル]です。

    例えば、2行めの佐藤次郎氏の[2/8]はには、何も表示されていません。

    しかし、2行めの佐藤次郎氏の[2/15]には、"[空白(要入力)"と表示されています。

    桐の場合には[表の表示条件]の[表示形式]タブの[未定義値表示文字列]を指定できますが、

    ここに文字列を指定してしまうと、2行めの佐藤次郎氏の[2/8]と[2/15]のどちらも未入力(文字または数値が入力されていない)なので、

    結果的に両方の項目に指定した文字列が表示されてしまいます。

    つまり、[白い背景色のセル]と"[空白(要入力)"と表示されているセル]の違いは何なのか???

    という疑問が生じますよ。

    また、気になるのは・・・

    最終行に総数の行がありますが、桐の表(.tbx)では行集計した結果生まれる一時的な行なのですが・・・

     ◇ ◇ ◇ ◇ ◇

    といろいろお尋ねするのは、もう少し詳しく聞かないと何とも回答に困るからなのでありました。(^^ゞ

    p.s.

    > ・約200名分をスクロールして、もしくは検索して「1」〜「3」を入力
    > ・「鈴木xx」さんなど、同じ苗字の方々もおり、その場合は「鈴木」で検索して該当する複数名分を入力
    > ・約200名分に対して、200回検索して氏名を呼び出す訳ではないが、相当回数を検索し入力を行う

    人物の氏名というのは、結構同姓同名があるものですよね。

    なので、出来ればそれぞれの人物を一意に特定できるIDを発行するのが望ましいですよ。

    その場合には人物のIDを検索するだけでヒットすることが期待できますからベターだと思いますよ。

引用返信 [メール受信/OFF]
■14840 / ResNo.20)  Re[2]: 常時「訂正」モードにしたい
□投稿者/ うにん -(2025/02/15(Sat) 12:42:53)
    Excelのセルもダブルクリックしたり「中に入る」操作をしないとキャレットは出ないですよね?
    キャレットが出てなくても、文字を打つと上書きで入力される。
    桐でこれができないのは、「既存のデータを最大限保護する」というデータベースソフトとしてのありようだと思います。
    うっかり何か入力して保存してしまうと、もう元には戻せません。明確に「変更する」という意思を表示してからでないと、入力できないのです。

    入力方法が重点なら、Excelのフィルタ機能やマクロを勉強した方が早そうな??
    (桐の検索した状態のようなのはExcelでもできますよね)
    桐なら、履歴で検索から行訂正モードに入るようなのを作れば、検索した後対象レコードに縦に連続入力、のようなことはできると思いますが...
引用返信 [メール受信/OFF]

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



■記事リスト / ▼下のスレッド / ▲上のスレッド
■15162 / 親記事)  制約について
□投稿者/ キリマンジャロ -(2025/10/30(Thu) 13:04:09)
    IN11、桐10S使用です
    いつもお世話になっております

    今回ですが、データ型 文字列、項目名 機械No
    という表のデータがあります。

    ここにP01 や R01 や T05 など頭が英語で
    そのあと2文字が数字で入ります。

    入力する際に、P1やP5などにならない様に3桁
    しか入らないように、制約を付けたいを思いましたが
    やり方が分からなかったので、
    忙しいところ恐縮ですが教えて頂きたいです。
    宜しくお願い致します。
引用返信 [メール受信/OFF]

▽[全レス17件(ResNo.13-17 表示)]
■15175 / ResNo.13)  Re[5]: 制約について
□投稿者/ キリマンジャロ -(2025/10/31(Fri) 11:09:26)
    ジェダイの桐さん、ONnojiさんありがとうございます。

    >#文字数( [機械No] ) = 3
    >と入力すれば、3文字入力でないとエラーがでます。
    素早い回答ありがとうございます。
    これから使わせて頂きます。

    >この段階で、作り手と利用者は反目しあうことになります。
    >こういう経験は藤野さん自身もたくさんしていると思います。
    >ですから、作り手は「利用者はいつまでも初心者のレベルに留まっていない」ということ>を自覚するべきです。

    この話はとても参考になりました。
    考えながらフォームの作成を行いたいと思います。

    >#cond( ( #is英字( #sstr([機械No],1,1 ), 1 ) = 0 .or #is数字( #sstr([機械No], >2, 2 ), 1 ) = 0 .or #文字数( [機械No] ) <> 3 ),"背景色'赤'" )

    こちらを使おうと思いますが、未完成の場合は、背景白なんて
    事が出来たら嬉しいです。可能でしたらご教示お願い致します。

引用返信 [メール受信/OFF]
■15176 / ResNo.14)  Re[6]: 制約について
□投稿者/ ONnoji -(2025/10/31(Fri) 11:34:24)
    > >この段階で、作り手と利用者は反目しあうことになります。
    > >こういう経験は藤野さん自身もたくさんしていると思います。
    > >ですから、作り手は「利用者はいつまでも初心者のレベルに留まっていない」ということ>を自覚するべきです。
    >
    > この話はとても参考になりました。
    > 考えながらフォームの作成を行いたいと思います。

    表の項目制約といったものは、表を作った人自身が使うのであれば、多少の不便も気にならないでしょう。

    しかし、PCに疎いひとが突然現れた威圧的なエラーメッセージに遭遇するとどうでしょうか??

    まず、エラーメッセージの意味が分からないことが多いでしょ。

    そして、「この表は使いにくいなぁ〜」という感想を持つと思います。

    キリマンジャロさんは、企業コンサルタントなのか存じませんが、

    PCを使ったアプリケーションを作成したりアドバイスをする場合には、ユーザインタフェースによく注意してください。

    特に唐突に表示されるメッセージは、ユーザの作業の流れを妨げるので要注意です。

    早い話が、PCに詳しい人と、PCに疎い人では、PC対する感性が異なっているということですよ。

    ちなみに、プログラミングは心理学とか、ユーザインターフェースの知識というのがあります。

    非常に有名な書籍があるので、会社の経費で買って貰って読んでみてください。

     誰のためのデザイン? 増補・改訂版 ―認知科学者のデザイン原論
     出版社 :新曜社; 増補・改訂版 (2015/4/23)
     発売日 :2015/4/23
     言語  :日本語
     単行本 :520ページ
     ISBN-10 :4092534647
     ISBN-13 :978-4788514348

    こういう本は売れないからバカ高いのですよ。会社に本代を払わせた方がいいですよ。アハハハ

    > >#cond( ( #is英字( #sstr([機械No],1,1 ), 1 ) = 0 .or #is数字( #sstr([機械No], >2, 2 ), 1 ) = 0 .or #文字数( [機械No] ) <> 3 ),"背景色'赤'" )
    >
    > こちらを使おうと思いますが、未完成の場合は、背景白なんて
    > 事が出来たら嬉しいです。可能でしたらご教示お願い致します。

     #cond( ( #is英字( #sstr([機械No], 1, 1), 1) = 0 .or #is数字( #sstr([機械No], 2, 2), 1) = 0 .or #文字数( [機械No] ) <> 3 ),"背景色'赤'" ) + #cond( ([機械No] = #u),"背景色'白'" )

    ですね。
引用返信 [メール受信/OFF]
■15177 / ResNo.15)  Re[7]: 制約について
□投稿者/ キリマンジャロ -(2025/10/31(Fri) 16:15:43)
    ONnojiさんありがとうございます。


    > ちなみに、プログラミングは心理学とか、ユーザインターフェースの知識というのがあります。
    >
    > 非常に有名な書籍があるので、会社の経費で買って貰って読んでみてください。
    >
    >  誰のためのデザイン? 増補・改訂版 ―認知科学者のデザイン原論
    >  出版社 :新曜社; 増補・改訂版 (2015/4/23)
    >  発売日 :2015/4/23
    >  言語  :日本語
    >  単行本 :520ページ
    >  ISBN-10 :4092534647
    >  ISBN-13 :978-4788514348
    >

    Amazonで3500円で売っていたので、会社に相談しようと思います。

    >  #cond( ( #is英字( #sstr([機械No], 1, 1), 1) = 0 .or #is数字( #sstr([機械No], 2, 2), 1) = 0 .or #文字数( [機械No] ) <> 3 ),"背景色'赤'" ) + #cond( ([機械No] = #u),"背景色'白'" )
    >
    > ですね。

    無事解決することが出来ました。ありがとうございました。
引用返信 [メール受信/OFF]
■15178 / ResNo.16)  Re[8]: 制約について
□投稿者/ キリマンジャロ -(2025/10/31(Fri) 16:16:31)
    > 無事解決することが出来ました。ありがとうございました。
解決済み!
引用返信 [メール受信/OFF]
■15179 / ResNo.17)  Re[9]: オートINF_Frameworkによる変換
□投稿者/ ONnoji -(2025/11/01(Sat) 13:05:41)
    2025/11/01(Sat) 15:08:51 編集(投稿者)

    ジェダイの桐さんへ

    > >#cond( ( #is英字( #sstr([機械No],1,1 ), 1 ) = 0 .or #is数字( #sstr([機械No], >2, 2 ), 1 ) = 0 .or #文字数( [機械No] ) <> 3 ),"背景色'赤'" )
    >
    > こちらを使おうと思いますが、未完成の場合は、背景白なんて
    > 事が出来たら嬉しいです。可能でしたらご教示お願い致します。

    答えは、

     #cond( ( #is英字( #sstr([機械No], 1, 1), 1) = 0 .or #is数字( #sstr([機械No], 2, 2), 1) = 0 .or #文字数( [機械No] ) <> 3 ),"背景色'赤'" ) + #cond( ([機械No] = #u),"背景色'白'" )

    です。

    なお、この式は オートINF_Framework が表の【項目の表示条件】を解析して、フォームのテキストボックスの【編集属性式】属性を自動的に設定したものです。

     ◇ ◇ ◇ ◇ ◇

    <注意する点1>

    表の【項目の表示条件】 ※1番めと2番めの条件式の順番を入れ替えるとNGです。
                 ・・・・・・・・・・・・・・・・・・・・・・・・・
    1番め

    ⇒ [] = #u
    ⇒ 背景色:白

    2番め

    ⇒ #is英字( #sstr([],1,1 ), 1 ) = 0 .or #is数字( #sstr([], 2, 2 ), 1 ) = 0 .or #文字数( [] ) <> 3
    ⇒ 背景色:赤

    オートINF_Framework を使用するのであれば、表(.tbx)の【項目の表示条件】だけをセットするだけでOKです。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    後は、オートINF_Framework がテキストボックスの【編集属性式】属性を自動的に設定します。
       ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    つまり、フォームのテキストボックスの【編集属性式】は以下のように設定されます。

     #cond( ( #is英字( #sstr([機械No], 1, 1), 1) = 0 .or #is数字( #sstr([機械No], 2, 2), 1) = 0 .or #文字数( [機械No] ) <> 3 ),"背景色'赤'" ) + #cond( ([機械No] = #u),"背景色'白'" )

    <注意する点2>

    ここでもうひとつ注意があります。

    表の【項目の表示条件】の1番めを

     背景色:白 から 背景色:継承 に変更してもよさそうですが、

    そうすると、

     編集属性式が一つもありません。
     このまま保存しますか?

    が表示されます。

    つまり、背景色:継承 は何もしないのと同じなのです。
        ・・・・・・・・・・・・・・・・

    そうなると、オートINF_Framework がテキストボックスの[編集属性式]属性を自動的に設定しようとしても、

    【項目の表示条件】の設定情報が空欄なので何も設定できないのでした。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    (例) ([]=#u) , (#is英字( #sstr([],1,1), 1 ) = 0 .or #is数字( #sstr([], 2, 2), 1 ) = 0 .or #文字数( [] ) <> 3) CB3
           ↑
       背景色"CB"のカラーコードが空
       ・・・・・・・・・・・・・・

    というご注意です。(^^ゞ

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

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



■記事リスト / ▼下のスレッド / ▲上のスレッド
■14944 / 親記事)  表整理の一括化
□投稿者/ mswm -(2025/05/19(Mon) 17:14:47)
    OS:WIN11
    桐:10s

    表整理を定期的に行っているのですが、複数の表があり、1つずつするのが面倒です。

    複数の表を一括で行うプログラムは組めませんか?

    可能なら定期的に自動化できればなおよいです。

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

▽[全レス17件(ResNo.13-17 表示)]
■14958 / ResNo.13)  Re[3]: 表整理の一括化
□投稿者/ ONnoji -(2025/05/20(Tue) 12:02:07)
    > 初心者には難しいですか…。
    > 頑張ってみます。

    プログラミングの未経験者または初級者の場合には、エラーが発生した時の適切な対処ができませんよね。

    ということで、私( ONnoji )は考え方だけを提示して、あえてサンプルは用意しなかったのです。

    ちなみに、単純なサンプルで用意して事足りる内容もありますが、

    今回の質問の処理内容は、「貴殿が思うほど簡単じゃ無い!」のです。

    なお、貰ったサンプルでトラブルが起きても、自分自身で解決出来ないのでは困りますよね。
       ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    なので、熱意を持ってプログラミングのお勉強をされる事をお勧めします。

    その際には、[フォーム+イベント処理]による[イベント駆動型]のプログラミングをお勧めします。

    ちなみに、一括処理の[フロー駆動型]のプログラミングはDOS時代のスタイルですよ。

    なお、拙作webページに参考記事があるので、よろしければご参考にしてください。

    こちら
     ↓
     桐の釣魚大全のトップ > 目からウロコのデータベース桐プログラミング入門
     https://silicon7565.cloudfree.jp/primer/primer_side_reader.html

     桐の釣魚大全のトップ > 目からウロコのデータベース桐プログラミング入門 パート2
     https://silicon7565.cloudfree.jp/primer/primer_side_reader_part2.html

    p.s.

    返信をされる場合には、無駄な引用文を削除してから投稿してください。

    ひたすら読み難いだけですゾッ〜!

    よろしく。(^^)ok
引用返信 [メール受信/OFF]
■14959 / ResNo.14)  Re[8]: 表整理の一括化
□投稿者/ まさやん -(2025/05/20(Tue) 12:08:47)

    はい このメッセですね

    表が 正常に 開けないとき 表修復をするメッセなのですが

    〇〇が 壊れています  の 〇〇に 表名が入るんですが
    入っていませんね

    考えられることは

    表が 正常に開かない・・ 表がすでに開いている・・ かな

    もっと詳しく エラーメッセを コマンドで書けばいいのですが
    私の 販売管理で 実行しても 〇〇は 表名で出てきて
    添付画像のように 今まで出なかったもので
    あのコマンドでアップした次第です。

    エラーメッセの詳しい情報が コマンドでかける場合は
    またアップしたいと思います

引用返信 [メール受信/OFF]
■14960 / ResNo.15)  Re[9]: 表整理の一括化
□投稿者/ まさやん -(2025/05/20(Tue) 12:47:00)
    2025/05/20(Tue) 12:59:29 編集(投稿者)
    2025/05/20(Tue) 12:52:23 編集(投稿者)

    修復しない の チェックボックスを設けましたので
    修復しないようにしました

    あのメッセがでるのは
    表が 他で使用しているか 表が何らかで開いているかと思います。

    あくまでも 桐で一括組めば・・の見本です(無責任だったかもしれませんね)
    自分の環境だけでのイベントでした

    あくまでも 参考までに・・ということでお願いします。

    追伸
    〇〇が 空白だったことのエラーは 時間がかかりそうなので今回は
    修復しない のアップだけでした すみません

    追伸の追伸
    確認 コマンドが入っていましたね
    修正のアップしました 12:58分に
引用返信 [メール受信/OFF]
■14961 / ResNo.16)  Re[10]: 表整理の一括化
□投稿者/ mswm -(2025/05/20(Tue) 13:40:15)
    いえいえ。
    ご丁寧に対応してくださり本当に感謝しております。
    あとはこちらで確認してみます。
    ありがとうございました。


解決済み!
引用返信 [メール受信/OFF]
■14962 / ResNo.17)  Re[4]: 表整理の一括化
□投稿者/ mswm -(2025/05/20(Tue) 13:44:19)
    ありがとうございます。
    奥が深いんですね。
    勉強してみようと思います。
    初心者でもできるようになりますかね。
    頑張ってみます。
引用返信 [メール受信/OFF]

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



■記事リスト / ▲上のスレッド
■14751 / 親記事)  桐s-2024 LTへのバージョンアップ
□投稿者/ MAKOTO -(2024/12/13(Fri) 21:46:43)
    バージョンアップは桐9-2012からでも桐10からでも
    同じコンバーターが入っているのでしょうか?
    http://www.kiri-store.com/kiri_syosai/kiris_2024lt.html
    新元号対応(令和)が変わったくらいでその他の安定感などは
    あまり変更はないのでしょうか。
    「桐sに対する永続使用権(ライセンス)を提供します。」
    販売価格は「桐ストア価格 税込価格: 36,300円」
    でパッケージは「桐s-2024 LT」で中身は桐s
    ということでしょうか?
    桐10を使用中の場合
    「桐10のライセンスは一旦停止して桐s-2024 LTに再インストール」
    その後、桐sにてコンバータしないで使用可となりますか?
引用返信 [メール受信/OFF]

▽[全レス16件(ResNo.12-16 表示)]
■14790 / ResNo.12)  Re[3]: 桐s-2024 LTへのバージョンアップ
□投稿者/ ONnoji -(2025/01/12(Sun) 15:57:47)
    2025/01/12(Sun) 17:06:32 編集(投稿者)

    > そもそも「LT」の意味が分からない^^;LifeTime?

    発売から5年間(2029年6月まで)の長期サポートが付属していますので、セキュリティ問題や重大障害への対応も安心です。

    ↑ 【Google 翻訳】
    ↑  It comes with long-term support for 5 years from its release (until June 2029),
    ↑  so you can rest assured that it will handle security issues and major failures.

    このようにK3のHPでは説明していますので。

    単に、「長期サポート」を英訳して long term support。

    だから LT なのでしょうかねぇ〜。(^^ゞ

    もちろん、タラレバですよ。



引用返信 [メール受信/OFF]
■14792 / ResNo.13)  Re[2]: 桐s-2024 LTへのバージョンアップ
□投稿者/ 尾形 -(2025/01/18(Sat) 10:58:04)
    どうも、こんにちは

    桐s-2024 LTライセンス パッケージコード
    買ってみました

    ライセンス申請コードが入っていて
    桐アカウントから、インストールキーと交換
    といった感じでした


    最初から、桐アカウント必須なのがなんかイヤ

引用返信 [メール受信/OFF]
■14841 / ResNo.14)  Re[3]: 桐s-2024 LTへのバージョンアップ
□投稿者/ 尾形 -(2025/02/18(Tue) 17:02:27)
    > 桐s-2024 LTライセンス パッケージコード

    10sまでは、2台通ったのに orz

引用返信 [メール受信/OFF]
■14842 / ResNo.15)  Re[4]: 桐s-2024 LTへのバージョンアップ
□投稿者/ 通りすがり -(2025/02/18(Tue) 18:11:07)
    仕事に使うには不便ですよね、PCは壊れますから
引用返信 [メール受信/OFF]
■14843 / ResNo.16)  Re[3]: 桐s-2024 LTへのバージョンアップ
□投稿者/ 尾形 -(2025/02/20(Thu) 16:54:57)
    > 桐s-2024 LTライセンス パッケージコード

    フォームでも、マウスホイールボタンが
    きれいに動くみたい
    これはいいと思う

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

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






00112

Mode/  Pass/

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

- Child Tree -
- Antispam Version -