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

[ 最新記事及び返信フォームをトピックトップへ ]

■14889 / inTopicNo.1)  表引きについて
  
□投稿者/ キリマンジャロ -(2025/03/21(Fri) 10:59:19)
    WIN11、桐10S使用です
    いつもお世話になっております。昨日の今日で申し訳ありませんがよろしくお願いします。
    T受注(トランズ) と M取引先(マスター) の二つの表があります。

    T受注にデータを入力する際に、取引先コードを使い M取引先に入っている取引先名の表引きを行っています。

    ここで問題がありまして、先方の取引先名が変わり、それにより取引先(マスター)の取引先名のデータを変えたことにより、T受注(トランズ)の表引きしていた取引先名のデータが全て新しいデータになってしまいました。

    やりたい事は、これから入力するデータは新しい名前で過去のデータは過去の名前にしておきたいです。


    「挿入初期値式」と「編集初期値式」がカギになると感じ調べた所、同じような方が質問されていました。
    http://www.habata.net/kiri/kbbs/kakov9/22438.htm

    編集初期値式が一番近いのですが、いちいち訂正していかなければならないのがネックになっていて、挿入初期値式は入力しても表示されません。

    お忙しいところ恐縮ですがよろしくお願いします。(__)

引用返信 [メール受信/OFF] 削除キー/
■14890 / inTopicNo.2)  Re[1]: 表引きについて
□投稿者/ ONnoji -(2025/03/21(Fri) 12:35:00)
    2025/03/21(Fri) 21:50:31 編集(投稿者)

    > WIN11、桐10S使用です
    > T受注(トランズ) と M取引先(マスター) の二つの表があります。
    > T受注にデータを入力する際に、取引先コードを使い M取引先に入っている取引先名の表引きを行っています。
    > ここで問題がありまして、先方の取引先名が変わり、それにより取引先(マスター)の取引先名のデータを変えたことにより、
    > T受注(トランズ)の表引きしていた取引先名のデータが全て新しいデータになってしまいました。
    > やりたい事は、これから入力するデータは新しい名前で過去のデータは過去の名前にしておきたいです。

    項目[取引先名]に #表引き()関数 を指定したのでしょうね。
    項目計算式にしてしまうと、再計算が発生した時に、すべて書き換わってしまいますね。
    これ!、トホホです。

    > 「挿入初期値式」と「編集初期値式」がカギになると感じ調べた所、同じような方が質問されていました。
    > 編集初期値式が一番近いのですが、いちいち訂正していかなければならないのがネックになっていて、挿入初期値式は入力しても表示されません。

    残念ながら、「編集初期値式」でも「挿入初期値式」でもありませんよ。

    結論から申し上げると、[表定義]→[項目属性]→[表引き]の設定では[表引き]画面を出さずに値が複写出来ます。

    具体的には、設定した項目にキャレット(I型のカーソル)が出現した時点で値が複写されています。

    ただし、[検索項目]に重複禁止の索引が作られていなければなりません。←これが条件です。

    [表定義]→[項目属性]→[表引き]の設定は項目計算式ではありませんから、再計算されて書き換わってしまう事もありません。
                          ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
    ひとまず以下の[桐 - ヘルプ]をじっくり読んでください。

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

    [桐 - ヘルプ]→[表定義]→[項目属性]→[表引き]
    https://www.kthree.co.jp/kihelp/index.html?page=tbl/tfProp5&type=html

    ▽ [表引き表]
     参照する表を指定します。表ファイル名の一覧から選択入力する場合はをクリックします。

    ▽[使用索引]
     参照する表にアクセスするときに使用する索引を選びます。[比較項目]を指定している場合は、[検索項目]が整列項目になっている索引を選びます。
     重複禁止索引を選択した場合、[比較項目]と完全に一致するデータがあったときは[表引き]画面を出さずに値が代入されます。
     ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
     ↑これ重要!

     ただし、完全一致するデータが代入されているときにをクリックすると、[表引き]画面が表示されます。
     表引き表が絞り込み状態または共有で開かれているときは、索引を使用しません。

    ▽[比較項目]
     表引き表と比較する項目を選びます。比較する項目はふたつまで指定できます。表引き条件を設定する項目を指定してもかまいません。表引き表を検索しない場合は指定しません。

    ▽[検索項目]
     表引き表の検索項目を選びます。検索する項目はふたつまで指定できます。
     この項目をひとつも指定しない場合は、[表引き]画面にすべての項目が表示されます。

    ▽[値項目]
     表引き表から自身の表に転記する項目を選びます。

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

    具体的に以下の情報をお知らせください。

    1.表:T受注(トランズ) の[比較項目]の項目名とデータ型
    2.表:M取引先(マスター)の[検索項目]の項目名とデータ型
    3.表:M取引先(マスター)の[値項目]の項目名
    4.表:M取引先(マスター)の[検索項目]をキーにした重複禁止の索引が作成済みであるか否か

    ↑これは #表引き関数の引数と同じものなんですけれどね。アハハハ(^^ゞ

    具体的に設定方法をご案内します。(^^ok

引用返信 [メール受信/OFF] 削除キー/
■14894 / inTopicNo.3)  Re[2]: 表引きについて
□投稿者/ キリマンジャロ -(2025/03/21(Fri) 23:17:21)
    ONnojiさんいつもありがとうございます。

    >具体的に以下の情報をお知らせください。

    >1.表:T受注(トランズ) の[比較項目]の項目名とデータ>型
    >2.表:M取引先(マスター)の[検索項目]の項目名とデータ>型
    >3.表:M取引先(マスター)の[値項目]の項目名
    >4.表:M取引先(マスター)の[検索項目]をキーにした重複>禁止の索引が作成済みであるか否か

    的確なアドバイスでいつも感謝しております!
    月曜日にパソコンで確認することが出来ますので、午前中には連絡をしたいと思いますのでよろしくお願いいたします(^^)
引用返信 [メール受信/OFF] 削除キー/
■14895 / inTopicNo.4)  Re[1]: 表引きについて
□投稿者/ くおんたむ -(2025/03/22(Sat) 00:53:07)
    どうも、キリマンジャロさん

    > T受注にデータを入力する際に、取引先コードを使い M取引先に入っている取引先名の表引きを行っています。
    >
    > ここで問題がありまして、先方の取引先名が変わり、それにより取引先(マスター)の取引先名のデータを変えたことにより、T受注(トランズ)の表引きしていた取引先名のデータが全て新しいデータになってしまいました。
    >
    > やりたい事は、これから入力するデータは新しい名前で過去のデータは過去の名前にしておきたいです。

    おそらくですが、キーとしているのは取引先コードをキーにしていると思います。
    でしたら、取引先をキーにせず、ユニークなコードをキーにする事でできると思います。
    (ユニーク玖コードは完全に一致しないコードです)

    例 ID 取引先CD 取引先名
      1 0001  あ
    2 0001  あい
    3 0001  あう

    でしたら、IDをキーにして表引きすれば、同じ取引先コードでも別々のコードになります。
    ここではIDを例にしましたが、IDをコードにする事でも可能です。

    例 ID  取引先CD 取引先名
      0001-1 0001  あ
    0001-2 0001  あい
    0001-3 0001  あう

    課題としては、間違って古いkコードを使用されてしまった場合のチェックができない面です。
    イベント処理を組み入れている場合はチェックはできますが、表ファイル単体ではチェック用の
    項目を追加して検証する形になると思います。

    私がイベント処理を組み入れる前は、チェック用の日付とフラグで判断していました。
    (取引先開始日、取引先終了日を表引きで引っ張って、その間になるかを取引日で判断して、エラーに
     なる場合に、フラグで1を返すといった形)

引用返信 [メール受信/OFF] 削除キー/
■14896 / inTopicNo.5)  Re[2]: 表引きについて
□投稿者/ キリマンジャロ -(2025/03/24(Mon) 08:54:06)
    おはようございます。返答させていただきます。

    > 1.表:T受注(トランズ) の[比較項目]の項目名とデータ型
    > 2.表:M取引先(マスター)の[検索項目]の項目名とデータ型
    > 3.表:M取引先(マスター)の[値項目]の項目名
    > 4.表:M取引先(マスター)の[検索項目]をキーにした重複禁止の索引が作成済みあるか否か

    1.取コード 文字列
    2.取コード 文字列
    3.取引先名
    4.M取引先牽引を作成しました。

    具体的な設定方法教えていただけたら幸いです。よろしくお願いします。(._.)


引用返信 [メール受信/OFF] 削除キー/
■14898 / inTopicNo.6)  Re[2]: 表引きについて
□投稿者/ キリマンジャロ -(2025/03/24(Mon) 09:11:43)
    > おそらくですが、キーとしているのは取引先コードをキーにしていると思います。
    > でしたら、取引先をキーにせず、ユニークなコードをキーにする事でできると思います。
    くおんたむさん
    ご回答ありがとうございます。
    確かにもう一つキーを作ることでユニークなコードを作ることができるな!と今頭がたどり着きました。

    > 課題としては、間違って古いkコードを使用されてしまった場合のチェックができない面です。
    > イベント処理を組み入れている場合はチェックはできますが、表ファイル単体ではチェック用の
    > 項目を追加して検証する形になると思います。
    チェックがないと確かに不安だなと感じました。

    > 課題としては、間違って古いkコードを使用されてしまった場合のチェックができない面です。
    > イベント処理を組み入れている場合はチェックはできますが、表ファイル単体ではチェック用の
    > 項目を追加して検証する形になると思います。
    チェックがないと確かに不安だなと感じました。
    恥ずかしながら私自身、イベント処理をやったことがなくその領域はチンプンカンプンです。今後勉強したいと考えておりますが、Webだけの学習だと勝手にですがハードルが高いように感じてしまいまして(-"-)
引用返信 [メール受信/OFF] 削除キー/
■14899 / inTopicNo.7)  Re[1]: 表引きについて
□投稿者/ ONnoji -(2025/03/24(Mon) 10:41:01)
    2025/03/24(Mon) 16:53:22 編集(投稿者)

    操作の説明すると長くなるので省略いたします。

    添付ファイルを解凍して試してください。

    なお、test_M取引先(マスター).tbx には[取コード]は予め3種類登録してあります。

    取コード 取引先名 登録日
    1001  A社   2025-03-24
    2001  B社   2025-03-24
    3001  C社   2025-03-24

    表引き条件や重複禁止索引の作り方は[桐 - ヘルプ]を参照してください。

    それでは以下を参考にして試してください。グッドラック (@^^)/~~~

     ◇ ◇ ◇ ◇ ◇ ◇

    ■ test_T受注(トランズ).TBX

    項目番号 項目名  データ型 表引き条件
    1     受注名  文字列 
    2     取コード  文字列 
    3     取引先名 文字列  [取コード],"test_M取引先(マスター).tbx","M取引先牽引",[取コード],[取引先名]
    4     登録日  文字列 
       
    条件名が見つかりません  

    ■ test_M取引先(マスター).tbx

    項目番号 項目名  データ型 挿入初期値式
    1     取コード  文字列 
    2     取引先名 文字列 
    3     郵便番号 文字列 
    4     住所   文字列 
    5     登録日  文字列  #日付( #DATE, 1 )
       
    索引 M取引先牽引    ← これは[取コード]昇順・重複禁止で作成

    p.s.

    余談ながら・・・

    取引先名がM&A(エムアンドエー、Mergers〈合併〉and Acquisitions〈買収〉)などで変更になっても、名称が変更になるだけです。

    名称が変わっても、実体としての取引先は同じです。
    ・・・・・・・・・・・・・・・・・・・・・・・

    だから、

    例 record_ID 取引先CD 取引先名
      0001-1   0001   あ
      0001-2   0001   あい
      0001-3   0001   あう

    ↑こういうのは実体が1つなのに複数のレコードが存在して冗長なので感心出来ません。
           ・・・・・・・・・・・・・・・・・・・・・・
    こうするよりも、表:M取引先 に[社名変更の履歴メモ]といった項目を追加した方が良いのではありませんかね。

    表:M取引先 を保守するアプリケーション(マスター・メンテナンス)で、社名変更の場合には、旧レコードを別の表へコピーしておけば、良いと思いますけれどね。アハハハ

    そうすれば、表:M取引先 の変更の履歴が取れますので、一目瞭然です。

    もちろん、アプリケーションを作らずに手作業で行ってもOK。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    たとえば、次のような感じ・・・

     ■取引先マスタの変更履歴.tbx

     変更日   取引先CD 取引先名
     yyyy.mm.dd 0001   C社
     yyyy.mm.dd 0001   AB社
     yyyy.mm.dd 0001   A社

    ↑私( ONnoji )は、これを実際に行っていましたけどね。

    実際には、社名変更よりも、住所の移転の方が多かったですけれどね。アハハハha

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

引用返信 [メール受信/OFF] 削除キー/
■14900 / inTopicNo.8)  Re[2]: 表引きについて
□投稿者/ キリマンジャロ -(2025/03/24(Mon) 17:42:08)
    ONnojiさんありがとうございます。

    ファイルをダウンロードさせて頂き拝見させていただきました。
    それをもとに作成したのですが、ここで一つ問題がありまして、T受注(トランズ)の取コードのデータを入れるとき、併合の置き換え挿入でデータをもってきていて、そうなると取引先名が入っていません。

    併合する場合は自動では入ってこないのでしょうか。

引用返信 [メール受信/OFF] 削除キー/
■14901 / inTopicNo.9)  Re[3]: 表引きについて
□投稿者/ ONnoji -(2025/03/24(Mon) 18:50:54)
    2025/03/25(Tue) 13:26:25 編集(投稿者)

    > ファイルをダウンロードさせて頂き拝見させていただきました。
    > それをもとに作成したのですが、ここで一つ問題がありまして、
    > T受注(トランズ)の取コードのデータを入れるとき、併合の置き換え挿入でデータをもってきていて、そうなると取引先名が入っていません。
    > 併合する場合は自動では入ってこないのでしょうか。

    実際に確かめてみましたが、併合の場合には入ってきませんね。

    [表引き条件]というのは、手入力の場合に実行されます。

    しかし、併合元表に項目[取コード] が有っても、[併合:置換挿入]では[表引き条件]は実行されませんね。

    これは仕方ないですね。ガハハハハ。

     ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

    当初の質問を読んで、私は( ONnoji )は手入力しているのだと考えていたのです。

    しかし、例えば

    受注テキストファイル → [読み込み:テキスト]→ 併合元の表 →[併合:置換挿入]→ T受注(トランズ).TBX

    という作業の流れなんですねぇ〜。

    それならば、もうひと手間かければOKですよ。

    すなわち、新規受注データを併合すると、T受注(トランズ).TBX の項目[取引先名]は空欄ですね。

    そこで、

    1.[取引先名]の値が #未定義 のレコード(行)を絞り込み

    2.[置換:項目置換]で #表引き( [取コード], =, "M取引先(マスター).tbx", [取コード], [取引先名] ) で実行

    3.絞り込みを解除

    でOKでしょ。

    おそらく、[併合:置換挿入]は一括処理で行っているのでしょう???。

    だったら、[併合:置換挿入]の後に、

    [絞り込み]  コマンド
    [置換]    コマンド
    [絞り込み解除]コマンド

    を付け足せばOKでしょ。

    コマンドの具体的な書き方は、[桐 - ヘルプ]を参照してください。

    なお、以下の(p.p.s.)に別法のヒントがあります。

    p.s.

    最初の質問において、項目計算式を使用していることは判りましたが、

    まさか、[併合:置換挿入]でデータを追加しているとは思いませんでした。

    まさしく「そういうのは、早く言ってよぉ〜〜〜〜〜〜(T_T)」です。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    今後質問される場合には、NG(駄目)な結果の他に、それに至る手順や経過も書いてください。(−−〆)

    そうでないと、二度手間・三度手間になりかねませんから。(ーー;)--------------> ※遠い目線

    p.p.s.

    便利な #表引き( ) 関数ですが、大事な表(.tbx)の項目計算式で使うのは避けるのが無難です。

    ただし、例外もあります。 ※再計算しても「ギャッ」と言わないで済む表ならばという意味での例外です
        ・・・・・・・
    受注テキストファイル → [読み込み:テキスト]→ 併合元の表
                              ↑
          この表に項目名[取引先名]を追加して、項目計算式に#表引き( ) 関数を使うのはOKです。

    何故ならば、毎回新しい受注レコード(行)を作成しているのですから、再計算の弊害はありません。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    このように、作業用の表(.tbx)や、一時的な表(.tbx)では、項目計算式で#表引き( ) 関数を使うのはOKなんですゾッ。
          ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    それでは、グッドラック (@^^)/~~~
引用返信 [メール受信/OFF] 削除キー/
■14902 / inTopicNo.10)  Re[4]: 表引きについて
□投稿者/ キリマンジャロ -(2025/03/26(Wed) 08:49:39)
    ONnojiさんありがとうございます。
    また、また質問になってしまいます。

    > 実際に確かめてみましたが、併合の場合には入ってきませんね。
    > これは仕方ないですね。ガハハハハ。
    >
    > しかし、例えば
    > 受注テキストファイル → [読み込み:テキスト]→ 併合元の表 →[併合:置換挿入]→ T受注(トランズ).TBX
    > すなわち、新規受注データを併合すると、T受注(トランズ).TBX の項目[取引先名]は空欄ですね。
    > 1.[取引先名]の値が #未定義 のレコード(行)を絞り込み
    >
    > 2.[置換:項目置換]で #表引き( [取コード], =, "M取引先(マスター).tbx", [取コード], [取引先名] ) で実行
    >
    > 3.絞り込みを解除
    >
    > でOKでしょ。
    >
    > おそらく、[併合:置換挿入]は一括処理で行っているのでしょう???。
    >
    > だったら、[併合:置換挿入]の後に、
    >
    > [絞り込み]  コマンド
    > [置換]    コマンド
    > [絞り込み解除]コマンド
    >
    > を付け足せばOKでしょ。

    丁寧なご返信ありがとうございます。一括処理で行っている表もあるのでぜひ参考にさせて頂きます。
    ただ、今回の表の処理は道具箱を使い併合の置換挿入を行っています。
    なので、置換挿入で取コードが入った時にデータが入って欲しいと考えています。
    システム的に無理なのでしょうか・・・

    また、今回教えて頂いた索引での表引きと「編集初期値式」での表引きは結果が類似していたので使い分けとしてはどの様なやり方か気になりました。('_')
    > 最初の質問において、項目計算式を使用していることは判りましたが、
    >
    > まさか、[併合:置換挿入]でデータを追加しているとは思いませんでした。
    >
    > まさしく「そういうのは、早く言ってよぉ〜〜〜〜〜〜(T_T)」です。
    >
    > 今後質問される場合には、NG(駄目)な結果の他に、それに至る手順や経過も書いてください。(−−〆)
    >
    > そうでないと、二度手間・三度手間になりかねませんから。(ーー;)--------------> ※遠い目線

    確かにそうですね。受注などデータを手入力する所で活用させていただきます。
    次回からきをつけます(^^♪

    > このように、作業用の表(.tbx)や、一時的な表(.tbx)では、項目計算式で#表引き( ) 関数を使うのはOKなんですゾッ。

    肝に銘じます!

引用返信 [メール受信/OFF] 削除キー/
■14903 / inTopicNo.11)  Re[5]: 表引きについて
□投稿者/ ONnoji -(2025/03/26(Wed) 10:54:00)
    2025/03/26(Wed) 19:00:38 編集(投稿者)
    2025/03/26(Wed) 10:59:01 編集(投稿者)

    > ただ、今回の表の処理は道具箱を使い併合の置換挿入を行っています。
    > なので、置換挿入で取コードが入った時にデータが入って欲しいと考えています。
    > システム的に無理なのでしょうか・・・

    まず最初に、今回のファイル名に同じものがあるので、必ず前回の添付ファイルで解凍したファイルはすべて削除してください。
          ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    添付ファイルを解凍すると次の5個のファイルがあります。

    test_M取引先(マスター).tbx
    test_T受注(トランズ).TBX
    test_併合元.tbx
    受注データ.csv
    受注データ.txt

     ◇ ◇ ◇ ◇ ◇ ◇

    今回の手順は、

    1.test_併合元.tbx を開いて、[道具箱]の読み込み条件を実行する ※テキスト と CSV のどちらでもOK

    2.test_T受注(トランズ).TBX を開いて、[道具箱]の併合条件を実行する

    これで出来上がりです。OK

    内容は以下の通りです。

    ■ test_併合元.tbx

    項目番号 項目名  データ型 項目計算式
    1     受注名  文字列 
    2     取コード  文字列 
    3     取引先名 文字列  #表引き( [取コード], =, "test_M取引先(マスター).tbx", [取コード], [取引先名] )
    4     登録日  文字列  #日付( #DATE, 1 )

    道具箱
       
     読み込み条件:テキスト 受注データ.txt 
     読み込み条件:CSV 受注データ.csv

    ■ test_T受注(トランズ).TBX

    項目番号 項目名  データ型
    1     受注名  文字列
    2     取コード  文字列
    3     取引先名 文字列
    4     登録日  文字列
      
    道具箱

     併合条件 挿入置換:[受注名][取コード][取引先名]

    p.s.

    いつものように、添付ファイルは数日を目途に削除します。

    p.p.s.

    なお、本日当方は外出しますので新たな質問に対しては、返答は明日にになります。


    p.p.p.s.

    老婆心ながら申し上げますが・・・

    > ただ、今回の表の処理は道具箱を使い併合の置換挿入を行っています。
    > なので、置換挿入で取コードが入った時にデータが入って欲しいと考えています。
    > システム的に無理なのでしょうか・・・

    貴殿がそうなって欲しいと希望しても、出来ないことだってあるわけです。 ※当方は実際に確かめて回答しているのです。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    ということで、もしも「壁に当たって進めなくなった時には、無理に壁を乗り越えよう」と思わない事です。

    それよりも、別の方法を考えましょう。

    それが、正しいやり方ですよ。

    つまり、「無理やり壁を乗り越えようとしない」で、別の通り道を探せばよいのです。

    「初級者は、思った通りの事が出来ないと何とかしようと考えます」が、それではドツボにハマってドッピンシャンですゾッ。

引用返信 [メール受信/OFF] 削除キー/
■14906 / inTopicNo.12)  Re[6]: 表引きについて
□投稿者/ キリマンジャロ -(2025/03/27(Thu) 08:37:39)
    ONnojiさんありがとうございます。


    > 添付ファイルを解凍すると次の5個のファイルがあります。

    拝見させて頂きました。ワンクッション置くのが今回の最善だと考えなおしました。

    > 老婆心ながら申し上げますが・・・
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・
    > ということで、もしも「壁に当たって進めなくなった時には、無理に壁を乗り越えよう」と思わない事です。
    >
    > それよりも、別の方法を考えましょう。
    >
    > それが、正しいやり方ですよ。
    >
    > つまり、「無理やり壁を乗り越えようとしない」で、別の通り道を探せばよいのです。
    >
    > 「初級者は、思った通りの事が出来ないと何とかしようと考えます」が、それではドツボにハマってドッピンシャンですゾッ。

    作業手順などが変わるのが嫌で意地になってしまっていた様な気がします。
    柔軟に現状を受け止めることが大事だと感じました。ありがとうございました。
解決済み!
引用返信 [メール受信/OFF] 削除キー/
■14907 / inTopicNo.13)  Re[7]: 表引きについて
□投稿者/ ONnoji -(2025/03/27(Thu) 16:37:51)
    2025/03/27(Thu) 16:47:18 編集(投稿者)

    > 最初の質問において、項目計算式を使用していることは判りましたが、
    > まさか、[併合:置換挿入]でデータを追加しているとは思いませんでした。

    ↑これについて、いくつかの感想を述べさせていただきます。(^^ゞ

    外部データから取引(トランザクション)データを追加する場合、

    ・行を追加する
    ・行を挿入する

    になりますね。

    この場合、(索引の有り無しは置いておいて)、終端行からレコード(行)を挿入したいですよね。

    ちなみに、終端行からレコード(行)を挿入する事は、終端行からレコード(行)を追加する事と同じ意味です。

    行を追加(挿入)する → [読み込み 表 / CSV / テキスト]

    さて、行を追加(挿入)する → [併合:挿入置換]で行う場合はどうだろうか??

    これを考える上では、[桐 - ヘルプ]を読んでみると良い。

      [桐 - ヘルプ]→[メニューリファレンス]→[ファイル]→[表編集・フォーム編集]→[併合]

        リボン [データ]タブ→[ファイル]グループ
        メニューバー [ファイル]メニュー
        [解説][設定項目]
          ↑
        この項をクリック
        https://www.kthree.co.jp/kihelp/index.html?page=menu/mtMerge1&type=html

        別の表のデータを編集対象表にまとめます。
        ・・・・・・・・・・・・・・・・・・・
        ふたつの表のレコードを関連づけて、1件のレコードにまとめる点が、読み込みや書き出しとは異なります。
        ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
        たとえば、ふたつの表の電話番号を照らし合わせて、「住所録.tbx」にしかないレコードを「顧客台帳.tbx」に追加したり、
       「顧客台帳.tbx」の住所を「住所録.tbx」の住所に置き換えたりするときに使用します。
       「支店.tbx」の当月売上に「売上.tbx」の金額を加算したり、「商品.tbx」の在庫数を「売上.tbx」の販売数で減算したりすることもできます。

     ◇ ◇ ◇

    特に、「ふたつの表のレコードを関連づけて、1件のレコードにまとめる点が、読み込みや書き出しとは異なります。」がポイントですね。
       ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    つまり、ふたつの表(.tbx)の照合項目で一致した場合、1件のレコードにまとめるということです。

    普通の場合、1件のレコードにまとめるとは以下の[操作]、
    ・・・・・

     複写 現在表の値を元表の値で置き換えます。
     複写2 元表の値が未定義でなければ、元表の値で置き換えます。
     連結 現在表の値の末尾に元表の値を繋げます。
     加算 現在表の値に元表の値を加えます。
     減算 現在表の値から元表の値を引きます。
     乗算 現在表の値に元表の値を掛けます。
     除算 現在表の値を元表の値で割ります。

    のことですね。

    ところが、 [併合の方法]には、

     置換   併合元表の値に置き換えます。

     挿入   編集対象表にないレコードを挿入します。
     置換挿入 置換と挿入の両方を行ないます。

     削除   併合元表と一致するレコードを削除します。

     絞り込み 併合元表と一致するレコードを絞り込みます。

    という、レコード操作があります。

    特に[挿入]と[置換挿入]の場合には、「編集対象表にないレコードを挿入します」ということですから、表に新しいレコード(行)を追加できます。

    このように、照合して一致しなければ、レコード(行)を追加(挿入)という目的であればよさそうですけれど・・・
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

     ◇ ◇ ◇

    さて、以上[読み込み]と[併合:置換挿入]を吟味したワケですが・・・

    それは何故かと言いますと、通常の場合、新しいレコード(行)を追加する場合には、[読み込み]を使うのが普通だからです。

    つまり、新しく追加されなければならないレコード(行)なので、照合する必要がないからです。
        ・・・・・・・・・・・・・・・・・・・

    ということで、

    > 最初の質問において、項目計算式を使用していることは判りましたが、
    > まさか、[併合:置換挿入]でデータを追加しているとは思いませんでした。

    ↑冒頭のこれになったワケです。

    もちろん、すべて承知のうえで[併合:置換挿入]を選んだのであればOKなのです。

    なぜならば、データの操作方法は個人それぞれの自由だからです。

    しかし、元々[読み込み]で済むのにもかかわらず、[併合:置換挿入]を選んでしまった可能性もありますね。
        ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    今回、↑この点が非常に気になったので、長々と説明させていただいた次第です。

    p.s.

    エクセルのような表計算では、挿入という操作が多いと思います。

    しかし、桐データベースでは、読み込みという操作の方が多いです。

    表(.tbx)がエクセルのシートに似て見えたとしても、それぞれ違う性質のソフトウェアですので、それぞれのやり方が違う事の方が多いです。

    今後、桐で何かしようと思った時に、桐としての最初の一歩が分らない場合には、この掲示板で問い合わせてみてください。
                     ・・・・・・・・・・・・・・・・・

    もちろん、すべてを詳しく手ほどきするワケにはいきませんが、「これ」を使ったら良いのでは?という意見ならすぐに得られますよ。
                                 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    なにしろ、この掲示板には桐の操作に関しては何十年ものベテランが揃っていますからね。(^^ok

    それでは、グッドラック (@^^)/~~~

    ご清聴アリガd。m(__)m

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



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

Mode/  Pass/

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

- Child Tree -
- Antispam Version -