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

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

記事リスト ( )内の数字はレス数
New喜平ネックレス つけっぱなし(0) | Nomalハンドルとは?(31) | Nomal帳票印刷(7) | Nomalメール送信(9) | Nomalvogvip.com VOGコピー(1) | Nomal拡張子CSVで項目間をカンマで区切り書き出したい(32) | Nomal正か負かで区分を付けたい(4) | Nomal項目計算式にメモ(4) | Nomal連番を自動入力したい(8) | Nomal項目別 連番生産(9) | Nomalイベントでフォームをまとめて開く(8) | Nomal9000バイトの出力(4) | Nomal一括処理書き方(7) | Nomal印字コマンド(13) | Nomal状態表示について(3) | NomalTXTファイルからDATファイルに変更(4) | Nomalテーブルの項目を整理する際の影響確認(5) | Nomalフォームの閉じ方について(18) | Nomalレポートにつきまして(5) | Nomal【アイデア募集】スケジュール表示(2) | Nomal表番号の謎(16) | Nomal主ウィンドウ と 補助ウィンドウについて(42) | Nomalチェックボックスの動作(8) | Nomal文字列中に、4桁以上の数字が含まれているか検査したい(8) | Nomal変数値の取得方法について(16) | Nomal行制約について(31) | Nomal比較式の書き方について(28) | Nomal期間絞込でのエラー時対応について(31) | Nomalarm版Windows での桐の使用(4) | Nomal月毎の日数端数を切り捨てた月期間の計算について(10) | Nomal保存した条件における読み込み元表のパスが変更されている場合(4) | 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時間型の置換(3) | Nomalアポストロフィ、シングルクォーテーションの「'」(8) | Nomal桐RDSで固まる(1) | Nomalフォーム入力途中でESC(6) | Nomal(削除)(1) | Nomalインボイス対応請求書レポート作成(8) | Nomal文字列への入力方法(4) |



■記事リスト / ▼下のスレッド
■14236 / 親記事)  フォームのコマンドボタンについて
□投稿者/ ジェダイの桐 -(2024/03/27(Wed) 17:55:18)
    こんにちは。

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

    フォームを作成して、コマンドボタンで

    ジャンプ 先頭
    ジャンプ 前行
    ジャンプ 次行
    ジャンプ 最終

    を作成しました。

    現在地から 右の項目 左の項目 に行くコマンド(イベント)はどうやったら出来るのでしょうか?

    ジャンプは違うんだと思いました。

    お時間がある時に回答頂けたら幸いです。

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

▽[全レス18件(ResNo.14-18 表示)]
■14250 / ResNo.14)  Re[14]: フォームのコマンドボタンについて
□投稿者/ ジェダイの桐 -(2024/03/29(Fri) 09:32:11)
    > リピート機能の説明は #204 に同梱されている 1st_Spec_Memo_SpinButton.txt をご覧ください。
    >
    >  1st_Spec_Memo_FLD_EZWplus.txt      … 仕様メモ
    >  1st_Spec_Memo_HDLLNC.txt            ↑
    >  1st_Spec_Memo_HDLVAR.txt            │
    >  1st_Spec_Memo_ModernUI.txt           │
    >  1st_Spec_Memo_SpinButton.txt          │
    >  1st_Spec_Memo_VK.txt              ↓
    >  1st_Spec_Memo_WIDGET_電卓・カレンダ.txt … 仕様メモ
    >

    仕様書拝見しました。
    ファミリの事が書いてあったので、ONnojiさんのHPのフォームアプリケーション入門とあこめさんのHPを見ながら理解していこうと思っています!


    > というわけで、私( ONnoji )は、桐でプログラミングのお勉強をされるのならば、
    >
    > [フォーム+イベント+表]による方法をだけをお勉強されることをお勧めします。
    > ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
    >
    はい!助言ありがとうございます(^^♪
    今日は一日ファームを感じる為に時間を費やそうと思っています!
    本当にありがとうございましたm(__)m

引用返信 [メール受信/OFF]
■14251 / ResNo.15)  Re[15]: フォームのコマンドボタンについて
□投稿者/ ONnoji -(2024/03/30(Sat) 22:05:18)
    拙作フレームワークは随時に「更新情報」があります。

    直近では・・・

    以下を参照してください。

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

    #205 INF_Framework 第3.3版 改訂版(MkII) サンプル集 for 桐10s / 桐sSL

     および

    #202 INF_Framework 第3.3版 改訂版(MkII) サンプル集 for 桐9-2012 / 桐9s ( / 桐10 / 桐10s / 桐sSL )

    に同梱されているデートピッカー( INF_DatePicker )がデートタイムピッカーに改修されました。

    テキストボックスの[入力支援]ボタンで[モーダルフォーム]で呼び出すのが簡便です。

    「年月日時刻」の入力の際に時刻も指定できるように改修したものです。

    新しい INF_DatePickerの[フォーム+イベント処理]は DOWN LOAD BBS でダウンロード出来ます。

    ブラウザの画面に表示されない場合には、F5キーを押してリロード(更新)してください。


引用返信 [メール受信/OFF]
■14252 / ResNo.16)  Re[16]: フォームのコマンドボタンについて
□投稿者/ ジェダイの桐 -(2024/04/01(Mon) 08:41:24)
    > 拙作フレームワークは随時に「更新情報」があります。
    >
    > 直近では・・・
    >
    > 以下を参照してください。
    >
    情報ありがとうございます!

    ちょくちょく掲示板覗きにきます(^^)
引用返信 [メール受信/OFF]
■14256 / ResNo.17)  Re[16]: フォームのコマンドボタンについて
□投稿者/ ジェダイの桐 -(2024/04/04(Thu) 10:07:25)
    ONnojiさん

    おはようございます!

    現在、私の人生史上 一番 桐熱が高くなっていると言う事もあるのですが、
    ONnojiさんのHPにある、フォームアプリケーション教書とイベント初心者講座を熟読しています。

    これを読んで直ぐに何かをすると言う事ではないのですが、コマンドボタンに最初からある機能で結構 事足りるなと思いました。

    コマンドボタンの機能では、やりたい事が出来ない時に 表のメニューにある機能から これが出来ないかな?っと イベント(一般手続きのコマンド)を探して トライアンドエラーを繰り返しながら、覚えていくのだな って思いました。

    まだまだ、文献を読み込んでいきます!

引用返信 [メール受信/OFF]
■14257 / ResNo.18)  Re[17]: フォームのコマンドボタンについて
□投稿者/ ONnoji -(2024/04/04(Thu) 11:50:31)
    2024/04/04(Thu) 17:48:30 編集(投稿者)
    2024/04/04(Thu) 16:53:49 編集(投稿者)

    > ONnojiさんのHPにある、フォームアプリケーション教書とイベント初心者講座を熟読しています。
    > これを読んで直ぐに何かをすると言う事ではないのですが、コマンドボタンに最初からある機能で結構 事足りるなと思いました。

    その通りです。

    誰しも覚えたての時には、最初からイベントハンドラを利用しようと思うのが人情でしょう。

    でもね、イベントハンドラの出番は案外と少ないんですよ。

      16.2 イベント過多症候群|桐の釣魚大全のトップ > フォームアプリケーション教書 第1部
      http://silicon7565.html.xdomain.jp/guide/guide_Part1.htm#section16-2
      > ちなみに、著者( ONnoji )は、今まで以下のイベントを使ったことがありません。※これは 2019/04/28 の時点において
      > これはこれらのイベントが不要だという意味ではなく、今までこれらのイベントを使う必要がなかったというだけです。

    一方、一般手続きの方は結構使いますよ。

    これは、[コマンドボタンの機能名:手続き実行]から呼び出すのが基本になりますね。

      12.3 コマンドボタンを実行する
      http://silicon7565.html.xdomain.jp/guide/guide_Part1.htm#section12-3
      > コマンドボタンの原則
      > × [マウス左クリック]イベントでイベントプロシージャを呼び出す
      > ○ [コマンドボタン]の[機能名:手続き実行]で一般プロシージャを呼び出す

    一般手続きは、イベントハンドラと違い、特定のオブジェクトとの結びつきがありませんから、
    一度作れば、他のフォームに流用できますし改造も容易です。

    難しい言葉で言うと、「プログラムの再生産性」が向上するということです。アハハha (^^ok

    > コマンドボタンの機能では、やりたい事が出来ない時に 表のメニューにある機能から これが出来ないかな?っと
    > イベント(一般手続きのコマンド)を探して トライアンドエラーを繰り返しながら、覚えていくのだな って思いました。

    フォーム利用者の何らかの操作をキッカケにしての場合だけ[イベントハンドラ]で、

    それ以外の場合は[コマンドボタン]の[機能名:手続き実行]ということになりますね。

    p.s.

    [コマンドボタンの機能]もフォーム利用者の操作で発現するのですから、広い意味でのイベントです。

    つまり、イベントハンドラだけがイベントというわけではありません。

    ということで、[フォーム+イベント処理]というのは「イベント駆動型(イベントドリブン)」というプログラミングスタイルです。

    一方、従来のDOS桐から存在する一括処理は「フロー駆動型」のプログラミングスタイルです。

    「フロー駆動型」では、フロー(つまりプログラムの流れ)をすべて記述しなければプログラムが完成しません。

    また、フロー(つまりプログラムの流れ)の途中でエラーが発生すると、初めからやり直しになります。トホホ

    このように「フロー駆動型」は非常に手間がかかるので大変です。

    余談ながら・・・

    実は、桐ver.8で[フォーム+イベント処理]が使えるようになる前までは「フロー駆動型」しかありませんでしたから、

    桐ver.8発売当初には[フォーム+イベント処理]では本格的なアプリケーションが作れないと思った人が大多数だったんですよ。

    しかし、ずいぶんと長い時間が必要でしたが、幅田さんや【多遊】さんの掲示板で[フォーム+イベント処理]の知見が豊富に蓄積されたので、

    今では[フォーム+イベント処理]でアプリケーションを作るのが主流になっていると思います。

    恰好を付けて言ってみれば・・・、

    Windows桐の現代的(コンテンポラリー)な、プログラミングスタイルは[フォーム+イベント処理]ということだと思いますよ。(^^ゞ


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

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



■記事リスト / ▼下のスレッド / ▲上のスレッド
■14233 / 親記事)  特定箇所の計算
□投稿者/ ジェダイの桐 -(2024/03/26(Tue) 10:43:39)
    2024/03/26(Tue) 14:51:03 編集(投稿者)

    こんにちは。
    桐10s Windows10 使用しています。


    毎月 給油価格のデータを取っています。

    項目名 レギュラー全国、ハイオク全国、軽油全国、灯油全国、A重油全国それぞれの
    今月入力分 - 先月入力分
    を求める事は可能でしょうか?

    添付分で言うと
    39行目の項目名 レギュラー全国、ハイオク全国、軽油全国、灯油全国、A重油全国

    から

    38行目の項目名 レギュラー全国、ハイオク全国、軽油全国、灯油全国、A重油全国
    を引いて、前回からどの位 値上げ or 値下げ しているかを求めたいです。

    現状はエクセルで作業を行っていますが、せっかくなので桐でデータを溜めていきたいと考えました。

    表では出来ないと思っています。
    が もしかしたらフォームとイベントを使用したら可能なのかな?
    と思い質問しました。

    どなたか教えて頂けたら幸いです。


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

▽[全レス2件(ResNo.1-2 表示)]
■14234 / ResNo.1)  Re[1]: 特定箇所の計算
□投稿者/ ONnoji -(2024/03/26(Tue) 12:51:57)
    2024/03/26(Tue) 12:55:13 編集(投稿者)

    > 桐10s Windows10 使用しています。
    > 毎月 給油価格のデータを取っています。
    > 項目名 レギュラー全国、ハイオク全国、軽油全国、灯油全国、A重油全国それぞれの
    > 今月入力分 - 先月入力分
    > を求める事は可能でしょうか?

    可能ですよ。キッパリ。

    > 表では出来ないと思っています。
    > が もしかしたらフォームとイベントを使用したら可能なのかな?

    現金出納帳などと同じですので、表だけで可能ですよ。
    ・・・・・・・・・・・・・・・・・・・・・・・・
    フォームは有っても無くてもOKですよ。
    ・・・・・・・・・・・・・・・・・・

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

    例えば[変動レギュラー 全国]という通貨型の項目を挿入したとします。

    [変動レギュラー 全国]には 当月値−前月値 という計算式を適用すればよいのですから

    項目計算式は

     [レギュラー 全国] - #直前値( [レギュラー 全国], [レギュラー 全国] )

    となりますね。

    なお、負の値の場合にはマイナス記号が見にくいので「▲」にすると良いと思います。

     [属性]メニュー→[表の表示条件]の[表示形式]タブの [負符号]で
     マイナスデータの先頭に付加する符号を選びます。既定値は「−」を「▲」に変更できます。

    ということで、

    残りの他の項目も同様に 当月値−前月値 を計算する項目を挿入すればOKですよ。

    <参考>

    項目番号 項目名        データ型 項目計算式
    1     作成日        日時  
    2     区分         文字列  
    3     年          数値  
    4     月          数値  
    5     レギュラー 全国   通貨  
    6     変動レギュラー 全国 通貨   [レギュラー 全国] - #直前値( [レギュラー 全国], [レギュラー 全国] )
    7     ハイオク 全国    通貨  
    8     軽油 全国      通貨  
    9     灯油 全国      通貨  
    10    A重油 全国     通貨  
          
      読み込み条件:表  前月比→値引前  

    p.s.

    #直前値( [レギュラー 全国], [レギュラー 全国] )
                   ↑
                これがワカリニクイと思いますが・・・
                先頭行の場合に自分自身の値を参照しなさいという意味です。

引用返信 [メール受信/OFF]
■14235 / ResNo.2)  Re[2]: 特定箇所の計算
□投稿者/ ジェダイの桐 -(2024/03/26(Tue) 13:42:21)
    > 例えば[変動レギュラー 全国]という通貨型の項目を挿入したとします。
    >
    > [変動レギュラー 全国]には 当月値−前月値 という計算式を適用すればよいのですから
    >
    > 項目計算式は
    >
    >  [レギュラー 全国] - #直前値( [レギュラー 全国], [レギュラー 全国] )
    >
    > となりますね。
    >

    ONnojiさん!
    早速の回答ありがとうございます!

    直前値を使用する事も考えたのですが、私の考えでは新しく項目を作成して使用する事は思いつかなかったです(T_T)

    エクセルの考え方に引っ張られすぎていました・・・
    (頭が固い・・・)

    せっかく毎月データを取っているので、データベース化出来たらいいなと思って質問しましたが、相談して良かったです(^^♪

    ありがとうございました。
解決済み!
引用返信 [メール受信/OFF]

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



■記事リスト / ▼下のスレッド / ▲上のスレッド
■14224 / 親記事)  エクセル1900基準にしたい
□投稿者/ 初心者 -(2024/03/20(Wed) 02:40:41)
    エクセル365 桐10sを使用しています。

    桐の日付データをエクセルにコンバートした時、1904年基準となっています
    1904年基準にコンバートされてもエクセルにはオプション、詳細設定で1900年と1904年どちらにでも変更できますが、これを、エクセルにコンバートする前に桐の設定で1900年を基準にしたいのです。
    ネットには桐でもできるような下記記事を見つけましたが、私の環境では見当たらないのです。

    方法1:エクセルファイルに書き出す前に桐の設定でデフォルトの日付を1900年に変更する

    桐を開きます。
    ファイルメニューから環境設定を選択します。
    日付タブを選択します。
    デフォルトの日付を1900/01/01に設定します。
    OKボタンをクリックします。

    方法2:エクセルファイルに書き出す際に日付書式を指定する

    桐でエクセルファイルに書き出すデータを選択します。
    ファイルメニューからエクスポートを選択します。
    ファイル形式としてExcelを選択します。
    オプションボタンをクリックします。
    日付書式として1900年を選択します。
    OKボタンを2回クリックします。

    これらの方法のいずれかを使用して、データベース「桐」でエクセルに書き出す際の日付をデフォルトで1900年に設定することができます。
引用返信 [メール受信/OFF]

▽[全レス4件(ResNo.1-4 表示)]
■14227 / ResNo.1)  Re[1]: エクセル1900基準にしたい
□投稿者/ うにん -(2024/03/21(Thu) 11:51:19)
    > 桐の日付データをエクセルにコンバートした時、1904年基準となっています

    バグとして修正依頼を出してみてはどうですか。

    https://learn.microsoft.com/ja-jp/office/troubleshoot/excel/1900-and-1904-date-system
    を読む限り、1904年システムが必要なのは初期のMacに合わせる場合だけだと思いますが...

    >ネットには桐でもできるような下記記事を見つけました
    どこにあったんですか?
    多分最近はやりの何とかGPTが生成した嘘情報だと思います。
    >ファイルメニューから環境設定を選択します。
    >ファイルメニューからエクスポートを選択します。
    桐10sは持ってないので確認できませんが、どっちもメニュー項目が違いますよね?
    それを指摘した返信が削除されてしまったようですが...
引用返信 [メール受信/OFF]
■14228 / ResNo.2)  Re[2]: エクセル1900基準にしたい
□投稿者/ ONnoji -(2024/03/21(Thu) 12:22:17)
    2024/03/21(Thu) 15:21:47 編集(投稿者)

    横レスで失礼。m(__)m

    > 多分最近はやりの何とかGPTが生成した嘘情報だと思います。

    なるほど[生成AI]の幻覚(=ハルシネーション)に一票。

    どうりでネットを検索しても見つからないわけですね。(ーー;)--------------> ※遠い目線

    以前次のような
      ↓
    > 最近流行りのChatGPTに一括処理プログラムはこうなりますとか出てくる日はあるでしょうか?w

    というのがありましたが、桐のFAQを ChatGPT に生成させたらフェイクのオンパレードになりそうですね。

    p.s.

    > 桐10sは持ってないので確認できませんが、どっちもメニュー項目が違いますよね?
    > それを指摘した返信が削除されてしまったようですが...

    返信したのは私( ONnoji )です。(^^ゞ

    もっともらしいフェイクの出典元が見つからないので再調査のために一旦削除しました。

    調査対象を「桐」から「エイプリルフール」に変えてみようかと思っていましたよ。

    ひょっとして、投稿の文章自体が[生成AI]で作られていたのでしょうかね???(@_@)
           ・・・・・・・・・・・・・・・・・・・・・・・・・・・
    まさかね。(^^ゞ


    p.p.s.

    > 桐の日付データをエクセルにコンバートした時、1904年基準となっています

    これって、質問者が Excel for Macintosh で扱うファイルに 1904年基準 と 1900年基準 の2種類のファイルが混在しているのかも???

    例えばコチラ
     ↓
    ■12220 / inTopicNo.1)  エクセルを開くと日付がずれます|過去ログ82より
    http://tayu.o0o0.jp/bbs/kiri/cbbs.cgi?mode=al2&namber=12220&no=0&KLOG=82


引用返信 [メール受信/OFF]
■14229 / ResNo.3)  Re[3]: エクセル1900基準にしたい
□投稿者/ うにん -(2024/03/21(Thu) 15:43:39)
    > もっともらしいフェイクの出典元が見つからないので再調査のために一旦削除しました。

    なるほど、そうでしたか。

    桐よりはメジャーだと思われるFileMakerでも、まるっきり適当にでっち上げた回答もするするらしいので、、、
引用返信 [メール受信/OFF]
■14230 / ResNo.4)  Re[4]: エクセル1900基準にしたい
□投稿者/ ONnoji -(2024/03/21(Thu) 17:27:44)
    2024/03/22(Fri) 16:42:27 編集(投稿者)
    2024/03/21(Thu) 17:30:15 編集(投稿者)

    > 桐よりはメジャーだと思われるFileMakerでも、まるっきり適当にでっち上げた回答もするするらしいので、、、

    生成AIの生成物は、この場合は文章ですが、作文なんですよね。

    人間がコピペするように適当に作文してくれて、作文で不足する部分には適当な値を捏造するというわけですね。

    元々が、学習済みのデータから作文するだけなので、

    文章として成り立っていても、中身が架空、つまりデタラメ、ウッソ〜というのはアリなんですよね。

    恐ろしいことに、それを疑わずに信じてしまう人も現れるのでしょうけれど・・・(^^ゞ

    > ネットには桐でもできるような下記記事を見つけましたが、私の環境では見当たらないのです。

    もしも、↑これが検索エンジンが見つけたwebページの内容ではなくて、

    ChatGPT の生成結果、つまり作文の成果物を、「ネットの記事」と誤解しているとすると・・・

    「ChatGPT を過信しちゃ駄目ですよ」と言いたいですね。アハハha(^^ゞ

    <参考>
    ITmedia Mobile > うそをつくし、実は計算も苦手──ChatGPTを使う前に知っておきたいこと5選:ChatGPT使いこなし術

    p.s.

    ChatGPT って、エイプリルフールのネタ作りとしては超楽ちんで便利そうですね。

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

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



■記事リスト / ▼下のスレッド / ▲上のスレッド
■14218 / 親記事)  レポート印刷
□投稿者/ maru -(2024/03/18(Mon) 06:57:54)
    windows10
    桐10sを使用しています。

    項目名 [番号]に 1から100 までの番号が振られた行データがあります。
    例えば、 1番、5番、25番の行データを 表形式でなく、1番のレポートデータ、5番のレポートデータ、25番のレポートデータを出力したいとき

     キー入力 (15,10),プロンプト=”何番を印刷しますか  ”モード=確定,上書き=する,&印刷数 ,終了状態=&終了状態

    上記のようにコマンド表示させ、入力を  1,5,25 と コンマで区切って入力した後、エンターキーを押すことによって、レポート出力したいのです。

    ヒントをご教授お願いいたします。
引用返信 [メール受信/OFF]

▽[全レス5件(ResNo.1-5 表示)]
■14219 / ResNo.1)  Re[1]: レポート印刷
□投稿者/ ONnoji -(2024/03/18(Mon) 10:59:51)
    2024/03/18(Mon) 15:45:48 編集(投稿者)

    > 項目名 [番号]に 1から100 までの番号が振られた行データがあります。
    > 例えば、 1番、5番、25番の行データを 表形式でなく、1番のレポートデータ、5番のレポートデータ、25番のレポートデータを出力したいとき
    >
    >  キー入力 (15,10),プロンプト=”何番を印刷しますか  ”モード=確定,上書き=する,&印刷数 ,終了状態=&終了状態
    >
    > 上記のようにコマンド表示させ、入力を  1,5,25 と コンマで区切って入力した後、エンターキーを押すことによって、レポート出力したいのです。

    当方は一括処理(履歴を含む)は一切使っていないので、

    [キー入力]コマンドの替わりにフォームのテキストボックスに入力してコマンドボタンを実行する例をご案内します。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    これは単に入力の方法が異なるだけす。

    入力された文字列型データ(例:"1,5,25")を元にして、レポート印刷をする処理(流れ)は一括処理でも[フォーム+イベント処理]でも同じです。
                              ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
    コンマで区切られた文字列を左から順番に移動して、
    ・・・・・・・・・・・・・・・・・・・・・・・

    該当するレコードを探索(絞り込み)して、レポート印刷するというロジックなので繰り返し処理が必要になります。

    この繰り返しのロジックは、一括処理(履歴を含む)でも、[フォーム+イベント処理]でも同じです。

    添付ファイルを解凍すると以下のファイルがあります。

    コンマ区切りの.kex
    コンマ区切りの.WFX ← これを開いてください
    コンマ区切りの.TBX
    コンマ区切りの.RPX

    なお、添付ファイルは数日を目途に削除しますので、ダウンロードはお早めに願います。

    p.s.

    <参考>

    名札  メイン
     変数宣言 局所,文字列{ &m印刷レコードList }



    手続き定義開始 cmdレポート印刷Click( )
     変数宣言 自動,文字列{ &icon, &title = "cmdレポート印刷Click( ))", &msg }
     変数宣言 自動,文字列{ &stringList }
     変数宣言 自動,整数 { &ans }

     &stringList = #trim( &m印刷レコードList, 4 )
    ┌if ( &stringList <> #u )

    │ &msg =    "コンマで区切った番号のレコードをレポート印刷しますか?"
    │ &msg = &msg + "\n\n"+ &stringList
    │ メッセージボックス  &title, &msg, アイコン = ?, ボタン指定 = 2, 制御文字展開 = する, &ans

    │┌if ( &ans = 1 ) /* OK:1 キャンセル:2 */
    ││
    ││ 手続き実行 prcレポート印刷( &stringList )
    │└end
    ├else

    │ &msg =      "レポート印刷できません"
    │ &msg = &msg + "\n\n<ヒント>"
    │ &msg = &msg + "\n\nコンマで区切った番号を入力してから実行してください"
    │ メッセージボックス  &title, &msg, アイコン = !, ボタン指定 = 1, 制御文字展開 = する
    └end

    手続き定義終了

    手続き定義開始 prcレポート印刷( 文字列 &stringList )
     変数宣言 自動,文字列{ &icon, &title = "prcレポート印刷( )", &msg }
     変数宣言 自動,文字列{ &string }
     変数宣言 自動,文字列{ &expression }
     変数宣言 自動,文字列{ &comma = #jis( #hex("2C") ) } /* これはコンマ( , ) */
     変数宣言 自動,整数 { &tblNum, &multiTblNum }
     変数宣言 自動,整数 { &i, &loop, &step = 1 }

     &tblNum = #is表
     多重化
     &multiTblNum = #is表

     &stringList = #半角( &stringList )
     &loop = 1 + #文字数( &stringList ) - #文字数( #文字置換( &stringList, &comma, #u ) )
    ┌繰り返し &i = 1, &loop, &step

    │ &string = #対応文字列( &stringList, &i )
    │ トレース出力 _&i, " ", _&string

    │ 解除 *
    │ &expression = &string
    │ 絞り込み [番号]_&expression
    │ トレース出力 _&expression, " ", _( .not #eof )

    │┌if ( .not #eof )
    ││
    ││ レポート印刷  "コンマ区切りの.rpx",プレビュー = する
    │├else
    ││
    ││ &msg =      "レポート印刷できません"
    ││ &msg = &msg + "\n\n<ヒント>"
    ││ &msg = &msg + "\n\n[番号]が " + &string + " のレコードが見つかりません"
    ││ メッセージボックス  &title, &msg, アイコン = !, ボタン指定 = 1, 制御文字展開 = する
    │└end
    └繰り返し終了

     終了 表 &multiTblNum
     編集表 &tblNum /* 必要ならば */

    手続き定義終了

    p.p.s.

    なお、絞り込み [番号]_&expression は、[比較式自身を変数:&expression に代入]して[絞り込み]コマンドを実行しています。

    しかし、慣れていない人が多いと思いますので、ご自身が慣れていらっしゃる方法で[絞り込み]コマンドを実行してください。

    例えば、

     &expression = &string
     絞り込み [番号]_&expression

    は、

     絞り込み [番号]{ #num( &string ) } /* [番号]が数値型なので、数値型に変換して比較します */

    と同じです。

    ※21.5 [絞り込み(検索):比較式]コマンドの高度な使い方|桐の釣魚大全のトップ > フォームアプリケーション教書 第2部
     http://silicon7565.html.xdomain.jp/guide/guide_Part2.htm#section21-5

引用返信 [メール受信/OFF]
■14220 / ResNo.2)  Re[2]: レポート印刷
□投稿者/ maru -(2024/03/18(Mon) 18:45:43)
    早速のアドバイスありがとうございます。
    参考の手続きの流れ、研究させていただきます。
引用返信 [メール受信/OFF]
■14221 / ResNo.3)  Re[3]: レポート印刷
□投稿者/ ONnoji -(2024/03/18(Mon) 23:07:07)
    2024/03/18(Mon) 23:37:22 編集(投稿者)

    老婆心ながら、補足を・・・(^^ゞ

    サンプルでは、絞り込みを

     &expression = &string
     絞り込み [番号]_&expression

    または

     絞り込み [番号]{ #num( &string ) } /* [番号]が数値型なので、数値型に変換して比較します */

    のように、1件ずつ行っています。

    これって、超面倒臭く感じたかもしれませんね。(^^ゞ

    もちろん、やり方によっては "1,5,25" を元にして一発で絞り込むことも可能です。
         ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    しかし、なぜそうしなかったのかというと、

    例えば、もしも、"1,5,25,999" のように、該当しない値 "999"が含まれている場合、

    4レコード絞り込まれずに、3レコード絞り込まれますが、

    その場合に絞り込みに失敗した値 "999"の失敗情報はフィードバックされません。
         ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    ということで、面倒ながら、"1" → "5" → "25" → "999" とコンマで区切られた文字列を左から1件ずつ調べている次第です。

    なお、サンプルでは多重化していますが、レコード移動が見苦しくなければ、多重化はしなくてもOKですよ。
                       ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
    p.s.

    今回の "1,5,25" のようにコンマで区切って指定するという印刷の場合のUI(ユーザインターフェース)は普通に見受けられますが、

    桐のフォームならば、フォーム上でチェックボックスのオンで指定するというUI(ユーザインターフェース)も可能かと思いますよ。

    おそらく、チェックボックスのオンで指定するUI(ユーザインターフェース)の方が直感的だと思います。

    しかし、もちろん、個人個人の好みがあるので、最終的にはどちらとも決められませんが・・・

引用返信 [メール受信/OFF]
■14222 / ResNo.4)  Re[4]: レポート印刷
□投稿者/ ONnoji -(2024/03/19(Tue) 14:34:19)
    2024/03/19(Tue) 15:29:21 編集(投稿者)

    > サンプルでは、絞り込みを
    >
    >  &expression = &string
    >  絞り込み [番号]_&expression
    >
    > または
    >
    >  絞り込み [番号]{ #num( &string ) } /* [番号]が数値型なので、数値型に変換して比較します */
    >
    > のように、1件ずつ行っています。
    >
    > これって、超面倒臭く感じたかもしれませんね。(^^ゞ
    >
    > もちろん、やり方によっては "1,5,25" を元にして一発で絞り込むことも可能です。
    >      ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    もしも、簡易的で良しというのであれば、※元々の質問の趣旨だったかな?

    次のように "1,5,25" を元にして一発で絞り込むことも可能です。※おススメはしませんけれど(^^ゞ

    手続き定義開始 cmdTestClick( )
     変数宣言 自動,文字列{ &icon, &title = "cmdTestClick( )", &msg }
     変数宣言 自動,文字列{ &stringList }
     変数宣言 自動,文字列{ &expression }

     &stringList = #trim( &m印刷レコードList, 4 )
     &stringList = #半角( &stringList )

     &expression = "#対応番号( &stringList, #str( [番号] ) ) > 0"
     解除 *
     絞り込み [番号]_&expression

     if ( .not #eof )
      レポート印刷  "コンマ区切りの.rpx",プレビュー = する
     end 

    手続き定義終了

    p.s.

    詳しくは次のwebページを参考にしてください。

     21.6 比較式の左辺と右辺の両方に計算式を指定する|桐の釣魚大全のトップ > フォームアプリケーション教書 第2部
     http://silicon7565.html.xdomain.jp/guide/guide_Part2.htm#section21-6


    p.p.s.

    もちろん、

     &expression = "#対応番号( &stringList, #str( [番号] ) ) > 0"
     解除 *
     絞り込み [番号]_&expression

    は、

     解除 *
     絞り込み [番号]{ #対応番号( &stringList, #str( [番号] ) ) > 0 }

    と同じです。

    &expression に関しては、単純に私( ONnoji )の習慣でして[比較式をリテラルに書かない]というだけですよ。(^^ゞ


引用返信 [メール受信/OFF]
■14226 / ResNo.5)  Re[1]: レポート印刷
□投稿者/ natsu -(2024/03/21(Thu) 00:39:31)
    > 上記のようにコマンド表示させ、入力を  1,5,25 と コンマで区切って入力した後、エンターキーを押すことによって、レポート出力したいのです。

    [番号]が定義されている表を"元表.tbl"として、この"元表.tbl"に文字列項目[ダミー]を追加してください。

    次に、キー入力で得られたコンマ区切りの文字列をCSVファイル変換を経由して、桐のテーブル"tenchi.tbl"に変換します。

    "元表.tbl"の[ダミー]に対し、置換(#表引き)で該当行にフラグを付与します。 こあとは、[ダミー]をフラグあり行で絞り込んでレポート印刷実行です。
    "元表.tbl"の[ダミー]フラグの初期化や絞り込み解除、中間ファイルの削除などはお好みでどうぞ。

    最近はエクセルVBAばっかりで桐のコマンドをすっかり忘れてしまいましたが、桐はデータベースだけあってスクリプトの行数が少なくてすみますね。

    変数宣言 固有,文字列{ &印刷数 }
    変数宣言 固有,数値{ &終了状態 }
    キー入力 (15,10),プロンプト=”何番を印刷しますか  ”モード=確定,上書き=する,&印刷数 ,終了状態=&終了状態

    印字開始 "INSATSU.csv"
    印字 "X," + &印刷数
    印字終了
    ファイル変換 CSV,"INSATSU.csv","INSATSU.tbl",項目名行=あり,自動設定=する,データ開始行=1
    書き出し 転置,"tenchi.tbl",データ型=文字列,*
    表 "tenchi.tbl"
    項目属性変更 変更, [X],{,"整数"}
    項目属性変更 追加, {"Y","文字列"}
    置換 [Y]="●"
    表 "元表.tbl"
    置換 [ダミー]=#表引き([番号],=,"tenchi.tbl",[X],[Y])


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

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



■記事リスト / ▲上のスレッド
■14210 / 親記事)  桐レポート若しくは一覧表印刷で作成可能かどうか
□投稿者/ ぽよん -(2024/03/13(Wed) 00:56:34)
    画像のような表を作成できないか検討しています

    桐の表は グループ、氏名、ふりがなの列のみの予定です

    同じレポート内に2つのタイルを配置しようと試みましたがうまくいきませんでした

    どなたかご教授いただけると幸いですm(_ _)m
540×1200 => 112×250

Screenshot_20240313_004615_Sheets.jpg
/45KB
引用返信 [メール受信/OFF]

▽[全レス3件(ResNo.1-3 表示)]
■14211 / ResNo.1)  (削除)
□投稿者/ -(2024/03/13(Wed) 12:32:07)
    この記事は(投稿者)削除されました
引用返信 [メール受信/OFF]
■14213 / ResNo.2)  Re[1]: 桐レポート若しくは一覧表印刷で作成可能かどうか
□投稿者/ ONnoji -(2024/03/13(Wed) 16:48:14)
    2024/03/13(Wed) 18:09:45 編集(投稿者)

    > 画像のような表を作成できないか検討しています
           ↑
    この「表」とは、表( .tbl/.tbx )のことではありませんよね?

    この「表」とは、レポート( .rpt/.rpx )の印字結果のことですよね??
                         ・・・・・・・

    > 同じレポート内に2つのタイルを配置しようと試みましたがうまくいきませんでした

    レポートの作成ウィザードで[白紙からレポート定義]から[複合]を選べば、レポート内に2つの[タイル]オブジェクトは配置できますよ。
                 ・・・・・・・・・・・・・・・・・・・・・・

    添付ファイルは数日を目途に削除しますのでダウンロードはお早めに願います。

    なお、縦書きとかは考慮していません。

    あくまでも、複合レポートならば、レポート内に2つの[タイル]オブジェクトは配置できるという例です。

    なお、桐のバージョンが提示されていませんので、ファイルは桐9-2012で作ってあります。

    質問の際には、必ず桐のバージョンを明示してください。


引用返信 [メール受信/OFF]
■14214 / ResNo.3)  Re[2]: 桐レポート若しくは一覧表印刷で作成可能かどうか
□投稿者/ ぽよん -(2024/03/14(Thu) 05:43:11)
    すみません

    桐は10sを使用しています

    レポートでの作成を予定しています

    説明が苦手で申し訳ありませんm(_ _)m
引用返信 [メール受信/OFF]

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






1513279

Mode/  Pass/

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

- Child Tree -
- Antispam Version -