過去の桐井戸端BBS (桐ver.9)
19782 1つのフォームに複数のテーブルを使えるのでしょうか 桐初心者 2003/04/08-10:14
親テーブルのリンクから子テーブルのいくつかの情報を引き出すというフォームを作っているのですが、
うまくいきません。
どなたか、作ったことのある方教えてください。(桐V9)
19783 Re:教えてください 桐初心者 2003/04/08-11:38
記事番号19782へのコメント
補足1です。(まだあるかもしれないので)
親テーブルは1つですが、子テーブルが複数あります。
例として、簡単な住所録の作成をしたいと思います。
まず、親テーブルをA.tblとして、子テーブルを a.tbl , b.tbl , c.tbl とします。
フォームは親テーブルがベースです。
仮に親テーブルの項目を[名前]、[ふりがな]、[性別]、子テーブルには3つの項目の他に[年齢]、[職業]、[住所]を設定したとします。
親テーブルの項目は必須ですが、そこに子テーブルの[年齢]、[職業]を追加したいと仮定します。
つまり、私が言いたいのは「1つのフォームに複数のテーブルを使えるのか」ということです。
(偉そうな言い方をしてすみません(^^;))
その追加の仕方がわからないので、どなたか作ったことのある方教えてください。
19784 Re:教えてください うにん 2003/04/08-12:53
記事番号19783へのコメント
>仮に親テーブルの項目を[名前]、[ふりがな]、[性別]、子テーブルには3つの項目の他に
>[年齢]、[職業]、[住所]を設定したとします。
>親テーブルの項目は必須ですが、そこに子テーブルの[年齢]、[職業]を追加したいと仮定
>します。
>つまり、私が言いたいのは「1つのフォームに複数のテーブルを使えるのか」

サブフォームでできるでしょうけど、親と子が1対1のデータですので、
結合表を作ってそれ1つを対象にしたフォームにした方が簡単では?
1対1の結合表なら、直接入力できますし。

19786 正規化もホドホドかも? 悲しげ 2003/04/08-13:38
記事番号19784へのコメント
>サブフォームでできるでしょうけど、親と子が1対1のデータですので、
>結合表を作ってそれ1つを対象にしたフォームにした方が簡単では?
>1対1の結合表なら、直接入力できますし。

うにんさんの仰ることに賛同します。
ただ、読んでいて思ったことは──

#19783
>親テーブルは1つですが、子テーブルが複数あります。
>例として、簡単な住所録の作成をしたいと思います。
>まず、親テーブルをA.tblとして、子テーブルを a.tbl , b.tbl , c.tbl とします。
>フォームは親テーブルがベースです。
>仮に親テーブルの項目を[名前]、[ふりがな]、[性別]、子テーブルには3つの項目の他に
>[年齢]、[職業]、[住所]を設定したとします。

確かにこの考え方は「正規化」としては全く正しいですが(^^;)、
項目としてこの程度のものであれば、桐の場合、あえてひとつの表に全項目を突っ込んでやった方が、
はるかに効率的な気がしてならなかったりする訳であり・・・・・(^^;)

19788 Re:正規化もホドホドかも? うにん 2003/04/08-14:44
記事番号19786へのコメント
確かに、
>項目としてこの程度のものであれば、桐の場合、あえてひとつの表
>に全項目を突っ込んでやった方が、はるかに効率的な気が
します。

ただ、この前項目が増えすぎて困っているという投稿があったばかりなので、その流れかと思いました。

1対1の結合表を使うより、全部1つの表にして、必要な項目だけ表示するフォームとか結合表を使うほうが、もっと簡単ですね。

19789 Re:正規化もホドホドかも? 桐初心者 2003/04/08-16:40
記事番号19788へのコメント
うにんさん、悲しげさんありがとうございます。
早速やってみます。
19831 Re:教えてください 佐田 守弘 2003/04/09-23:41
記事番号19783へのコメント
桐初心者さん
>仮に親テーブルの項目を[名前]、[ふりがな]、[性別]、子テーブルには3つの項目の他に
>[年齢]、[職業]、[住所]を設定したとします。

仮と書かれているので、例示なのだと思いますが、もしこの通りだとしたら、正規化する必要がないデータ群です。
なぜなら親テーブルと子テーブルの項目は、元来1つの表にまとまっていて良い内容のデータ項目だからです。

しかし、[家族名]あるいは[経歴]の様な1人に対して複数件あるデータ、ないしは、
例えば1つは故人の家庭内のデータ、もう1つは学校に関するデータという様に、
データの使用目的が異なる内容なら、分けた方が適切です。

佐田守弘(KS-00119)

戻る