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) |



■記事リスト / ▼下のスレッド
■14648 / 親記事)  拡張子CSVで項目間をカンマで区切り書き出したい
□投稿者/ hiro -(2024/11/01(Fri) 23:37:08)
    今まで銀行へ全銀手順のTXTデータでやり取りしてたのですが、今後LTAXの方にデータ送信することになりました。
    今までは@ヘッダレコード(@の表は項目が「区分」「種別」「委託者」・・幾つかあり最後の項目「Z」で全項目を連結しています。以下AからCも同じ。)、Aデータレコード、Bフッタレコード等を送信表のA項目に@の「Z」Aの「Z」Bの「Z」Cの「Z」順番に読み込んでまとめてA項目をTXTで書き出す事で出来ていました。

    今度LTXは各項目間はカンマで区切って@ABCをつなげ、データの拡張子はCSVとしてデータを作らないといけないのですが、まず項目間をカンマ区切りで「Z」項目で連結させることは出来ないでしょうか?
    別のいい方法があればそれでも構いません、よろしくお願いします。
引用返信 [メール受信/OFF]

▽[全レス32件(ResNo.28-32 表示)]
■14682 / ResNo.28)  Re[9]: 拡張子CSVで項目間をカンマで区切り書き出したい
□投稿者/ ONnoji -(2024/11/04(Mon) 23:36:14)
    2024/11/05(Tue) 00:03:55 編集(投稿者)

    > (最初はdat拡張子は作れないと思っていましたので)同じ感じで作ってましたが項目間はカンマ区切りで無いといけないとあったので
    > 09ですとタブ区切りのようですが、それで私は@ヘッダ、データ、トレーラー、エンド表の項目をカンマ区切りでテキスト出力し、(元々各表は1レコード120桁で合っています)

    > A別表でその全項目をタブ形式で読み込んでBCSV書き出しする事で、
    > カンマ区切りのCSVが出来ていました、ただ出来たファイルを桁数で数えると1レコードが120桁+項目間のカンマ数になって120桁でなくなるけど
    > カンマ区切りだから良いのかな?
    > 実際に読み込んでみないと分からないな、という状態でした。

    桁数が云々というのは、普通の場合には固定長(桁:バイト単位)のデータファイルの場合です。

    一般的に、csv と言う場合には、コンマで区切られていれば良いのですが・・・

    しかし私( ONnoji )は、「仕様書 個人住民税(特別徴収)CSVレイアウト仕様書(CSVフォーマット).xlsx」を隅から隅まで目を通したワケではありませんので、

    仕様に関しては、必ずご自身で仕様書を精読してください。

    悪しからず。m(__)m

    > その後、印字コマンドでDAT形式が出来ると言う事で、それにもトライして元々使っていた全銀手順の形式をdat拡張子に変えた状態です。
    > (地銀協フォーマットにした事でutf-8はもう関係なくなるとは思いますが)
    > 今はカンマ区切りにしたCSVと、地銀協フォーマットのdatの2つが試せる状態です

    印字コマンドでテキストファイルが作れますが、出力するファイルの拡張子は自由です。
                          ・・・・・・・・・・・・・・・・・

    世の中には、拡張子(.dat)のファイルがありますが、内容は千差万別です。

    それは、ファイルを利用するサービスやアプリケーションによって内容が異なるからです。

    だから、一般的な拡張子(.dat)のファイルも、一般的な拡張子(.csv)ファイルというのも存在しませんよ。

    つまり、今回の仕様に基づいた拡張子(.dat)のファイルと、今回の仕様に基づいた拡張子(.csv)ファイルと考えてください。
        ・・・・・・・・・・・・・・・・・・・・・  ・・・・・・・・・・・・・・・・・・・・

    p.s.

    仕様書の

    ・個人住民税(特別徴収)CSVレイアウト仕様書(CSVフォーマット).xlsx

    ・個人住民税(特別徴収)ファイルレイアウト定義書(地銀協フォーマット).xlsx

    この2つの仕様書がありますが、地銀協フォーマットがいわゆる固定長ですね。

    CSV フォーマットの方は、(地銀協フォーマット)にコンマで区切る点が付け加えられただけの違いようですね。

    それにしても、これらの仕様書の内容はワカリニクイですね。

    ちなみに、一般的な「全銀フォーマット」もしかりで、どれもこれも超ワカリニクイです。

    もう少し、分かり易い仕様書を書いて欲しいと思いますが・・・技術屋さんが書いたものをネット上に丸投げしているようですから期待できませんね。

    繰り返しになりますが、仕様に関しては、必ずご自身で仕様書を精読してください。

    悪しからず。m(__)m

    p.p.s.

    蛇足です。

    雑感を続けると・・・

    元々は、シフトJIS のファイルが標準だったのでしょうね。

    ところが、UTF-8 のファイルがよく使われるようになったので、新しい仕様を追加したのでしょう。
         ・・・・・・・・・・・・・・・・・・・・・・・

    その際に、エクセルでも読めるようにコンマ区切り、つまり CSV の仕様にしたのかなぁ〜???
         ・・・・・・・・・・・・

    なんでんかんでん、エクセルを基準に考える技術者が多いという事でしょうかねぇ〜。

    当方は、そんなところだろうと、妄想しています。アハハハハha

    ちなみに、普通の場合には、誰でも csv = 可変長 だと思っているんですよ。

    でも、固定長のままながら、単にエクセルで開けるからという理由で、コンマの区切りを使っただけというのが実情でしょうかね。
       ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    全部、タラレバですよ。(^^ゞ



引用返信 [メール受信/OFF]
■14683 / ResNo.29)  Re[10]: 拡張子CSVで項目間をカンマで区切り書き出したい
□投稿者/ hiro -(2024/11/05(Tue) 15:11:43)
    No14682に返信(ONnojiさんの記事)
    ONnojiさん、皆さまどうもありがとうございました。
    ようやく解決しました
    2つのパターンともダメで最終的に地銀協フォーマットでやっていたのにUTF-8の設定のままになっていたのが原因のようでした(マニュアルではSJIS)
    今回には関係ありませんが、地銀協フォーマットなのでUTF-8設定は要りませんがヘルプの印字コマンド説明でSJIS出力=する=しないでUTF-16が書かれていますがUTF-16は誤りだそうで、SJIS出力=しない、にした時、環境設定が生きてくるそうです。
    確かUTF-8に変える前はSJISだったと思うので、結局、今まで使ってたデータ形式を拡張子.datにするだけで済んだ気がします。遠回りしましたw

解決済み!
引用返信 [メール受信/OFF]
■14684 / ResNo.30)  Re[11]: 拡張子CSVで項目間をカンマで区切り書き出したい
□投稿者/ ONnoji -(2024/11/05(Tue) 16:35:18)
    2024/11/05(Tue) 17:23:42 編集(投稿者)

    訂正がありました。m(__)m

    No14675に返信(ONnojiさんの記事)
    > 2024/11/05(Tue) 16:32:04 編集(投稿者)
    > 2024/11/04(Mon) 19:07:44 編集(投稿者)

    > [印字開始]コマンドのパラメータは
    >
    >   印字開始  <ファイル名>,\
    >    追加,\
    >     SJIS出力 = しない|する,\
    >      制御文字展開 = しない|する,\
    >       終了状態 = <変数名>
    >
    > と変わっていないようですね。 ^^) _旦~~


    2024.11.06 追記

    【訂正】

    × と変わっていないようですね。 ^^) _旦~~

    〇 SJIS出力 パラメータを省略 または SJIS出力 = しない の時に環境設定の設定を反映します。

    注意:ただし、UTF-8 で、先頭から文字列が ASCIIコード の場合には、メモ帳ではシフトJIS と UTF-8の判別に失敗して、UTF-16LE と誤判断してしまいます。
       ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

       したがって、メモ帳で確認する場合には、UTF-8(BON付き), UTF-16LE, UTF-16BE のいずれかの設定でテストしてください。
             ・・・・・・・・・・・・

       従って、正確に判断する場合には、バイナリエディタで確認することをお勧めします。
           ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    p.s.

    今やブラウザ関係では、UTF-8 が全盛です。

    しかし、困ったことに、UTF-8 と ANSI は区別できません。

    もともと、UTF-8 を除くUnicode では、BOM (Byte Order Mark:バイト・オーダー・マーク)がありますが、

    UTF-8 には、LEもBEも無いので、BOM がありませんでした。
    ・・・・・・・・・・・・

    しかし、前述のように UTF-8 と ANSI は区別できないために、あえてUTF-8 にもBOM が付けられるようになった経緯があります。
               ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    次善の策のように思えるUTF-8(BON付き)ではありますが、世の中にシフトJIS が存在し続ける限り、役に立つ仕様です。

    ちなみに、UTF-8 と ANSI は区別できないのは基本的な問題ですので、

    桐に限ったことではなく、エクセルや他のソフトでも同じです。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    桐やMSオフィスとのデータ交換を目的としている場合には、UTF-8(BON付き)を選択する方がトラブルが無くベターです。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    ただし、今回話題にしたネットのサービスのように、

    インターネット上でのやり取りでは、BOM 無しのUTF-8 が標準になっていることが多いことでしょう。(^^ゞ
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

引用返信 [メール受信/OFF]
■14685 / ResNo.31)  Re[12]: 拡張子CSVで項目間をカンマで区切り書き出したい
□投稿者/ ONnoji -(2024/11/05(Tue) 17:16:43)
    > ONnojiさん、皆さまどうもありがとうございました。
    > ようやく解決しました

    ずいぶんと遠回りしましたね。

    > 2つのパターンともダメで最終的に地銀協フォーマットでやっていたのにUTF-8の設定のままになっていたのが原因のようでした(マニュアルではSJIS)
    > 今回には関係ありませんが、地銀協フォーマットなのでUTF-8設定は要りませんがヘルプの印字コマンド説明でSJIS出力=する=しないでUTF-16が書かれていますがUTF-16は誤りだそうで、
    > SJIS出力=しない、にした時、環境設定が生きてくるそうです。

    これは、2024年6月の桐sSL/桐sLTの仕様変更に伴う事柄です。

    オンラインヘルプ等にも追記していただきたいですね。>K3

    > 確かUTF-8に変える前はSJISだったと思うので、結局、今まで使ってたデータ形式を拡張子.datにするだけで済んだ気がします。遠回りしましたw

    その通りです。

    少し前にも。

      ■TXTファイルからDATファイルに変更
      http://tayu.o0o0.jp/bbs/kiri/cbbs.cgi?mode=all&namber=14579&type=0&space=0&no=0

      ■印字コマンド
      http://tayu.o0o0.jp/bbs/kiri/cbbs.cgi?mode=all&namber=14584&type=0&space=0&no=0

      ■一括処理書き方
      http://tayu.o0o0.jp/bbs/kiri/cbbs.cgi?mode=all&namber=14597&type=0&space=0&no=0

      ■9000バイトの出力
      http://tayu.o0o0.jp/bbs/kiri/cbbs.cgi?mode=all&namber=14619&type=0&space=0&no=0

    ↑のような、非常によく似たやり取りがあり、すったもんだしました。

    このやり取りも、拡張子(.dat)が単にテキストファイルのことだと看破できなかったから発生したものでした。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    つまり、 DATファイル形式というものが世の中に存在すると思い込んでしまったことが原因です。

    繰り返しになりますが、 DATファイル形式などというファイルは世の中には存在しないのでした。

    しかし、特定のサービスまたはアプリケーションで必要とするテキストファイルでは、拡張子を(.dat)にすることがその業界でのお決まりになっているのでした。
                                                        ・・・・・・・・・・・・・・・・・・・・
    いわば業界用語にPCユーザが振り回されたということになりますね。
       ・・・・・・・・・・・・・・・・・

    今回の質問も、まず最初に仕様書のありかを提示していれば、直ちに解決したハズですよ。

    p.s.

    当方は、DAT ファイルにはもうコリゴリです。

    願わくば。「もう、柳の下に3匹目のドジョウが居ませんように」と願っています。

引用返信 [メール受信/OFF]
■14686 / ResNo.32)  Re[13]: 拡張子CSVで項目間をカンマで区切り書き出したい
□投稿者/ hiro -(2024/11/05(Tue) 22:39:28)
    ONnojiさん、どうもありがとうございました。
    そうですね、現状の状態をもっと詳しく書いていたらもっと早く解決していたでしょうね、すみません。サポートセンターの人に桐で拡張子datは書き出せないとか、印字コマンドで出来ますよとかも言われなかった事や、私も印字コマンドを全く知らなかった上に、元々現状の一括処理を少し変更すれば早く終わると思った事で結果的に時間がかかってしまいました。UTF-8やら16やら、SJIS、txt、dat、csv等関係がややこしいですねw
    > つまり、 DATファイル形式というものが世の中に存在すると思い込んでしまったことが原因です。
    > 繰り返しになりますが、 DATファイル形式などというファイルは世の中には存在しないのでした。
    > しかし、特定のサービスまたはアプリケーションで必要とするテキストファイルでは、拡張子を(.dat)にすることがその業界でのお決まりになっているのでした。
    >                                                     
    LTAXの回答する人もdatファイルでお願いしますと言う事で、何か違うんだろうなと思ってしまいますね(お互い詳しくない人同士のやりとりで)w
解決済み!
引用返信 [メール受信/OFF]

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



■記事リスト / ▼下のスレッド / ▲上のスレッド
■14641 / 親記事)  正か負かで区分を付けたい
□投稿者/ キリマンジャロ -(2024/10/31(Thu) 10:35:21)
    WIN11、桐10S使用です。

    項目[生産数].[在庫数].[引当数].[生産区分]があります。
    データ型は[生産数].[在庫数].[引当数].が数値で、[生産区分]
    が文字列になっています。


    [生産数]-[在庫数]=[引当数]
    となっていて、[引当数]がマイナスの時に、[生産区分]に1がたち、
    [引当数]がプラスの時に、[生産区分]に0が入るようにたいです。

    どのようにしたら出来るか教えて頂きたいです。お忙しいと思いますが、是非とも宜しくお願いいたします!

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

▽[全レス4件(ResNo.1-4 表示)]
■14643 / ResNo.1)  Re[1]: 正か負かで区分を付けたい
□投稿者/ Dita -(2024/10/31(Thu) 14:32:01)
    > 項目[生産数].[在庫数].[引当数].[生産区分]があります。
    > データ型は[生産数].[在庫数].[引当数].が数値で、[生産区分]
    > が文字列になっています。

    > [生産数]-[在庫数]=[引当数]
    > となっていて、[引当数]がマイナスの時に、[生産区分]に1がたち、
    > [引当数]がプラスの時に、[生産区分]に0が入るようにたいです。

    境界値ゼロの取り扱いが不明ですが、細かいこと抜きで安直に書けば、

      #条件選択( [引当数]<0, #文字列(1), 1, #文字列(0) )

    になろうかと思います.
    しかし平易過ぎて、こういう質問では無いような気がしています。

    こういうことではないのであれば、どこで躓いているのかをもう少々具体的にお書きになられた方が良いかと。
引用返信 [メール受信/OFF]
■14645 / ResNo.2)  Re[2]: 正か負かで区分を付けたい
□投稿者/ キリマンジャロ -(2024/11/01(Fri) 09:37:28)
    No14643に返信(Ditaさんの記事)
    >>項目[生産数].[在庫数].[引当数].[生産区分]があります。
    >>データ型は[生産数].[在庫数].[引当数].が数値で、[生産区分]
    >>が文字列になっています。
    >
    >>[生産数]-[在庫数]=[引当数]
    >>となっていて、[引当数]がマイナスの時に、[生産区分]に1がたち、
    >>[引当数]がプラスの時に、[生産区分]に0が入るようにたいです。
    >
    > 境界値ゼロの取り扱いが不明ですが、細かいこと抜きで安直に書けば、
    >
    >   #条件選択( [引当数]<0, #文字列(1), 1, #文字列(0) )
    >
    > になろうかと思います.
    > しかし平易過ぎて、こういう質問では無いような気がしています。
    >
    > こういうことではないのであれば、どこで躓いているのかをもう少々具体的にお書きになられた方が良いかと。


    ご連絡ありがとうございます。
    丁寧な文章でとても分かりやすく参考になりました。
    ありがとうございます!

    実際に行いたいのは、ここに追加で[基準在庫]という数値の項目を追加し
    その項目の値より、[引当数]が多ければ、[生産区分]に1がたち、
    [引当数]が少なければ、[生産区分]に0が入るようにたいです。
    お忙しいと思いますが、宜しくお願い致します。
引用返信 [メール受信/OFF]
■14649 / ResNo.3)  Re[3]: 正か負かで区分を付けたい
□投稿者/ hiro -(2024/11/01(Fri) 23:53:10)
    No14645に返信(キリマンジャロさんの記事)
    > ■No14643に返信(Ditaさんの記事)
    > >>項目[生産数].[在庫数].[引当数].[生産区分]があります。
    > >>データ型は[生産数].[在庫数].[引当数].が数値で、[生産区分]
    > >>が文字列になっています。
    >>
    > >>[生産数]-[在庫数]=[引当数]
    > >>となっていて、[引当数]がマイナスの時に、[生産区分]に1がたち、
    > >>[引当数]がプラスの時に、[生産区分]に0が入るようにたいです。
    >>
    >>境界値ゼロの取り扱いが不明ですが、細かいこと抜きで安直に書けば、
    >>
    >>  #条件選択( [引当数]<0, #文字列(1), 1, #文字列(0) )
    >>
    >>になろうかと思います.
    >>しかし平易過ぎて、こういう質問では無いような気がしています。
    >>
    >>こういうことではないのであれば、どこで躓いているのかをもう少々具体的にお書きになられた方が良いかと。
    >
    >
    > ご連絡ありがとうございます。
    > 丁寧な文章でとても分かりやすく参考になりました。
    > ありがとうございます!
    >
    > 実際に行いたいのは、ここに追加で[基準在庫]という数値の項目を追加し
    > その項目の値より、[引当数]が多ければ、[生産区分]に1がたち、
    > [引当数]が少なければ、[生産区分]に0が入るようにたいです。
    > お忙しいと思いますが、宜しくお願い致します。
    横から失礼します。
    [生産区分]は文字列と言う事で、その項目計算式に
    #文字列(#条件選択([基準在庫]<[引当数],1,1,0))で良いかと思います
    ただ同数の場合もあると思うのでその場合≦にするのか、あるいは0、1、2の3種類に分けるのかとか考えないといけないですね
引用返信 [メール受信/OFF]
■14680 / ResNo.4)  Re[4]: 正か負かで区分を付けたい
□投稿者/ キリマンジャロ -(2024/11/04(Mon) 21:59:42)
    No14649に返信(hiroさんの記事)
    > ■No14645に返信(キリマンジャロさんの記事)
    >>■No14643に返信(Ditaさんの記事)
    >>>>項目[生産数].[在庫数].[引当数].[生産区分]があります。
    >>>>データ型は[生産数].[在庫数].[引当数].が数値で、[生産区分]
    >>>>が文字列になっています。
    > >>
    >>>>[生産数]-[在庫数]=[引当数]
    >>>>となっていて、[引当数]がマイナスの時に、[生産区分]に1がたち、
    >>>>[引当数]がプラスの時に、[生産区分]に0が入るようにたいです。
    > >>
    > >>境界値ゼロの取り扱いが不明ですが、細かいこと抜きで安直に書けば、
    > >>
    > >>  #条件選択( [引当数]<0, #文字列(1), 1, #文字列(0) )
    > >>
    > >>になろうかと思います.
    > >>しかし平易過ぎて、こういう質問では無いような気がしています。
    > >>
    > >>こういうことではないのであれば、どこで躓いているのかをもう少々具体的にお書きになられた方が良いかと。
    >>
    >>
    >>ご連絡ありがとうございます。
    >>丁寧な文章でとても分かりやすく参考になりました。
    >>ありがとうございます!
    >>
    >>実際に行いたいのは、ここに追加で[基準在庫]という数値の項目を追加し
    >>その項目の値より、[引当数]が多ければ、[生産区分]に1がたち、
    >>[引当数]が少なければ、[生産区分]に0が入るようにたいです。
    >>お忙しいと思いますが、宜しくお願い致します。
    > 横から失礼します。
    > [生産区分]は文字列と言う事で、その項目計算式に
    > #文字列(#条件選択([基準在庫]<[引当数],1,1,0))で良いかと思います
    > ただ同数の場合もあると思うのでその場合≦にするのか、あるいは0、1、2の3種類に分けるのかとか考えないといけないですね

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

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



■記事リスト / ▼下のスレッド / ▲上のスレッド
■14644 / 親記事)  項目計算式にメモ
□投稿者/ ポーラン -(2024/11/01(Fri) 07:15:44)
    2024/11/01(Fri) 07:17:58 編集(投稿者)
    2024/11/01(Fri) 07:17:55 編集(投稿者)

    桐10sです
    項目計算式にメモを付加したいのですが、可能でしょうか?
    計算式が長くなってくると、メモがあったほうが間違いに気づきやすいので。
    よろしくお願いします。

    TBX事にテキストファイルに保存してます。
    もし上記が不可能であるなら、こうすればいいとかの案もあればお願いします。
引用返信 [メール受信/OFF]

▽[全レス4件(ResNo.1-4 表示)]
■14646 / ResNo.1)  Re[1]: 項目計算式にメモ
□投稿者/ うにん -(2024/11/01(Fri) 09:38:55)
    式内で改行ができないので、かえってわかりにくいかも?

    #条件選択(0,"これはコメントです",1,"")
    を連結することで代用はできますね。
    ""の代りにコメントを付けたい部分の実際の計算式を入れればいいかな。
引用返信 [メール受信/OFF]
■14647 / ResNo.2)  Re[2]: 項目計算式にメモ
□投稿者/ ポーラン -(2024/11/01(Fri) 10:34:40)
    2024/11/01(Fri) 10:41:15 編集(投稿者)

    #cond (
    [月日]="01-01", "元旦",
    [西暦]>=1973 .and [月日]="01-02" .and [曜]="月", "振替休日",

    [西暦]>=1967 .and [月日]="02-11", "建国記念の日",
    [西暦]>=1973 .and [月日]="02-12" .and [曜]="月", "振替休日",
    [西暦]>=2007 .and [月日]="05-04", "みどりの日",
    [月日]="05-05", "こどもの日",
    [西暦]>=1973 .and [西暦]<=2007 .and [月日]="05-04" .and [曜]="月", "振替休日",


        (中略)


    [年月日]=d"1959-04-10", "皇太子明仁親王の結婚の儀",
    [年月日]=d"1989-02-24", "昭和天皇の大喪の礼",
    [年月日]=d"1990-11-12", "即位礼正殿の儀",
    [年月日]=d"1993-06-09", "皇太子徳仁親王の結婚の儀",

    [西暦]>=1948 .and [西暦]<=1999 .and [月日]="01-15",  "成人の日",
    [西暦]>=1973 .and [西暦]<=1999 .and [月日]="01-16" .and [曜]="月", "振替休日",

    [西暦]>=1995 .and [西暦]<=2002 .and [月日]="07-20",   "海の日",
    [西暦]>=1995 .and [西暦]<=2002 .and [月日]="07-21" .and [曜]="月", "振替休日",

    [西暦]>=1966 .and [西暦]<=2002 .and [月日]="09-15",  "敬老の日",
    [西暦]>=1973 .and [西暦]<=2002 .and [月日]="09-16" .and [曜]="月", "振替休日",

    [西暦]>=1966 .and [西暦]<=1999 .and [月日]="10-10",  "体育の日",
    [西暦]>=1973 .and [西暦]<=1999 .and [月日]="10-11" .and [曜]="月", "振替休日",

    1,#未定義
    )


    説明の仕方が悪くすみません。
    @エディタで編集してそれをコピペしていますので、改行は可能です。またそのテキストファイルは、TBXと同じファイル名.txt にて保存しています
    A戻り値?返り値? でコメントを付けるのではなく、例えば行末に補足文を付けられないか?
    という意味です。


    https://eng-entrance.com/commentout
    上記リンクでの「//」みたいなやつです


引用返信 [メール受信/OFF]
■14657 / ResNo.3)  Re[3]: 項目計算式にメモ
□投稿者/ うにん -(2024/11/02(Sat) 10:59:28)
    コメントの書式はないので、(私は古いバージョンを使ってますが、10sでもないですよね?)

    #cond (
    [月日]="01-01", "元旦", 0, "1/1は無条件に元旦",

    のようにしたらどうか、という代案です。
    0,
    の代りに
    "//",
    で試してみたら、これは真になってしまいますね。
引用返信 [メール受信/OFF]
■14658 / ResNo.4)  Re[4]: 項目計算式にメモ
□投稿者/ ポーラン -(2024/11/02(Sat) 11:23:19)
    あー、なるほど。
    仰ってることが理解できました。
    ありがとうございました。
解決済み!
引用返信 [メール受信/OFF]

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



■記事リスト / ▼下のスレッド / ▲上のスレッド
■14522 / 親記事)  連番を自動入力したい
□投稿者/ キリマンジャロ -(2024/07/17(Wed) 11:07:37)
    [A] [NO]
    a   1
    a   2
    b   1
    a   3
    c   1
    b   2

    [A]を並び替えれば[NO]に項目名毎に連番を付与(下記)できますが、並び替えないで上記のように項目名毎に最大値+1したい


    という質問があり、[フォーム+イベント処理]で解決されていたので参考にして作ったのですが動きません。
    サンプルになるフォームを見せて頂きたいと思い投稿しました。よろしくお願いいたします。

    https://tayu.o0o0.jp/bbs/kiri/cbbs.cgi?mode=al2&namber=13544&rev=&no=0&KLOG=91
    参考にしたURLです。
引用返信 [メール受信/OFF]

▽[全レス8件(ResNo.4-8 表示)]
■14534 / ResNo.4)  Re[2]: 連番を自動入力したい
□投稿者/ キリマンジャロ -(2024/08/06(Tue) 10:51:15)
    No14523に返信(ONnojiさんの記事)
    > 2024/07/17(Wed) 18:09:48 編集(投稿者)
    >
    >>サンプルになるフォームを見せて頂きたいと思い投稿しました。よろしくお願いいたします。
    >>https://tayu.o0o0.jp/bbs/kiri/cbbs.cgi?mode=al2&namber=13544&rev=&no=0&KLOG=91
    >>参考にしたURLです。
    >
    > たぶん私でしょうね。
    >
    >  ■13552 / inTopicNo.8)  Re[2]: 連番の自動付与
    >  □投稿者/ ONnoji -(2022/09/01(Thu) 18:09:57)
    >
    > サンプルはすでに削除していますのでありません。ご了承ください。
    >
    > 参考にしたツリーの内容と、貴殿が行いたい内容が一致しているのか否か疑問です。
    >
    >>という質問があり、[フォーム+イベント処理]で解決されていたので参考にして作ったのですが動きません。
    >
    > 貴殿が作られたものを添付していただくと、この掲示板を見ている人から回答があると思いますよ。
    >
    > p.s.
    >
    > 質問の際には、桐のバージョンを提示してください。桐9-2012?、桐9s?、桐10s?、桐s?
    >
    > p.p.s.
    >
    > 当方のサンプルの表の定義、フォームの定義、イベント処理の定義は、過去ログにすべて掲載されているので、
    >
    > 一覧表形式のフォームを作れば、そのまま動くはずです。
    >
    > しかし、サンプルの一部分を切り取って使うという目的には適していませんよ。
    >
    > 以下に再掲載(■13552 Re[2]: 連番の自動付与 2022/09/01(Thu))します。
    >
    > ■グループ毎の連番を振る.wfm
    >
    >  フォーム
    >  ├ ファミリ
    >  ├ ワークスペース
    >  │ └ cmdStartup
    >  ├ フォーム操作バー
    >  ├ フォームヘッダ部
    >  │ ├ a
    >  │ ├ lblA
    >  │ └ lblNO
    >  └ フォーム明細部
    >    ├ 行セレクタ
    >    ├ txtA
    >    └ txtNO
    >
    >  グループ毎の連番を振る.wfm の開始時実行コマンドボタン
    >
    >  オブジェクト名: cmdStartup
    >  標題     : cmdStartup
    >
    >   機能名    機能パラメータリスト
    >  1 表示
    >  2 手続き実行  cmdStartupClick
    >  3 なし
    >  4 なし
    >
    > ■グループ毎の連番を振る.tbl
    >
    > 項目番号 項目名 データ型
    > 1     A    文字列        
    > 2     NO    長整数        
    >                 
    >
    > ■グループ毎の連番を振る.kev
    >
    > 名札  メイン
    >  変数宣言 局所,整数 { &mMultiTblNum }
    >
    > *
    >
    > 手続き定義開始 cmdStartupClick( )
    >  変数宣言 自動,文字列{ &icon, &title = "cmdStartupClick( )", &msg }
    >  変数宣言 自動,整数 { &traceON }
    >  変数宣言 自動,整数 { &multiTblNum }
    >
    >  &traceON = 0
    >  条件 ( &traceON ) トレース出力 &title + "を実行開始しました"
    >
    >  編集表 &hwindow
    >  多重化
    >  &mMultiTblNum = #is表
    >
    >  **if ( &mMultiTblNum )
    >  ** 終了 表 &multiTblNum
    >  **end
    >  編集表 &hwindow
    >
    >  &msg =     "done"
    >  **メッセージボックス &title, &msg, アイコン = i, ボタン指定 = 1, 制御文字展開 = する
    >
    >  条件 ( &traceON ) トレース出力 &title + "を実行終了しました"
    > 手続き定義終了
    >
    > 手続き定義開始 フォーム::行挿入終了前(長整数 &明細番号,長整数 &モード,参照 長整数 &行挿入継続)
    >  変数宣言 自動,文字列{ &icon, &title = "フォーム::行挿入終了前( )", &msg }
    >  変数宣言 自動,文字列{ &objectName }
    >  変数宣言 自動,文字列{ &string }
    >  変数宣言 自動,文字列{ &expression }
    >  変数宣言 自動,文字列{ &WQ = #jis( #hex("22") ) }
    >  変数宣言 自動,整数 { &return }
    >  変数宣言 自動,長整数{ &NO }
    >  変数宣言 自動,整数 { &traceON }
    >
    >  &traceON = 1
    >  条件 ( &traceON ) トレース出力 &title + "を実行開始しました"
    >
    >  条件 ( &traceON ) トレース出力 _&モード
    >  if ( &モード )
    >   &string = [A]
    >   条件 ( &traceON ) トレース出力 _&string
    >  
    >   編集表 &mMultiTblNum
    >   &expression = &WQ + &string + &WQ
    >   解除 *
    >   絞り込み [A]_&expression
    >   if ( .not #eof )
    >   
    >    並べ替え { [NO]降順 }
    >    ジャンプ 行番号 = 先頭
    >    &NO = [NO]
    >    条件 ( &traceON ) トレース出力 _&NO
    >   
    >    編集表 &hwindow
    >    項目値代入 [NO] = &NO + 1
    >    **&msg =     "[NO] = " + #str( [NO] )
    >    **メッセージボックス &title, &msg, アイコン = i, ボタン指定 = 1, 制御文字展開 = する
    >   else
    >   
    >    編集表 &hwindow
    >    項目値代入 [NO] = 1
    >   end
    >  end
    >
    >
    >  条件 ( &traceON ) トレース出力 &title + "を実行終了しました"
    > 手続き定義終了

    返信遅れて申し訳ありません。
    再度チャレンジしたいとおもいます!
    > またなにかあれば報告させていただきます。
引用返信 [メール受信/OFF]
■14535 / ResNo.5)  Re[2]: 連番を自動入力したい
□投稿者/ キリマンジャロ -(2024/08/06(Tue) 10:55:17)
    No14524に返信(ななーしさんの記事)
    > 返信遅くなって申し訳ありません。
    様々なことをやってみたくなってしまって、、、また一度考えていきたいと思います。アドバイスありがとうございます。
引用返信 [メール受信/OFF]
■14536 / ResNo.6)  Re[3]: 連番を自動入力したい
□投稿者/ キリマンジャロ -(2024/08/06(Tue) 10:56:57)
    No14525に返信(ONnojiさんの記事)
    > 2024/07/17(Wed) 20:12:00 編集(投稿者)
    >
    桐は10sを使用しています。
    今週中に一度試して見ようと思います。
    アドバイスありがとうございます!

引用返信 [メール受信/OFF]
■14571 / ResNo.7)  Re[3]: 連番を自動入力したい
□投稿者/ 緒方 -(2024/09/18(Wed) 11:20:28)
    No14535に返信(キリマンジャロさんの記事)
    もう解決ずみでしたらすみません
    NOの項目に下記の計算式ではだめですかね
    #条件選択(#直前値([A],"")<>[A],1,1,#直前値([NO],0)+1)
    皆さんが言っておられるように{A]を並び替えして[no]を項目置換すると希望の連番になりますよ
引用返信 [メール受信/OFF]
■14642 / ResNo.8)  Re[4]: 連番を自動入力したい
□投稿者/ キリマンジャロ -(2024/10/31(Thu) 10:38:25)
    No14571に返信(緒方さんの記事)
    > ■No14535に返信(キリマンジャロさんの記事)
    > もう解決ずみでしたらすみません
    > NOの項目に下記の計算式ではだめですかね
    > #条件選択(#直前値([A],"")<>[A],1,1,#直前値([NO],0)+1)
    > 皆さんが言っておられるように{A]を並び替えして[no]を項目置換すると希望の連番になりますよ

    ありがとうございます。解決することが出来ました!

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

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



■記事リスト / ▲上のスレッド
■14617 / 親記事)  項目別 連番生産
□投稿者/ たいむ -(2024/10/12(Sat) 11:18:26)
    お世話になっております。
    大変参考になり助かっております。


    初歩的な質問で恐縮ですが、よろしくお願いします。

    一つの表で複数の項目別それぞれに、連番を自動生産したい。
    (データ型:カウンタの様に)
    開始番号がABC・DEの様に、同番号となるものがある


    A項目:0001から始まる連番 これを更に年度別・年別にそれぞれ生産をしたい。
    B項目:0001から始まる連番  以下同じ
    C項目:0001から始まる連番
    D項目:2001から始まる連番
    E項目:2001から始まる連番     ・  
        ・
        ・
        ・
    L項目:9001から始まる連番 これを更に年度別・年別に生産したい。

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

▽[全レス9件(ResNo.5-9 表示)]
■14630 / ResNo.5)  Re[1]: 項目別 連番生産
□投稿者/ ONnoji -(2024/10/16(Wed) 16:04:37)
    2024/10/19(Sat) 11:17:22 編集(投稿者)
    2024/10/17(Thu) 09:04:41 編集(投稿者)

    正直に言ってデータベース的な感覚からすると、同じ値の項目([A][B][C], [D][E])が出現することに強い違和感がありました。

    p.s.

    当方が添付ファイルを添付した提案に対して、一瞥もない貴殿の返答をいただき非常に残念な結果でありました。(−−〆)

引用返信 [メール受信/OFF]
■14631 / ResNo.6)  Re[2]: 項目別 連番生産
□投稿者/ たいむ -(2024/10/19(Sat) 00:44:52)
    お世話になっております。
    少々構成が変わったように思われますが、よろしく願いします。
    【顧客予約表】
    [申込年] [申込月] [申込日] [氏名] [生年月日] [住所] [その他情報]・・・
    顧客予約表から以下の条件で「顧客実績表」に書き出し
     [申込年]・[申込月]・[申込日]

    【顧客実績表】
    1 [1氏名] [住所]・・・[A作業] [A評価] [A証明番号] [B作業] [B評価] [B証明番号]
    先頭の[A証明番号]に初期値(2001)を手入力
             2以下の[A証明番号]以降が「2002」、「2003」と番号が自動生成される。
             先頭の[B証明番号]に初期値(0001)を手入力
             2以下の [B証明番号]以降が「0002、「0003」と番号が自動生成される。
    2 [2氏名] [住所] [A作業] [A評価] [A証明番号] [B作業] [B評価] [B証明番号]
    3 [3氏名] [住所] [A作業] [A評価] [A証明番号] [B作業] [B評価] [B証明]


    10 [10氏名] [住所] [A作業] [A評価] [A証明番号] [B作業] [B評価] [B証明]

引用返信 [メール受信/OFF]
■14633 / ResNo.7)  Re[3]: 項目別 連番生産
□投稿者/ ONnoji -(2024/10/19(Sat) 11:39:49)
    > 先頭の[A証明番号]に初期値(2001)を手入力
    > 2以下の[A証明番号]以降が「2002」、「2003」と番号が自動生成される。

    表(.tbx)の編集作業だけで行うのならば、

    先頭行の任意項目に初期値(2001)を手入力 → すでに存在する2行め以降のレコードに連番が附番される

    ↑このようなことは出来ませんよ。

    なぜならば、手入力可能な項目は、計算項目にはならないからです。
          ・・・・・・・・・・・・・・・・・・・・

    また、計算出来る項目(計算項目)は、手入力が不可能だからです。
       ・・・・・・・・・・・・・・・・・・・・・・

    従って、手入力→自動附番というのは、表のままではどう頑張っても出来ないですよ。

    というわけで、

    全行(レコード)に連番を振りたいのであれば、[置換]操作で行うのが一般的なアプローチですよ。

    置換の計算式は、

     "2" + #文字列( #連番, 3 ) → "2001" 〜 "2999"

     #文字列( #連番, 4 )    → "0001" 〜 "9999"

    です。
引用返信 [メール受信/OFF]
■14634 / ResNo.8)  Re[4]: 項目別 連番生産
□投稿者/ たいむ -(2024/10/19(Sat) 16:30:49)
    皆様 ありがとうございます。
    何をしているのか、自分は。計算式の入った項目には、、、、でした(忘れ)(恥)
    やはりこの項目構成では「採番」は無理でした。
    再度、表作り直しをしたいと思います。
    お世話になりました。
    あらためまして、お時間いただき
    ありがとうございました。
    たいむ

引用返信 [メール受信/OFF]
■14635 / ResNo.9)  Re[5]: 項目別 連番生産
□投稿者/ ONnoji -(2024/10/19(Sat) 17:56:39)
    2024/10/19(Sat) 18:42:53 編集(投稿者)

    > 何をしているのか、自分は。計算式の入った項目には、、、、でした(忘れ)(恥)
    > やはりこの項目構成では「採番」は無理でした。
    > 再度、表作り直しをしたいと思います。

    提示された表(.tbx)の定義内容でも、自動採番は可能ですよ。

    ただし、そのためには

    ・[フォーム+イベント処理]によるアプリケーション
                     ・・・・・・・・
    ・一括処理によるアプリケーション
            ・・・・・・・・

    のどちらかのアプローチが必要です。

    私( ONnoji )は、Win桐では[フォーム+イベント処理]によるアプリケーションをお勧めしますけれど・・・(^^ok

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

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






1513247

Mode/  Pass/

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

- Child Tree -
- Antispam Version -