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

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

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

You are not logged in.

Announcement

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


#1 2015-05-28 13:16:33

ohlq
Member

70の項目を複数選択して表示したい、単純なチェックボックスでは無理(?)

お世話になります。質問が複合的になりタイトルが不適です。

70の項目から複数選択し、選択した項目をテキスト処理した後、”・”で結合したいです。
ただし、レイアウトとして要求があり、70の項目は階層的に表示させることになっています。
①、②、③の条件があるのですがどの様な実装が妥当でしょうか。

①選択項目は階層構造
1良性上皮性腫瘍
  1.1 腺腫:Adenoma
   1.1.1 管状腺腫:Tubular adenoma
   1.1.2 管状絨毛腺腫:Tubulovillous adenomma
  1.2家族制大腸腺腫症:Familial adenomatous...
2悪性上皮性腫瘍...

上記のうち選択可能な項目はそれぞれの最下層のみで、
例えば1良性上皮性腫瘍であれば(1.1.1、1.1.2、1.2)の3つが選択可能な項目になります。
選択可能な階層レベルが項目ごとに異なる事になります。

②動的レイアウト表示
最初に表示しているのは最上層のみ(1良性上皮性腫瘍、2悪性上皮性腫瘍)で、
選択するごとに下層構造を表示させる。

③選択項目の情報をテキスト処理した後結合
仮に下記の2点が選択された場合
  1.1.1 管状腺腫:Tubular adenoma 
1.2家族制大腸腺腫症:Familial adenomatous...

出力結果としてフィールドに管状腺腫・家族制大腸腺腫症と返したいです。
結合する順番も決まっており家族制大腸腺腫症・管状腺腫はNGです。
実際のレイアウトには 1.1.1や1.2といった番号は表記しないことになっています。

タブコントロール、ポータル、チェックボックス等考えているのですが
70個の選択項目に対応した値一覧、フィールド、チェックボックスを1つずつ、計70作ることしか対応方法が分かりませんでした(選択項目1つのみのチェクボックスを70作る)。
何か良い方法があるでしょうか。ご教示お願い致します。

Offline

#2 2015-05-28 13:55:26

チポ
Member

Re: 70の項目を複数選択して表示したい、単純なチェックボックスでは無理(?)

1.
別テーブルを作り
階層の段数分のフィールド、されに選択肢用の計算フィールドを作ります。
最下層の値ごとを1レコードとして、全てのレコードを作ります。

選択用のフィールドは、入力された最下層のフィールド値を入力。

このフィールドを最上層のリレーションの動的値一覧にすればいいのでは。


2.
よく分からないのですが、

選択するごとに下層構造を表示させる

フィールド自体を非表示にしておいて、上層が入力されたら表示
でしょうか。


3.
テキスト処理ですが、

https://fm-aid.com/bbs2/viewtopic.php?id=3038
旅人さんの回答が有ります。

Offline

#3 2015-05-28 14:09:03

ohlq
Member

Re: 70の項目を複数選択して表示したい、単純なチェックボックスでは無理(?)

ご回答ありがとうございます。

記載を忘れてしまっていたのですが、
入力者の想定はチェックボックスのようにマウスでの処理を希望でキーボード入力ではありません。

2.
はい、
フィールド(あるいはチェックボックス?)を非表示にしておいて
上層がにゅうりょくされたら表示といういみです。

上記の条件でも1の回答は問題ないですか?

3.
ありがとうございます。試してみます。

Offline

#4 2015-05-28 15:41:22

チポ
Member

Re: 70の項目を複数選択して表示したい、単純なチェックボックスでは無理(?)

2.
オブジェクトを隠す
で条件によって表示・非表示の切り替えができます。

1.
2.の条件でも前レスが使えます。

Offline

#5 2015-05-28 17:39:27

ohlq
Member

Re: 70の項目を複数選択して表示したい、単純なチェックボックスでは無理(?)

>選択用のフィールドは、入力された最下層のフィールド値を入力。
入力された最下層のフィールド値とは最後に選択された値という意味でしょうか。
複数の項目を選択した際にリレーションがとれなくなるのではないかと思うのですが、
何か私は勘違いをしているのでしょうか。

Offline

#6 2015-05-28 18:19:56

チポ
Member

Re: 70の項目を複数選択して表示したい、単純なチェックボックスでは無理(?)

例から、

    階層1                  階層2                       階層3         選択用
  1良性上皮性腫瘍    1.1 腺腫                   1.1.1 管状腺腫            1.1.1 管状腺腫        (階層3の値)
  1良性上皮性腫瘍    1.1 腺腫                   1.1.2 管状絨毛腺腫      1.1.2 管状絨毛腺腫    (階層3の値)
  1良性上皮性腫瘍    1.2家族制大腸腺腫症                                   1.2家族制大腸腺腫症   (階層3が空白のため階層2の値)
   ・・・・・・・
  2悪性上皮性腫瘍... ・・・・・・・         

このようなテーブルを作ります。

選択用は、そのレコードで入力された最下層のフィールド値を入力します。


元のテーブルと階層1でリレーションし、
選択用フィールドの動的値一覧を作ります。

Offline

#7 2015-05-28 19:42:10

ohlq
Member

Re: 70の項目を複数選択して表示したい、単純なチェックボックスでは無理(?)

ありがとうございます、すこしずつ理解できてきました。
2つ選択する場合には第1層目を2つ選択することになります。
リレーション用の値を取るために別途計算用フィールドを用意する必要があるということでよいでしょうか。
GetValueで最後に選択したものを取ってくればよいとも思うのですが、チェックのオンオフで煩雑になりそうです。
GetValueでよいのでしょうか。

Offline

#8 2015-05-29 09:01:58

チポ
Member

Re: 70の項目を複数選択して表示したい、単純なチェックボックスでは無理(?)

ああ、

選択用フィールドではなく、
階層3が無い場合は、階層3に階層2の値を入力し、
階層3を値一覧の値にする。

選択用フィールドは不要になりますね。


このように訂正お願いします。


「動的値一覧」
ご理解できていますか?
(いつの間にかヘルプからこの用語がなくなり
   「関連フィールドの値のみを含む値一覧」といっていますが・・)


お分りにならなければ、
FM13のヘルプ
http://www.filemaker.com/help/13/fmp/ja … tml#512847
難解な日本語ですがご一読を。

これを使うことを前提に話していますので、ぜひ理解してください。
お分かりでしたらご容赦を。。

Offline

#9 2015-05-29 10:47:56

ohlq
Member

Re: 70の項目を複数選択して表示したい、単純なチェックボックスでは無理(?)

ありがとうございます!
動的一覧、少し勉強しただけで理解したつもりになっていました。
大きく勘違いしておりました、サンプルを作成してようやく分かりました。
再度挑戦してみます。

FM13のヘルプ誤植ありますよね・・・理解に苦労しました。

Offline

#10 2015-05-29 12:07:05

ohlq
Member

Re: 70の項目を複数選択して表示したい、単純なチェックボックスでは無理(?)

チェックボックスで複数選択した際のリレーションは
自動的に改行コードで区切り、区切った項目ごとに取ってくれるのですね、びっくりしました。

おかげさまでひとまず成功したと思います。
もう少し進め、問題が無ければ解決にしたいと思います。

Offline

#11 2015-05-29 14:48:53

ohlq
Member

Re: 70の項目を複数選択して表示したい、単純なチェックボックスでは無理(?)

階層別の動的値一覧の作成が出来ました、ありがとうございます。
まだまだ改良したいことがあります。
実際のデータでは、第1層までしかないものもあれば、2つほど第4層までのものがあります。
第1層までしかないものを選択する場合に、第4層まで選択しないと行けないのは苦痛だと思います。

例えば、
階層として最後になっていれば、選択用フィールドに表示するという方法を考えたのですが
リレーションがうまくいきませんでした。どのようにすればよいでしょうか、
(ないしは別途良い方法が有るでしょうか)

Last edited by ohlq (2015-05-29 14:56:40)

Offline

#12 2015-05-29 17:40:11

チポ
Member

Re: 70の項目を複数選択して表示したい、単純なチェックボックスでは無理(?)

そういう要望が出てくるかな、
って思っていましたよ^^


しかし、
最初の質問 2. はどうなります?

上位階層を入力、直下の階層を表示
これを繰り返すのでしょう?

ん、違うか?
手順を書いた方がいいですね。

いずれにせよ、ご希望は、
スクリプト・スクリプトトリがを使って、となると思いますよ。

Offline

#13 2015-05-29 19:04:44

ohlq
Member

Re: 70の項目を複数選択して表示したい、単純なチェックボックスでは無理(?)

頂いたアドバイスを元にインターフェイスに関してもっと自分で考えてみます。

さしあたってオブジェクトを隠す方法ですが、
自分の環境がFM12proADVだったので、
脅...説得してFM13proADVをインストールしました。
オブジェクトを隠す(表示)方法は解決できたのですが、

FM13では仕様がことなっているのか
こちらで紹介されていた動的値一覧の任意のソート方法(https://fm-aid.com/bbs2/viewtopic.php?pid=2104#p2104)が使用できなくなっていました(重複がとれない)。
(階層1の良性上皮性腫瘍を選択すると階層2には二つの腺腫と家族制大腸腺腫症が表示される)
FM13ではunicode関連を利用した動的値一覧のソートはできないのでしょうか。

Offline

#14 2015-05-30 12:27:48

ohlq
Member

Re: 70の項目を複数選択して表示したい、単純なチェックボックスでは無理(?)

差し当たって別の方法で自己解決しました。
一旦本スレッドを解決とさせて頂きます。

チポ様、ありがとうございました。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 554.45 KiB (Peak: 575.36 KiB) ]