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

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

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

You are not logged in.

Announcement

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


#1 2022-03-27 09:43:13

zouno33
Member

番号の範囲別に、値一覧に登録する方法を知りたい

キャプションテーブルに材料選択フィールドとして、値一覧でチェックボックスの項目を作り、チェックが入ったものだけを、製品情報フィールドにまとめて表示したいと考えています。
材料群テーブルに、材料名情報のレコードを記録しています。
1. 材料名が増えてきて、チェックボックス表示スペースに収まりきらなくなりそうなため、材料群をA,B,C,Dに分けたいと考えています。
   材料名テーブルは一つのまま、群ごとに値一覧に登録できたらいいと思っています。
2. 材料名を日本語表記と英語表記で用意して、それぞれで表示したいと考えています。



最初に、材料群テーブルを作り、材料名フィールドに個別の材料を登録して、それをキャプションテーブルの値一覧に登録しました。
( 値一覧 材料g0 ) 材料群::材料名

キャプション::tmp0として、Substitute ( キャプション::製品情報 ; "¶" ; "、"  )
FileMakerの仕様なのか、チェックボックスは、表示順ではなく、チェックを入れた順番で、表示されるようなので、番号を振って並び順を固定したいと考えていました。
そこで、材料群テーブルに通し番号の通番フィールド、通番&"_"&材料名の結合フィールドとして、順材料名フィールドを作り値一覧に登録しました。通番10以下は01等とする。
( 値一覧 材料g1 ) 材料群::順材料名

キャプション::tmp1として、Substitute ( SortValues ( キャプション::製品情報 ) ; ¶ ; "、" )
通番を消したいので、キャプション::tmp1の結果から、通番を消すための式を書きました。
キャプション::tmp3として、Filter ( tmp1 ; tmp0 )

1. ここから、材料群で分けるために、通番を材料群Aは1,000番台、Bは2,000、Cは3,000、Dは4,000とし、数字で絞り込みできないかと考えたのですが、その先がどうやればいいかが考えつきません。
・excelのように1000番等で絞り込んだ表として値一覧で、場合分けして登録できないか?
・1000番台、2000番台の値をどうやってわければいいのだろう?
・他の良い方法があるか?

2. 日本語表記と英語表記をそれぞれで表示するのに、材料群テーブルに英語表記フィールドを作り、
材料群::材料名英
さらに、通番と日本語表記と英語表記の結合フィールドを作りました。
通番&"_"&日本語表記&"_"&英語表記の結合フィールド、日英材料名を作り値一覧に登録しました。通番10以下は01等とする。
( 値一覧 材料je ) 材料群::日英材料名
分けて表示するときは、アンダーバーで分ければいいと考えています。
しかし、1. で詰まってしまって進めません。

Offline

#2 2022-03-27 10:24:05

himadanee
Guest

Re: 番号の範囲別に、値一覧に登録する方法を知りたい

>キャプションテーブルの値一覧に登録しました
とありますが、値一覧を登録(設定)できるのは、ファイルかレイアウト上のフィールドです。

>チェックボックスは、表示順ではなく、チェックを入れた順番で、表示される
FilterValues ( 値一覧 ; フィールド )
で計算値自動入力(既存値置き換え)にしておけば表示順になります。
値一覧のリストは ValueListItems関数で取得できます。

>材料群で分ける
関連レコードのみの値一覧を作ることになるでしょう。
「群」が固定なら、群ごとの計算フィールドを作って全レコードの値一覧でもできます。この方が説明は簡単
1000番台の計算式
Case ( Left ( 通番 ; 1 ) = "1" ;  材料名 )
これを値一覧にすれば、他の群のレコードは計算結果が空欄になり無視される。

#3 2022-03-28 10:08:03

Shin
Member

Re: 番号の範囲別に、値一覧に登録する方法を知りたい

材料は、1フィールドにチェックボックスで多数入力するのではなく、1材料ごとに関連レコードを追加する形で入力することをオススメします。その方が、ソートも自由です。
それを踏まえて、こんな動きが欲しいのでは。
https://www.dropbox.com/s/85u7rvisu828h … 2.zip?dl=0

または、別のスレッド のサンプルですが、
https://www.dropbox.com/s/9oconqsif8o46 … 2.zip?dl=0
という動きがいいのかも。カテゴリーごとに絞り込んだ商品一覧を表示し、その中のチェックボックスのクリックで、商品を明細レコードに追加していく動きです。
構造そのものはシンプルなんですが、ちょっと特殊なリレーションの使い方と値一覧の設定をしているので、理解するにはちょっと経験が必要かも。

Last edited by Shin (2022-04-04 16:18:34)

Offline

#4 2022-04-03 19:17:06

zouno33
Member

Re: 番号の範囲別に、値一覧に登録する方法を知りたい

himadaneeさん、ご教示くださりありがとうございます。
>チェックボックスは、表示順ではなく、チェックを入れた順番で、表示される
は、理解できて希望する結果が得られました。

>材料群で分ける
ずっとやっていたのですが、分からないので再び教えてください
計算フィールドをどこに作ればいいのかわかりません。
関連レコードをリレーションをどうつないでいいかわかりません。

やったことは
材料群テーブルに対して関連レコードだから、
材料群テーブルとは別にテーブルを作って、それを結ぶのだと考えました。
群グループテーブルの中に、計算フィールド、群1000を作り
Case ( Left ( 材料群::通番 ; 1 ) = "1" ; 材料群::材料名 )
材料群::通番 = 群グループ::群1000 でつないで、
材料群::通番に包含される群グループ::群1000だけを表示させる
としたかったのですが、上手くいかず。


材料群テーブルに計算フィールド、群1000を作り、
Case ( Left ( 通番 ; 1 ) = "1" ; 材料名 ) と指定しました。
その結果、1000番台のフィールドだけ材料名が表示され、他は空欄。
同様に、2000番台、3000、4000とフィールドを増やし、それぞれの番台が
表示されるようにしました。
そのフィールド値を値一覧の管理に設定しました。

別な方法で、希望する表示結果が得られたのですが、
ご教示いただいた方法を理解できず、どう考えるといいのかを知りたいです。

Shinさんよりご教示いただいた分は、まだ見れてないです。

Offline

#5 2022-04-03 20:40:57

himadanee
Guest

Re: 番号の範囲別に、値一覧に登録する方法を知りたい

関連レコードを使うのと、その後書いてる計算フィールドを使うのは、全く別の方法です。
計算の方が説明が簡単なのでそっちだけ説明しました。それが、「別な方法で、希望する表示結果が得られた」といってるものです。
リレーションの方は面倒なので省略します。群を絞り込むためのフィールドが必要になるので、群が固定されてる今回の場合には特に利点はないでしょう。

#6 2022-04-04 20:48:12

zouno33
Member

Re: 番号の範囲別に、値一覧に登録する方法を知りたい

ありがとうございます。解決しました。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.017 seconds, 9 queries executed - Memory usage: 521.92 KiB (Peak: 526.83 KiB) ]