みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
FM15ad Win8 です。
どうぞ宜しくお願いいたします。
繰り返しフィールドに、値一覧からの選択を指定して、
例えば、一番目繰り返しフィールドの、値一覧からの選択値により、
2番目繰り返しフィールドの値一覧からの選択内容(値一覧)を、変えていくことは可能でありましょうか?
動的値一覧を、繰り返しフィールドに設定する!?
・・・・・・・・・様なイメージです。
どなたか、何か良い方法が有りましたら宜しくお願い申し上げます。
繰り返しフィールドを個々に照合キーとして適用できるのはルックアップしかないので難しいでしょう。
繰り返しフィールドを個々フィールドに分けるのが難しい特殊な事案なのでしょうか?
Offline
2番目のデータを取り出すフィールドを別に作ればできなくも無いでしょうが,それでは繰り返しフィールドにしている意味が無いか。
ポータルで行なえば,何の事は無い処理なんですが。
Offline
Shinさんの発言通りなんです。
目下頭の体操と思って挑戦しているんですが、
フィールドを分解した方がうんと楽なんで。
それに、動的値一覧に使うデータ構造がわからないし
繰り返しがいくつあるかもわかってないので。
繰り返し3でスクリプトトリガを噛ませて作って見たけど
繰り返しでトリガを使うと繰り返し位置によってはスクリプトがうまく動いてくれなくて
断念しかけてます。
それにしても、どうして繰り返しを使いたがるのか?
繰り返しは、昔から引きずっている扱いにくいものと思うんだけど。。。。
(ごくたまには、有効な場合もあることはわかってます)
Last edited by シャチ (2017-02-25 10:03:53)
Offline
動的な値一覧には、リレーションが不可欠。リレーションの元キーは、繰り返しフィールドは無視されるので2番目以降は無理、という事。
繰り返しフィールドは、不完全な配列、と考えれば、使い道は有りますね。
Offline
皆様、ご連絡のほどを大変ありがとうございます。
困難ということが良く分かりました。大変ありがとうございました。
それでは、動的値一覧と少し違うかとも思いますが、以下のような場合は如何でしょうか?(同じ!?でしょうか? 初心者です。すみません)
値一覧を、例えば、
1
2
3
4
5
6
7
・・・・・・・としまして、
繰り返しフィールドの、1番目のフィールドに
3 が選択されたら、
2番目のフィールドで選択する値一覧表示は、
4
5
6
7
8
・・・・・・と表示され、
3番目で、5が選択されたら
次の値一覧の表示は、
6
7
8
・・・・・というように、
次の繰り返しフィールドに表示される、値一覧の表示が、
前の繰り返しフィールドで選択された値より、以降の値一覧のデータを表示する
というようなものですが、これでしたら何とかなりますでしょうか?
どなたか、可能でしたらどうぞ宜しくお願い申し上げます。
さらに高度な動的値一覧ですね。
単純な設定では無理です。
別のフィールドを用意しても良いのならば、その繰り返しフィールドの最高値を求めて、それ以上の値、という動的値一覧が作れます。
ただし、繰り返し1をアクティブにしても、最高値以上(例は、6,7,8)というドロップダウンリストが表示される事になります。
Last edited by Shin (2017-02-25 10:44:09)
Offline
できたら なぜ繰り返しを使うのかを教えて欲しい
Offline
Shin 様
大変ありがとうございます。
Shin 様でも困難なことがあるのですね。申し訳ありませんでした。
因みに、もし可能でしたら後学のために、
別フィールドを用意して云々の具体例をご教授頂ければ幸いです。
何卒宜しくお願い申し上げます。
シャチ 様
ご連絡大変ありがとうございます。
他の話題の、
”スタッフの、日毎のスケジュール管理についてお願いいたします。”
の、
Shin 様、Hiro 様のサンプルを拝見しておりまして、
Hiro様のサンプルの繰り返しフィールドの時刻選択の入力時に、
上記の様なことが出来たらと、思ったものですから・・・・・・
申し訳ありません。
そもそも、私には難しいサンプルで、繰り返しフィールドを使わずに!?という様にするのにどうしたら良いかも分かりません・・・・
ご迷惑をお掛けいたしまして申し訳ありませんでした。
あの繰り返しフィールドは、どちらのサンプルも表示用のみに使っているので、そこへ入力する、ということは一切行っていませんよ。
入力先は、あくまで元の1業務1レコードのテーブルです。私のサンプルは、GUI にこだわったために、別の入力用のグローバルフィールドを仲介させてはいます。Hiroさんは、別のエリアで入力させるので、直接別テーブルへ書き込んでいますね。
ですから、どちらも値一覧を動的に設定する事は容易いはずです。
Offline
本当は何をしたい?
目的に応じて機能の使い方が変わるものなのです
ただ、漠然と「こんなことしたい」というのは
回答する立場に人には結構辛いものだと思います
Last edited by シャチ (2017-02-25 21:58:37)
Offline
説明代わりにサンプルをアップしましたのでご覧ください。
サンプルは、値が数値データで数値順の配列であることを前提にしています。
また、既存値を後修正する場合は、当然、最終=最大入力値に基づく動的値一覧が表示されてしまいます。
別途計算フィールドに現在の入力データに基づく一覧リストを動的に計算して、この結果で動的値一覧を作っています。
その計算式は、
Let([
#vli=ValueListItems(Get(ファイル名);"値一覧");
#lst=¶&#vli&¶;
#key=¶&Max(配列)&¶;
#pos=Position(#lst;#key;1;1);
#lst=Middle(#lst;#pos+Length(#key);Length(#lst))
];
Case(IsEmpty(配列); #vli; Left(#lst;Length(#lst)-1))
)
●サンプル「繰り返しで動的値一覧.fmp12」→ http://yahoo.jp/box/x8ujqL
Last edited by Hiro (2017-02-25 14:32:31)
Offline
それでは、動的値一覧と少し違うかとも思いますが、以下のような場合は如何でしょうか?(同じ!?でしょうか? 初心者です。すみません)
値一覧を、例えば、
1
2
3****中間省略
8
・・・・・というように、
Hiroさんとは違った攻め方です
別テーブルとスクリプトトリガを使ってます。
http://yahoo.jp/box/2fmtVr
にサンプル置いています。
でも、こんなことすることって、何に使うんだろ?
Last edited by シャチ (2017-02-25 14:43:09)
Offline
どの繰り返しにおいても、そのすぐ左(上)の値より大きな値のみの値一覧を表示するサンプルです。設定する値は、それより右(下)を考慮しません。リレーション条件を追加すると、それの考慮も可能になります。
https://www.dropbox.com/s/8gsr8lhyrvzcs … 2.zip?dl=0
Offline
テキストでの動的値一覧をなんとか擬似的に作りました
先に挙げた数字の場合と同じ考え方ですが
やはり、テキストは手が込んできます。
http://yahoo.jp/box/H62Xkx
に前のものを整備したものと
テキストの動的値一覧の2つを入れたファイルです。
ただし、この方法は繰り返しが多くなるとものすごく面倒になるかも。
なんかいい方法があれば。
そんなたたき台にでもなればと思います。
Last edited by シャチ (2017-02-25 15:45:02)
Offline
Shin 様
Hiro 様
シャチ 様
返事が遅くなりまして、大変申し訳ありませんでした。
漸く、皆様に作成頂いた、素晴らしいサンプルの意味がおおよそ理解できました。
今後、活用をさせて頂きたいと存じます。
(また、不明点等ご質問をと存じます。)
本当にありがとうございました。
今後ともご指導のほどを何卒宜しくお願い申し上げます。
シャチ 様
解決とは、致しましたが、
再度投稿を読み直しまして、
シャチ様の疑問に、お答えをしておりませんでしたことに、
今更のように気づきまして、お答えをと存じます。
素晴らしいサンプルをお作り頂きましたのにもかかわらず、配慮が足りませんで、大変失礼を致しました。
誠に申し訳ありません。
”でも、こんなことすることって、何に使うんだろ?”
につきましてですが、
例えば、先の、
Hiro 様のサンプルにおきまして、
時刻選択を、一覧表示で行いますと、
制限を掛けなければ、
毎度”全部表示”となりまして、
選択ミスが多くなってしまったためです。
単なるケアレスミスですが、作成頂いたサンプルにより、
少しでも入力ミスが軽減できると確信いたしております。
ご教授のほどを大変ありがとうございました。
今後ともご指導のほどを何卒宜しくお願い申し上げます・
[ Generated in 0.013 seconds, 9 queries executed - Memory usage: 565.25 KiB (Peak: 586.16 KiB) ]