過去の桐井戸端BBS (桐ver.9)
21769 ある表の下に項目が全く同じ別の表のレコードを追加して結合表を作りたい 桐初心者 2003/08/04-15:44
どうも、桐初心者です。

結合表作成で困ったことが起きました。

まず、A.tblとB.tblがあります。
結合表を作成する際に、A.tblの後ろにB.tblのレコードを追加したいのですが、どうしたらいいのでしょうか?
A.tbl、B.tbl共に項目は同じです。

<A.tbl>
[名前][住所][電話番号]

の後ろに、

<B.tbl>
[名前][住所][電話番号]

を追加し、AB.viwを作成したいと思います。

ご教授のほう、よろしくお願いします。
21771 Re:結合表でレコードの追加 悲しげ 2003/08/04-19:50
記事番号21769へのコメント
どもっ、桐初心者さん

><A.tbl>
>[名前][住所][電話番号]
>
>の後ろに、
>
><B.tbl>
>[名前][住所][電話番号]
>
>を追加し、AB.viwを作成したいと思います。

これは「結合」ではなく、単なる「読み込み」でいいんじゃないかと思えるのですが?

21772 Re:結合表でレコードの追加 うにん 2003/08/04-23:11
記事番号21771へのコメント
>><A.tbl>
>>[名前][住所][電話番号]
>>
>>の後ろに、
>>
>><B.tbl>
>>[名前][住所][電話番号]
>>
>>を追加し、AB.viwを作成したいと思います。
>
>これは「結合」ではなく、単なる「読み込み」でいいんじゃ
>ないかと思えるのですが?

まったくその通りだと思います。
AやBが変わるのがいやなら、AをCにコピーしてからBを読みこめば。

無理やり結合表でやると、
A.VIW
A.tbl (すべて)
計算項目1 1

B.VIW
B.tbl (すべて)
計算項目2 2

とかやっておいて、
AB.VIW
A.VIWとB.VIWを計算項目1と計算項目2で結合(all-all)
名前 #NVL(["A.tbl".名前],["B.tbl".名前])
住所 #NVL(["A.tbl".住所],["B.tbl".住所])
電話番号 #NVL(["A.tbl".電話番号],["B.tbl".電話番号])

とやるとできます。

21775 Re:結合表でレコードの追加 桐初心者 2003/08/05-10:57
記事番号21772へのコメント
悲しげさん、うにんさん、ありがとうございます。
おかげでできました。
21779 また読み込みのことで 桐初心者 2003/08/06-16:43
どうも、桐初心者です。

先日、結合表の質問をしました。
その問いについて、うにんさん、悲しげさんより回答をいただき、その方法で解決
することができました。

が、また新たな問題が出てきました。
先日の質問は、2つの表から結合表を作成するものでしたが、今回はそのグレードアップで
3つ以上の表からまた同じものを作るということをやっております。
そこで、申し訳ないですが、また回答をいただきたいと思っております。

今回挑戦しているのは、表の内容は前回のものとまったく同じですが、表が3つ以上あります。
もう一度、表の内容を記しておきます。

<A.tbl><B.tbl><C.tbl>・・・
[名前]、[住所]、[電話番号]

から、ALL.viwを作成中です。

<ALL.tbl>
[名前]、[住所]、[電話番号]

2つの時と同じようにいくかと思っていたのですが、<C.tbl>以降の内容が3レコードずつ表示されてしまいます。

ご教授のほう、よろしくお願いします。m(_ _)m
21781 Re:また読み込みのことで 悲しげ 2003/08/06-17:54
記事番号21779へのコメント
どもっ、桐初心者さん

>その問いについて、うにんさん、悲しげさんより回答をいただき、
>その方法で解決することができました。

私が答えたのは結合表(viw)を使わない方法ですから、
viwを使う方法で解決した場合の「その方法」に私の名を冠することは正しくありません。(^^;)
と云う訳で、前回書いたのは「結合表を使わないで単なる読み込みでやる方が超簡単ですよ〜」と云うことだったのですが、
どうも趣旨が通じていなかったので再度書きます。

1)a.tblをall.tblとして複写する。
2)all.tblを開く。
 (必要があれば、カーソルを終端行に持って行って)
3)all.tblにb.tblを読み込む。
 (読み込むに際しては両表の項目名を合わせる)
4)all.tblに今度はc.tblを読み込む。

表がd.tbl、e.tbl、f.tbl・・・・と続いても同様。

どうです、簡単でしょう?
「無理やり結合表で」((C)うにん)もできるとしても、
このことを結合表でやるのは、山手線で新宿から渋谷に行く時に敢えて逆回り(池袋方向)に乗るような感じです。

ps
タイトルのことですが、
「結合」を「読み込み」とはふつう云いません。(^^;)

21785 Re:また読み込みのことで うにん 2003/08/06-21:31
記事番号21781へのコメント
>>その方法で解決することができました。

どの方法なのか心配していましたが(^^;

>私が答えたのは結合表(viw)を使わない方法ですから、viwを使う
>方法で解決した場合の「その方法」に私の名を冠することは正しく
>ありません。(^^;)

>表がd.tbl、e.tbl、f.tbl・・・・と続いても同様。
>
>どうです、簡単でしょう?

結合でも、同様にall-allで表を追加して計算式を
#NVL(#NVL(["A.tbl".A],["B.tbl".A]),["C.tbl".A])
こんな感じでできると思うんですが。(3表までやってみました)

>「無理やり結合表で」((C)うにん)もできるとしても、このことを
>結合表でやるのは、山手線で新宿から渋谷に行く時に敢えて逆回り
>(池袋方向)に乗るような感じです。

読込なら「同じ操作の繰り返し」でできますが、結合だとだんだん計算式が複雑になります。
いきなりALL.VIWを作らずAB.viwとC.viwを結合してABC.VIW〜
という風にやれば同じ長さの式でできますが。。。

いずれにしろ、結合を今回のケースで使用するのはマニア向けなので、
自力でできるんでない限り読み込みでやるのがいいでしょう(^^;

読み込みを何度もする必要があるなら、この結合方法をマスターするよりは
履歴ないしは一括処理を覚えるのが先かと。

21791 Re:また読み込みのことで 悲しげ 2003/08/07-11:24
記事番号21785へのコメント
>「無理やり結合表で」((C)うにん)もできるとしても、このことを

の言い方は、何だかちょいと尖った印象(^^;)を与えかねないので

>うにんさんも「無理やり結合表で」と仰ったように、このことを

に微訂正しておきます。(^^;)
21844 Re:また読み込みのことで 桐初心者 2003/08/11-09:37
記事番号21779へのコメント
遅れてしまいましたが、悲しげさん、うにんさん回答ありがとうございます。

>悲しげさん
コピペに似たようなやり方でしょうか?(むしろ、コピペ?)

>うにんさん
今回は、なかなか結果が反映されませんでした。(やり方が悪いのかなぁ。)
21847 Re:また読み込みのことで 悲しげ 2003/08/11-12:04
記事番号21844へのコメント
どもっ、桐初心者さん

>コピペに似たようなやり方でしょうか?(むしろ、コピペ?)

「コピペ」とは全く違います。(^^;)
桐の機能としての「読み込み」のことです。
う〜ん、もしかして「読み込み」のことを知らないのでしょうか?
とすれば、やり方を書いておきます。

まずall.tblを(表編集で)開きます。
次に、下記のどれかの処理を行います。これが「読み込み」です。

a)上部ツールバーから
 ファイル/読み込み/表→読み込み表の指定→(以下略)
b)ファンクションキーメニューから
 C:F6「読込み」→表→(以下同上)
c)スラッシュメニューから
 2:ファイル処理→Y:読み込み→表→(以下同上)

「読み込み表の指定」のところで「実行時に表名を変更可能」にチェックを入れておいて、
読み込み条件として名前を付けて登録しておけば、
他表を連続読み込みする際に便利かと思います。
さらに云えば、「道具箱」や「履歴」なんかに登録しておくのも便利かと。

上記は既に承知しており、今回はあえて結合表でもって実験してみたいと
云うことであれば、このコメントは無視して下さい。

21848 「読み込み」のヘルプ 悲しげ 2003/08/11-12:55
記事番号21847へのコメント
上部のヘルプ/トピックの検索/キーワードで、
「読み込み」とタイプして「……表編集」の方を
指定すると、説明が出てきます。

21849 Re:また読み込みのことで 桐初心者 2003/08/11-13:10
記事番号21847へのコメント
悲しげさん、ありがとうございます。
確かにこちらのほうが早かったです。
変なことを聞いてすみませんでした。m(_ _)m

戻る