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

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

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

You are not logged in.

Announcement

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


#1 2014-10-15 17:06:37

masahd
Guest

繰り返しフィールドのルックアップについて

MacOS10.9.4
FMP13 を使用しております

テーブル1 グループフィールド
テーブル2 名前フィールド、種類フィールド
テーブル3 グループフィールド、名前フィールド(繰り返し4)、種類フィールド(繰り返し4) があり

テーブル3 グループフィールド  =  テーブル1 グループフィールド
      名前フィールド   =  テーブル2 名前フィールド   でリレーションをはってあります



テーブル3の レコード内にある 名前フィールド(繰り返し4)にそれぞれ入力すると それぞれの 種類フィールド(繰り返し4)
にテーブル1の種類フィールドの値を ルックアップしたいのですが

これだけですと
テーブル3 の 種類フィールド(繰り返し4) タイプ数字 で オプションの 入力値の自動化 から ルックアップ で設定をすると
それぞれの繰り返しフィールドに値を返してくれたのですが

テーブル1 の グループフィールドにより ルックアップをする しないを 計算式で分けたいと思い
テーブル3 の 種類フィールド(繰り返し4) のオプションから 計算値 の設定で

Evaluate ( ""; 名前フィールド ) &
Case ( テーブル1::グループフィールド = "○○○" ; ""; Lookup ( テーブル2::種類フィールド ) )

としてみましたが 名前フィールドの繰り返し1に入力した時しか 種類フィールド繰り返し1に値を返してくれません
どのようにしたらよろしいでしょうか?

繰り返し4 を 1レコードずつに分けて ポータルで表示するわけにはいかず
(例のフィールド名ですと レコードを分けて・・・だと思いますが 今回はその方法ではなく)
繰り返し同士のルックアップということで

よろしくお願いします

#2 2014-10-15 17:36:50

旅人
Member

Re: 繰り返しフィールドのルックアップについて

>テーブル3の レコード内にある 名前フィールド(繰り返し4)にそれぞれ入力すると それぞれの 種類フィールド(繰り返し4)
>にテーブル1の種類フィールドの値を ルックアップしたいのですが

テーブル2の種類フィールドの値を ルックアップしたいのではないのですか。
テーブル1が何のためにあるのか分かりませんが、普通ならテーブル2にグループフィールドを
作って、テーブル3にグローバルフィールドも作ってルックアップしたくないグループ名を入れて
テーブル2とのリレーションを
名前  =  名前
グローバル ≠ グループ
にしたらいいはず。

Offline

#3 2014-10-15 18:50:53

masahd
Guest

Re: 繰り返しフィールドのルックアップについて

旅人さま ありがとうございます

ちょっと自分の頭の中が混乱しており申し訳ありません

テーブル1 レコード1  グループフィールド「野菜」
      レコード2           「果物」

テーブル2 レコード1  名前フィールド「ミカン」  種類フィールド「北海道」
      レコード2         「キャベツ」        「東京」
      レコード3         「ニンジン」        「沖縄」

が有ったとします

テーブル3 のあるレコードで グループフィールド が 「果物」のときに
         名前フィールド繰り返し1に 「ミカン」が入ったときに 「北海道」
                繰り返し2に 「キャベツ」が入ったときに 「東京」
                繰り返し3に 「ニンジン」が入ったときに 「沖縄」
とルックアップさせたいんですが グループフィールド が 「野菜」のときには
         名前フィールド繰り返し1に 「ミカン」が入ったときに 「」(””)
                繰り返し2に 「キャベツ」が入ったときに 「」
                繰り返し3に 「ニンジン」が入ったときに 「」とルックアップをさせたくないんです


例えが悪いかもしれませんが 伝わりましたでしょうか

もうしけありませんがよろしくお願いします

#4 2014-10-15 19:16:00

旅人
Member

Re: 繰り返しフィールドのルックアップについて

やはりテーブル1はあまり関係無いですね。値一覧に使ってる?
テーブル2に計算フィールド (仮名)種類計算=種類[1]を作って繰り返しを4にします。
テーブル3の種類は計算値自動入力/既存値置き換えにして、式を
=Case ( グループ ≠ "野菜" ; Lookup ( テーブル2::種類計算 ; ""))
にしてみて。

Offline

#5 2014-10-15 20:08:11

masahd
Guest

Re: 繰り返しフィールドのルックアップについて

例を作るときに混乱してしまい 間違っておりました
旅人様 皆様 大変申し訳ありません
「やはりテーブル1はあまり関係無いですね。値一覧に使ってる?」 を読み 確認したところ

テーブル1 にフィールドが2つ有り グループフィールド と分類フィールドで

レコード1 グループフィールド 「野菜」 分類フィールド 「個人」
レコード2           「果物」 分類フィールド 「法人」
グループフィールドび内容は複数(野菜 果物 雑貨 文房具・・・等)ですが 分類フィールドは2種類しか有りません


テーブル2
レコード1  名前フィールド「ミカン」  種類フィールド「北海道」
レコード2         「キャベツ」        「東京」
レコード3         「ニンジン」        「沖縄」


テーブル3 のあるレコードで グループフィールド が 「果物」のときに 分類フィールドが「個人」なら
         名前フィールド繰り返し1に 「ミカン」が入ったときに 「北海道」
                繰り返し2に 「キャベツ」が入ったときに 「東京」
                繰り返し3に 「ニンジン」が入ったときに 「沖縄」 とルックアップさせたいんですが
グループフィールド が 「野菜」分類フィールドが「法人」なら
         名前フィールド繰り返し1に 「ミカン」が入っても 「」(””)
                繰り返し2に 「キャベツ」が入っても 「」
                繰り返し3に 「ニンジン」が入っても 「」とルックアップをさせたくないんです

なので 式(テーブル3の 種類フィールド 繰り返し4 の式)も
Evaluate ( ""; 名前フィールド ) &
Case ( テーブル1::分類フィールド = "法人" ; ""; Lookup ( テーブル2::種類フィールド ) )
ということになります

旅人様に教えて頂いたものは まだ確認しておりませんが
訂正を先にさせて頂きたく思い 失礼では有りますが こちらを先に書かせて頂きました

混乱させてしまい申し訳ありません

#6 2014-10-15 20:42:20

masahd
Guest

Re: 繰り返しフィールドのルックアップについて

旅人様

教えて頂いた事は 理解できておりませんが
そのまま

テーブル2に
タイプ:計算 で
フィールド名:種類計算 を作り
式を 「種類フィールド」 とし
繰り返し数 に4を (と言う意味であっていますか?)作り

テーブル3
種類フィールド のオプションを開き
計算値自動入力/既存値置き換えにして
式を
Case ( テーブル1::分類 ≠ "個人" ; Lookup ( テーブル2::種類計算 ; ""))
としましたが うまくいきませんでした

先程の訂正の部分が関係しているとは思いますが
上記の内容も理解出来ておらず 訂正文をどのように修正していけば良いのかもわかりません
大変申し訳ありませんが よろしくお願いします

#7 2014-10-16 08:56:02

チポ
Member

Re: 繰り返しフィールドのルックアップについて

名前フィールドの値によって、種類フィールドにルックアップで入力したい。
しかし、分類フィールドが「会社」の場合はルックアップしない。

と読めますが、
とするとグループフィールドの意味がなくなりますよね。
それでいいのですか?


繰り返し4 を 1レコードずつに分けて ポータルで表示するわけにはいかず

ポータルにするべきものだと思いますが、
出来ない理由って??

Offline

#8 2014-10-16 08:57:47

旅人
Member

Re: 繰り返しフィールドのルックアップについて

どのグループでも分類が法人の時はルックアップしないのですよね。
テーブル2に計算フィールドで個人と入れておいてテーブル3に分類フィールドを作って
計算フィールド--=--分類のリレーションを追加した方が簡単そうですけど。

Offline

#9 2014-10-16 09:18:47

チポ
Member

Re: 繰り返しフィールドのルックアップについて

ん?

テーブル1ではグループフィールドはユニークなんですか?

例えば、
  野菜・個人
  野菜・会社
このような2レコードは無い?

Offline

#10 2014-10-16 14:01:09

Hiro
Member

Re: 繰り返しフィールドのルックアップについて

【問題の要点】
「計算値の自動入力」は、繰り返しフィールドでは先頭の[1]項しか適用されない。
    → 「繰り返し[4]計算フィールド」+計算結果非保存にすべき。
「Lookup計算式の対象」は自分と同じ「計算式繰り返し位置」項からルックアップされる。
    → Lookup対象のテーブル2の種類フィールドを繰り返し[4]「計算フィールド」(式:種類フィールド[1])に展開、 Lookup(テーブル2::その計算フィールド)とする。

Last edited by Hiro (2014-10-16 14:26:38)

Offline

#11 2014-10-16 15:54:43

masahd
Guest

Re: 繰り返しフィールドのルックアップについて

大変遅くなり申し訳ありませんでした

チポ様 旅人様 どうもありがとうございます
ファイルの構造自体に問題があるのだと思いますが
自分のスキルですと 頂いた質問にうまくお答えすることが出来ないので
答えになるかわかりませんが ファイル構成などを説明させて頂きます

今 イベントに関するファイルを作成しております

(_T=テーブル _F=フィールド 「」フィールド内容 とさせて頂きます)
テーブル 
名簿_T(テーブル1)     (名前_F、グループ_F、種類_F)
イベント_T(テーブル2)   (イベントID_F、グループ_F、分類_F)
チーム情報_T(テーブル3)  (名前_F、種類_F)
対象者情報_T         ()
(等 他にもTはありますが今回は省かせて頂きます)

名簿_T (テーブル1) 1名 1レコード
グループ_F には 「Aグループ」「Bグループ」・・・など グループ名自体はユニークですが 一人で複数のグループに属することもあります
種類_F には 「1」「2」「3」・・・など 名前_Fに対して値は1つです

イベント_T (テーブル2) 1イベント 1レコード
グループ_F には 名簿_Tのグループ_Fの値の値一覧からを1つ選択し これにより このイベントの対象者を絞ります(参加者ではなく対象者)
分類_F には 「あ分類」「い分類」 の2つの値(増えることは まず無いと思いますが 今後の運用で増えることがあるかも)があり グループ_F
により決まった値が入りますが 今後の運用で変更する場合があります
例 「Aグループ」なら「あ分類」「Bグループ」なら「あ分類」「Cグループ」なら「い分類 ただし運用途中で
   「Aグループ」が「い分類」になることもあります(変更タイミングは イベントレコード作成時になります)

対象者情報_T 1名 1レコード(これまでには出てきませんでしたが 説明上 チーム情報_T(テーブル3)と順番が前後します)
イベント毎に 名簿_Tから グループ_Fで抽出された 対象者分のレコードをつくり(欠席者のレコードもポータル表示時に必要なため)
イベント_T から詳細 と 名簿_Tから対象者の詳細を ルックアップしておきます


この間のタイミングで 対象者の中から手動で参加者にフラグを付けます(対象者が多いので この後の作業で参加者を選びやすい様に
どうせ選択するなら ここでフラグを付けなくても・・・ というのは目をつむってください)

チーム情報_T(テーブル3)
1チーム 1レコード と言うデータが必要です
名前_F 対象者から参加者まで絞り込んだ値一覧から選択します
(選択された人は 値一覧からどんどん減っていきます)
分類_F 上の入力された 名前_Fの値から 名簿_Tの種類_Fの値をルックアップしたい

イベント○○ が「Aグループ」なら分類は「あ分類」 なので このときチーム情報のところで 〜〜さんを選択すると(「あ分類」なら)ルックアップで「1」を

別の時には
イベント△△ が「Cグループ」なら分類は「い分類」 なので このときチーム情報のところで 〜〜さんを選択すると(「い分類」なので)ルックアップしない

と言うことです
繰り返し4(とりあえず4です)を 4レコードに出来ないのは
既に対象者のレコードが存在するので それを表示するだけならポータルで大丈夫なんですが
自分のスキルではそのあたりがうまくいかず 今回の繰り返しで と言うことになっております
ただ ルックアップした 内容をこのレコードで使うと言うわけではなく あくまでも表示させたいと言うことです

単純に タイプ:数字  オプションから ルックアップ値だと きちんと繰り返しずつ表示してくれるのに
条件により分岐させたいために 計算値にすると出来なくなってしまうのが よくわかりませんでした

わかりにくい説明に ご迷惑をおかけして申し訳ありません

#12 2014-10-16 18:56:34

masahd
Guest

Re: 繰り返しフィールドのルックアップについて

Hiro様 どうもありがとうございます

自分のスキルのなさに情けなくなってきます・・・
申し訳ありません

・「計算値の自動入力」は、繰り返しフィールドでは先頭の[1]項しか適用されない。
    → 「繰り返し[4]計算フィールド」+計算結果非保存にすべき。

これは テーブル3の 種類フィールド のことでしょうか?
確かに タイプ:テキスト   オプション 「計算値の自動入力」の 計算値 では1番目しか出来ておりませんでした


・「Lookup計算式の対象」は自分と同じ「計算式繰り返し位置」項からルックアップされる。

Lookupの計算式を使えば 対応する繰り返し位置に ルックアップされる ということで・・・

    → Lookup対象のテーブル2の種類フィールドを繰り返し[4]「計算フィールド」

ここですが
テーブル2の 種類フィールドを 繰り返し[4] 「計算フィールド」 にしました

(式:種類フィールド[1])に展開、 Lookup(テーブル2::その計算フィールド)とする。

これがわからないのですが
(式:種類フィールド[1])に展開 とは テーブル3の種類フィールドでしょうか?
Lookup(テーブル2::その計算フィールド) とは???

と こんなレベルで大変申し訳ありませんが もうすこし詳しく教えて頂けないでしょうか

よろしくお願いします

#13 2014-10-16 20:11:31

Hiro
Member

Re: 繰り返しフィールドのルックアップについて

> → Lookup対象のテーブル2の種類フィールドを繰り返し[4]「計算フィールド」
> ここですが
> テーブル2の 種類フィールドを 繰り返し[4] 「計算フィールド」 にしました

いいえ、「種類フィールド」はそのまま置いといて、別途新規に、
繰り返し[4回] の「計算フィールド」(式は、種類フィールド[1] )を作ります。

> (式:種類フィールド[1])に展開、 Lookup(テーブル2::その計算フィールド)とする。
> これがわからないのですが
>(式:種類フィールド[1])に展開 とは テーブル3の種類フィールドでしょうか?
> Lookup(テーブル2::その計算フィールド) とは???

いいえ、展開とは、テーブル2の新規作成した繰り返しフィールドです。
Lookup式はそう、テーブル3の種類[繰り返し4回]計算フィールドの判別式のルックアップ計算部分へです。

  Case(テーブル1::分類フィールド<>"法人"; Lookup(テーブル2::その新規計算フィード)) & Evaluate("";名前フィールド)

Last edited by Hiro (2014-10-16 20:14:35)

Offline

#14 2014-10-17 10:12:49

masahd
Guest

Re: 繰り返しフィールドのルックアップについて

Hiro様 どうもありがとうございます

テーブル2 に
種類フィールド[1]  テキスト

展開フィールド 計算[4] 式:種類フィールド  非保存
として

テーブル3 に
種類フィールド 計算[4]
式:
Evaluate ( ""; 名前 ) &
Case ( テーブル1_グループ3:分類フィールド = "○○" ; Lookup ( テーブル2_グループ3::展開フィールド); "" )
としてみましたが

テーブル3 の名前フィールド[4] に何も入っていない状態ですと 種類フィールド[4] の1番目だけに ? が入った状態で
名前フィールドの1番目に値を入れると 種類フィールド1番目はルックアップ出来ましたが
名前フィールドの2番目以降に値を入れても 種類フィールドの2番目以降が空白のままになってしまいます

リレーションは
テーブル3 グループフィールド   =   グループフィールド テーブル1_グループ3
テーブル3 名前フィールド     =   名前フィールド   テーブル2_グループ3
このようになっております


申し訳ありませんがよろしくお願いします

#15 2014-10-19 01:21:38

Hiro
Member

Re: 繰り返しフィールドのルックアップについて

遣りたい事がまだ読みきれていませんが、推測を最大限働かせて、サンプルを作ってみました。
こんなことかな?

●サンプル「配列集計.fmp12」 → http://yahoo.jp/box/zpPj9i

Offline

#16 2014-10-19 20:40:39

masahd
Guest

Re: 繰り返しフィールドのルックアップについて

Hiro様
お忙しい中 サンプルを作って頂きどうもありがとうございました
まさしく求めていた結果です

自分の間違っていたところが一目瞭然でした
「展開フィールド 計算[4] 式:種類フィールド  非保存」の作り方が間違っておりました
自分のテーブルではなく テーブル3の種類フィールド からでした

ほかにも候補者一覧のところなど 勉強になるところがありました
どうもありがとうございました

Hiro様
旅人様 チポ様 皆様 わかりにくい説明でご迷惑をおかけしましたが
無事解決することが出来ました どうもありがとうございました

FileMakerわからない事だらけで まだまだ問題が出てくると思いますが
その時はどうかよろしくお願いします

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 585.62 KiB (Peak: 622.52 KiB) ]