初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2016-11-16 18:34:21

まる
Member

3つのテーブルを利用した動的値一覧について

OS:[Windows10] FileMaker Ver:[FM12 Advance]

いつもお世話になっております。
3つのテーブルを利用した動的値一覧の設定方法について、質問させていただきます。

<テーブル>
『顧客情報』
項目:社名など(他省略)、業種分類大、業種分類中、業種分類小

『業種分類大マスタ』
項目:業種分類大コード、業種分類大名称、表示用(業種分類大コード&名称)

『業種分類中マスタ』
項目:業種分類大コード、業種分類中コード、業種分類中名称、表示用(業種分類中コード&&名称)

『業種分類小マスタ』
項目:業種分類大コード、業種分類中コード、業種分類小コード、業種分類小名称(業種分類小コード&名称)


<リレーションの設定>
顧客情報:業種分類大=業種分類大マスタ:表示用

業種分類大マスタ:業種分類大コード=業種分類中マスタ:業種分類大コード

業種分類中マスタ:業種分類大コード=業種分類小マスタ:業種分類大コード
業種分類中マスタ:業種分類中コード=業種分類小マスタ=業種分類小コード


<『顧客情報』の値一覧の設定>
[業種分類大]フィールド
  フィールドの値を使用:「業種分類大マスタ::表示用」、最初のフィールド値を使用(業種分類大マスタ::表示用)、すべての値を含める

[業種分類中]フィールド
  フィールドの値を使用:「業種分類中マスタ::表示用」、最初のフィールド値を使用(業種分類中マスタ::表示用)、次のテーブルから関連レコードの値のみ含める(業種分類大マスタ)

[業種分類中]フィールド
  フィールドの値を使用:「業種分類小マスタ::表示用」、最初のフィールド値を使用(業種分類小マスタ::表示用)、次のテーブルから関連レコードの値のみ含める(業種分類中マスタ)

今回は『顧客情報』のテーブルにプルダウンを利用して業種分類を登録するのが目的です。

希望としては、「業種分類大を選択-(絞込)→業種分類中を選択-(絞込)→業種分類性を選択」としたいのですが、
業種分類大を選択すると、業種分類中を選択しなくても業種分類小まで選択されてしまいます。
参考画像:161116_01

分類の大きい方から徐々に絞り込んでいく方法を助言いただけますでしょうか。
よろしくお願いいたします。

Last edited by まる (2016-11-17 10:41:25)

Offline

#2 2016-11-16 21:56:30

シャチ
Member

Re: 3つのテーブルを利用した動的値一覧について

まる wrote:

今回は『顧客情報』のテーブルにプルダウンを利用して業種分類を登録するのが目的です。

希望としては、「業種分類大を選択-(絞込)→業種分類中を選択-(絞込)→業種分類性を選択」としたいのですが、
業種分類大を選択すると、業種分類中を選択しなくても業種分類小まで選択されてしまいます。
参考画像:http://s1.gazo.cc/up/220632.png

分類の大きい方から徐々に絞り込んでいく方法を助言いただけますでしょうか。
よろしくお願いいたします。

この部分 私には理解が遠いので
少し具体的にしてもらえるとありがたいですが

Offline

#3 2016-11-17 08:59:53

チポ
Member

Re: 3つのテーブルを利用した動的値一覧について

業種分類小マスタ
のみでいいでしょう。
大、中マスタは不要です。


リレーションは顧客情報と小マスタのみで設定します

分類大は
普通の静的な値一覧

分類中は
分類大のリレーションの動的値一覧

分類小は
  分類大
  and
  分類中
のリレーションの動的値一覧

で出来ますね。

この二つのリレーションの設定は、
リレーションシップグラフで、
顧客情報はデフォルトを使い、
分類小をコピーして二つにします。


また、
値一覧は第2フィールドの表示ができますから、
表示用のフィールドは不要ですよ。

Offline

#4 2016-11-17 09:16:23

まる
Member

Re: 3つのテーブルを利用した動的値一覧について

シャチさま

さっそくコメントいただき、ありがとうございます。
参考画像がうまく貼れていなかったようで、申し訳ありません。


業種分類大マスタ
┌──────┬──────
│大分類コード│大分類名称
├──────┼──────
│1     │農業、林業
└──────┴──────

業種分類中マスタ
┌──────┬──────┬──────
│大分類コード│中分類コード│中分類名称
├──────┼──────┼──────
│1     │1     │農業
├──────┼──────┼──────
│1     │2     │林業
└──────┴──────┴──────

業種分類小マスタ
┌──────┬──────┬──────┬──────
│大分類コード│中分類コード│小分類コード│小分類名称
├──────┼──────┼──────┼──────
│1     │1     │1     │耕種農業
├──────┼──────┼──────┼──────
│1     │1     │2     │畜産農業
├──────┼──────┼──────┼──────
│1     │1     │3     │農業サービス業(園芸サービス業を除く)
├──────┼──────┼──────┼──────
│1     │1     │4     │園芸サービス業
├──────┼──────┼──────┼──────
│1     │2     │1     │育林業
├──────┼──────┼──────┼──────
│1     │2     │2     │素材生産業
├──────┼──────┼──────┼──────
│1     │2     │3     │特用林産物生産業(きのこ類の栽培を除く)
├──────┼──────┼──────┼──────
│1     │2     │4     │林業サービス業
├──────┼──────┼──────┼──────
│1     │2     │5     │その他の林業
├──────┼──────┼──────┼──────

各マスタに上記のようにデータを持っております。

1.顧客情報のレイアウトで業種分類大(1.農業)を選択→業種分類中が表示される(1-1.農業or1-2.林業)
2.業種分類中(1-2.林業)を選択→業種分類小(1-2-1.育林業~1-2-5.その他林業の中から選択)としたいのですが、

現状では『1.顧客情報のレイアウトで業種分類大(農業)を選択』した時点で、業種分類中を選択しなくても、
業種分類小のプルダウン項目に1-1-1.耕種農業~1-1-4.園芸サービス業が表示されてしまいます。
また、その状態で『業種分類中(1-2.林業)を選択』しても、業種分類小の選択肢が変わりません。

ちなみに、業種分類中のところまではうまく絞り込みができており、大分類のところでコード2のものを選べば、
中分類のところは大分類コードが2のもので絞り込まれてプルダウン項目として表示されています。

拙い説明で恐縮ですが、状況がご協力のほどよろしくお願い致します。

Offline

#5 2016-11-17 11:27:59

まる
Member

Re: 3つのテーブルを利用した動的値一覧について

チポさま

ご返信いただきありがとうございます。

最初の投稿に不足がありましたので、追記しました。
顧客情報と業種分類大でリレーションを組んでいます。

チポ wrote:

業種分類小マスタ
のみでいいでしょう。
大、中マスタは不要です。

すみません、「不要」というのは、テーブルとして必要ないということでしょうか?

チポ wrote:

リレーションは顧客情報と小マスタのみで設定します

分類大は
普通の静的な値一覧

分類中は
分類大のリレーションの動的値一覧

分類小は
  分類大
  and
  分類中
のリレーションの動的値一覧

で出来ますね。

この二つのリレーションの設定は、
リレーションシップグラフで、
顧客情報はデフォルトを使い、
分類小をコピーして二つにします。

『顧客情報:業種分類大=業種分類大マスタ:表示用』を削除し、
『顧客情報:業種分類小=業種分類小マスタ2:表示用』を追加しましたが、
うまく動作しませんでした。

業種分類大マスタ:業種分類大コード=業種分類中マスタ:業種分類大コード
業種分類中マスタ:業種分類大コード=業種分類小マスタ:業種分類大コード
業種分類中マスタ:業種分類中コード=業種分類小マスタ=業種分類小コード
はそのまま残しています。


チポ wrote:

また、
値一覧は第2フィールドの表示ができますから、
表示用のフィールドは不要ですよ。

最初のフィールド→コード、2番めのフィールド→名称にして設定したところ、
プルダウン選択後に『顧客情報』のテーブルにコードしか表示されなかったので、表示用のフィールドを作成しました。
最終的に、このファイルメーカーで作成したデータを別のシステムに取り込まなければならず、
顧客情報のテーブルに分類コードの保持が必要ですが、使用するにあたり名称が表示されていないと使いにくいので
表示用を作りました。
今の方法だとエクセルか何かでデータの修正が必要ですが、あまりフィールドを増やしても
私の知識で対応できそうにないので『表示用』フィールドの作成に落ち着きました。
他に良い方法があれば、あわせてご教示いただけますと幸いです。

Offline

#6 2016-11-17 11:39:39

シャチ
Member

Re: 3つのテーブルを利用した動的値一覧について

まる wrote:

ちなみに、業種分類中のところまではうまく絞り込みができており、大分類のところでコード2のものを選べば、
中分類のところは大分類コードが2のもので絞り込まれてプルダウン項目として表示されています。

書かれているのは、マスターばかりで、肝心なデータがどう入力されているのかわからないですね。
まさかマスターのでエータだけで絞り込みってことではないと思うので、
実データをマスターを使ってどう表現したいのか
ということではないのだおるか?

どうにも、やりたいことが よくわからんです。

Offline

#7 2016-11-17 11:49:41

チポ
Member

Re: 3つのテーブルを利用した動的値一覧について

> 「不要」というのは、テーブルとして必要ないということでしょう
ここでは不要です。

全体的に見ても、例えば、
分類大ごとに管理するとかがなければ分類大テーブルの存在理由がなくなりますね。


> 『顧客情報:業種分類小=業種分類小マスタ2:表示用』を追加しましたが、
私は、こうは書いていませんよ。


> 最初のフィールド→コード、2番めのフィールド→名称にして設定したところ、
プルダウン選択後に『顧客情報』のテーブルにコードしか表示されなかったので、表示用のフィールドを作成しました

コードと名称の一覧から選択でコードを入力、
名称をルックアップ入力。

これが一般的でしょう。

Offline

#8 2016-11-17 12:54:07

シャチ
Member

Re: 3つのテーブルを利用した動的値一覧について

こういうことをされたいのか?
というたたき台サンプルを
http://yahoo.jp/box/DECeHWJ
においときました。
3つのテーブルのフィールド値を使った
値一覧です。

Offline

#9 2016-11-17 14:38:33

まる
Member

Re: 3つのテーブルを利用した動的値一覧について

シャチさま

たびたびありがとうございます。

最終的には、顧客情報テーブルをエクセルか何かに書き出して、
追加された大・中・小の業種コードのみを、別のシステムに取り込むことが目的です。
(別システムと連動させるための顧客コードはファイルメーカーに入力済みです)

顧客情報に業種を登録する際に、最終的にデータを取り込む先のシステムの業種分類マスタを利用したく、
マスタデータをファイルメーカーにテーブルごとに取り込みました。

サンプルも作成していただきありがとうございました。
まさに、いただいたサンプルのようなことがしたかったです。

サンプルの入力用のレイアウトでしていることを、顧客情報のレイアウト上で行いたいです。
かつ、サンプルの状態だと表示用フィールドの意味が無いので、
顧客情報のテーブルの各業種分類項目には『表示用』で作っている「コード&名称」を表示したいのです。

私の目的としては、各企業情報に業種分類のコードが登録されていれば良いのですが、
実際に登録作業を行ったりするのは別の者になりますので、なるべくわかりやすく業種を選択できる方法を模索しています。

サンプルを参考に、修正してみます。

Offline

#10 2016-11-17 15:23:35

まる
Member

Re: 3つのテーブルを利用した動的値一覧について

チポさま

たびたびありがとうございます。

>全体的に見ても、例えば、
>分類大ごとに管理するとかがなければ分類大テーブルの存在理由がなくなりますね。
業種分類マスタについては、他のシステムからの転用になりますので、
できれば今の形で利用したいと考えております。


>> 『顧客情報:業種分類小=業種分類小マスタ2:表示用』を追加しましたが、
>私は、こうは書いていませんよ。
「リレーションは顧客情報と小マスタのみで設定します」とあったので、
顧客情報と小マスタのリレーションが必要なのかと思いました。すみません。
リレーションについては、シャチさまにいただいたサンプルも参考にしながら組み直してみます。


>> 最初のフィールド→コード、2番めのフィールド→名称にして設定したところ、
>プルダウン選択後に『顧客情報』のテーブルにコードしか表示されなかったので、表示用のフィールドを作成しました
>コードと名称の一覧から選択でコードを入力、
>名称をルックアップ入力。
>
>これが一般的でしょう。
顧客情報テーブルで業種分類のコードと名称を両方保持したいので、
分類コードフィールドを設けたほうが良さそうな感じがしました。
アドバイス頂き、ありがとうございます。
フィールドの追加も含めて再検討いたします。

Offline

#11 2016-11-17 15:54:52

Shin
Member

Re: 3つのテーブルを利用した動的値一覧について

コードのマスターは、1テーブルで十分でしょう。その方が、階層が異なる区分が出てくる場合を考えると有利かもしれません。
https://www.dropbox.com/s/gutc265xodbud … 2.zip?dl=0

コードが、大中小区分を含んでいるので、大区分、中区分を保存しておく必要がないでしょうから、実務用の構造はもっと単純に出来ます。

Offline

#12 2016-11-17 17:08:55

チポ
Member

Re: 3つのテーブルを利用した動的値一覧について

サンプルのアップが有るので今更の間が有りますが。。

> 業種分類マスタについては、他のシステムからの転用になりますので、
できれば今の形で利用したいと考えております

置いておいて使わないことも出来ますよね ^^;;


> 「リレーションは顧客情報と小マスタのみで設定します」とあったので、
> 顧客情報と小マスタのリレーションが必要なのかと

そうですよ、
しかし照合フィールドが間違っています。


> 顧客情報テーブルで業種分類のコードと名称を両方保持したいので、
> 分類コードフィールドを設けたほうが良さそうな感じがしました

私は、
コードと、名称のフィールドだけでいい、
連結した表示用フィールドが不要
と書きました。

Offline

#13 2016-11-18 09:34:16

Shin
Member

Re: 3つのテーブルを利用した動的値一覧について

マスターをそのままの形で置いておく事は全く支障ありません。それを、こちらの使い勝手の良いように加工するのが、良い設計です。
サンプルでは、コードマスターを1テーブルへ集約し、コード体系を1系統的な物へ変更しています。桁数がもっと必要でしたら、それに合わせて長くしていけば良いです。

Last edited by Shin (2016-11-18 10:20:53)

Offline

#14 2016-11-18 15:47:24

まる
Member

Re: 3つのテーブルを利用した動的値一覧について

皆様、アドバイス頂きありがとうございます。
只今別の業務で立て込んでおり、本件に関して手を付けることができません。

週明けからまた取り組みたいと思います。
取り急ぎ、お礼まで。

Offline

#15 2016-11-21 19:00:22

まる
Member

Re: 3つのテーブルを利用した動的値一覧について

シャチさま・チポさま・Shinさま
本件、皆様に頂いたアドバイスとサンプルのおかげで、どうにか実装することができました。
色々と端折ろうとしたり変な思い込みをしていたのができない原因だったようです。

チポさまの、
> 連結した表示用フィールドが不要
というところも、冷静に考えれば意味がわかりました…。

本当にありがとうございました。
こちらで解決済みとさせていただきます。

Offline

Registered users online in this topic: 0, guests: 2
[Bot] ClaudeBot (2)

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 8 queries executed - Memory usage: 574.49 KiB (Peak: 611.4 KiB) ]