過去の桐井戸端BBS (桐ver.8)
16469 3つのファイルから結合表を作りたいのだがよくわからない grima 2002/06/27-04:35
いつも勉強させてもらっています。
結合について教えて頂けないでしょうか。
具体的には下のような3つのファイルから一番下の結合表を作りたいのです。

表1
ID1 学年1 山下
ID2 学年1 鈴木
ID3 学年2 佐藤
ID4 学年3 中田

表2
日付1 学年1 ああ
日付1 学年1 いい
日付1 学年2 うう
日付2 学年1 ええ

表3
日付1 ID1 山下 ○
日付1 ID2 鈴木 ×
日付2 ID1 山下 ×
日付2 ID2 鈴木 ○

結合表
ID1 学年1 山下 日付1 ああ ○
ID1 学年1 山下 日付1 いい ○
ID1 学年1 山下 日付2 ええ ×
ID2 学年1 鈴木 日付1 ああ ×
ID2 学年1 鈴木 日付1 いい ×
ID2 学年1 鈴木 日付2 ええ ○
ID3 学年2 佐藤 日付1 うう
ID4 学年3 中田

表1は名簿で個人それぞれにユニークなID番号がついています。
表2では日付と学年を指定してデータを入力していきます。
表3では日付とIDを指定して出欠のようなデータを入れます。

表1と表2を学年で結合してできるものが基本です。(表1をallで)
それに表3のデータをIDと日付が一致するデータを付け加えたいのです。
結合表では表引きも使えないようですし、頭が煮詰まってしまいました。
だいたい、結合のしくみがよくわかっていないもので...

印刷のための参照用ファイルなので実表の更新は考えません。
複雑な質問で申し訳ないのですが、よろしくお願いします。
16475 Re:結合表について うにん 2002/06/27-16:11
記事番号16469へのコメント

>表1と表2を学年で結合してできるものが基本です。(表1をallで)
>それに表3のデータをIDと日付が一致するデータを付け加えたいのです。

別の結合表を定義して、最初の結合表と表3の2つを結合すればいいはずです

ところがやってみると、なぜか最初の結合表で外部結合の結果NULL値になってる所に、値が入ってしまいます。
(直前値のように見える)バグかな??

16481 Re:結合表について ケント 2002/06/27-19:40
記事番号16475へのコメント
うにんさん こんにちは

>ところがやってみると、なぜか最初の結合表で外部結合の結果NULL値になって
>る所に、値が入ってしまいます。(直前値のように見える)

二つ目の結合表の再定義画面で並べ替え([ID])にチェックを入れたら私も同様になりました。
おかしいですね??

回避策としては、再定義で並べ替えはチェックしないで、結合表表示モードで並べ替えを
会話処理実行するとお望みのものになるみたいです。

16483 Re:結合表について うにん 2002/06/28-13:36
記事番号16481へのコメント
ケントさんこんにちは〜

>回避策としては、再定義で並べ替えはチェックしないで、結合表表示モードで並べ替
>えを会話処理実行するとお望みのものになるみたいです。

なるほど!
並べ替えで結果が違ってしまうということは、やっぱりバグのようですね。


16485 どうもありがとうございました grima 2002/06/28-23:16
記事番号16469へのコメント
うにんさんケントさんどうもありがとうございます。
なんとか希望通りの結合ができました。
表1と表2を結合した後 ("結合.viw"とします)
"A.viw"と表3を日付allで結合して
[ID1]に =#u と =["結合.viw",ID]の絞り込み条件を指定することでうまくいきました。

何度やってもうまくいかず、併合処理を使うしかないか・・・
と思っていましたが、お二人の助言でうまくいきました。
表を開くだけで済むので非常に手軽に済みました。
ドウもありがとうございました。

16486 Re:結合表について grima 2002/06/28-23:34
記事番号16481へのコメント
ケントさん、お世話になっています。

>二つ目の結合表の再定義画面で並べ替え([ID])にチェックを入れたら私も同様になり
>ました。おかしいですね??

こちらでは、IDの並べ替えを定義に入れると
”データファイルが壊れています。”
と言われてしまいました。
(表の定義やデータはこちらに提示した物と微妙に違いますが...)

まぁ、開いてから並び替えれば済むので問題はないのですが
なんだかよくわかりませんね。

戻る