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

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

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

You are not logged in.

Announcement

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


#1 2019-06-06 23:57:35

pon3
Member

改行で区切られた値を値一覧にしたい

よろしくお願いします。
FileMaker17です。

グローバル変数の中に改行で区切られたテキストがあります。
これをドロップダウンリストで表示したいのですが、

値一覧の「カスタム値を使用」に
$$改行で区切られたテキスト
と単純に変数名を入れても使用できないのですね。

この変数の値をドロップダウンリストとして使うには
どのようにすればよいでしょうか。

Offline

#2 2019-06-07 01:40:08

Hiro
Member

Re: 改行で区切られた値を値一覧にしたい

変数値は値一覧に組み込めません。
変数値を一度フィールドに落とし込んで、
そのフィールド値で値一覧を組む事に成ります。

普通、「変数」の代替えは「グローバルフィールド」です。
一方、値一覧の値フィールドは「索引」が必須です。
このため、非索引のグローバルフィールド値では値一覧が組めません。
そこで、これを回避する裏技を設けます。
それは、デカルト積[X]リレーションの関連フィールドとして偽装設定する方法です。

【設定方法】

  1. グローバルフィールドを作り、変数値を差し替え代入しておく。

  2. 適当な索引フィールドでデカルト積[X]の自己リレーション「テーブル X::」を設定する。
       「テーブル::適当な索引フィールド」 X 「テーブル X::適当な索引フィールド」

  3. 関連フィールドで値一覧を設定する。
       ・値フィールド:「テーブル::グローバルフィールド」
       ・関連テーブル:「テーブル X::」

  4. 上設定中に警告『非索引値は無効で機能不可!』と出ますが、進めて問題ありません。
    以上、お終い。

Offline

#3 2019-06-07 09:04:15

pon3
Member

Re: 改行で区切られた値を値一覧にしたい

うまくいきました!
こんな方法があるのですね。
Hiro様ありがとうございます。

Offline

#4 2019-06-07 10:20:27

pon3
Member

Re: 改行で区切られた値を値一覧にしたい

グローバル変数は頻繁に変わります。
スクリプトで都度グローバルフィールドも書き換えているのですが、
どうもうまく値一覧にすぐに反映されません。

グローバルフィールド自体は書き換えられているのですが、
値一覧への反映のタイミングが遅れるようです。
これは仕方がないのでしょうか。
索引にしているフィールドの設定等で改善できるものでしょうか。

Offline

#5 2019-06-07 10:57:19

Shin
Member

Re: 改行で区切られた値を値一覧にしたい

グローバルフィールドを書き換えた後で、キャッシュをクリアしてみてはいかがでしょう

Offline

#6 2019-06-07 11:45:48

pon3
Member

Re: 改行で区切られた値を値一覧にしたい

Shin様ありがとうございます。
キャッシュのクリアの方法がわかりませんでした。
教えていただけないでしょうか。

Offline

#7 2019-06-07 12:46:24

Hiro
Member

Re: 改行で区切られた値を値一覧にしたい

>#4『グローバル変数は頻繁に変わります。どうもうまく値一覧にすぐに反映されません。』
その作業対象レコードは、現在のレコード1ヶ所だけですか?
もしそうなら、標準フィールド値でレコードIDの動的値一覧にすれば、根本的改善できます。

Offline

#8 2019-06-07 13:01:38

pon3
Member

Re: 改行で区切られた値を値一覧にしたい

Hiro様

リレーションするテーブルに
改行で品番を入れておくテキストフィールドがあります。

●レコード1
A0001
B0874
C7586

●レコード2
H9874
Y8393


対象レコードの品番一覧を集計一覧フィールドでまとめ、
それをグローバル変数に格納しています。

A0001
B0874
C7586
H9874
Y8393

Offline

#9 2019-06-07 13:39:48

チポ
Member

Re: 改行で区切られた値を値一覧にしたい

別テーブルを作り、
1レコードで1フィールドに改行テキストで入力

これならレコード確定で即値一覧になるでしょう。

Offline

#10 2019-06-07 14:00:24

Hiro
Member

Re: 改行で区切られた値を値一覧にしたい

>#8の説明 と >#4の[グローバル変数は頻繁に変わります] はどう関連してくるのですか?

また、>#7質問の真意は、「集計一覧フィールドのデータ更新作業」と その反映「値一覧の利用」は、現在のレコード1ヶ所だけか?それとも他のレコードも対象にするのか? です。
決して、集計一覧の為の対象レコードという意味ではありません。

改善には、全体像の把握が必須で、その説明を聞くのが早道かな?

【追伸】
後で、1つ前の>#9チポさん回答に気付き 見て、それが最適な改善策と思いました。
なので、私のレスは没にしてください。
具体的には、私の「グローバルフィールド」を「別関連テーブル::索引フィールド」のフィールド参照に換えて、それへ集計一覧値を代入します。
※ポイントは、「非索引グローバル格納」を「1レコード1テーブルの索引フィールド格納」へ機能互換することです。

Last edited by Hiro (2019-06-07 15:44:31)

Offline

#11 2019-06-07 15:30:52

pon3
Member

Re: 改行で区切られた値を値一覧にしたい

営業日報を管理するデータベースです。

●日報テーブル
日付(グローバル)
日付
営業
顧客名
時刻
報告(テキスト)
品番(テキスト)
報告書まとめ(書式つき計算フィールド)
報告書まとめ(集計一覧)
品番(集計一覧)


報告は顧客ごとに1レコードとなっていて、
同じ営業さんが1日に複数レコードつくります。

日報テーブルを日付(グローバル)で自己リレーションして、
日付(グローバル)をめくってその日の日報を一覧できるようにしています。
最初シンプルにポータルで表示していたのですが、
報告書によって文章量があまりに違って読みにくかったので、
営業名や報告を文字色やフォントサイズを変えて読みやすくした上で
集計一覧でまとめて見せています。

その後、報告の中に商品名がよく出てくるので、
商品マスタを呼び出したい需要がでてきました。

そこで品番フィールドを設けて報告レコードごとに入れてもらうようにしました。
ポップアップメニューでその日の報告書に含まれる品番から選択すると、
商品マスタを呼び出して写真などを表示するようにしたいと考えています。

品番集計一覧をグローバル変数に入れ、というのは
方法を模索している中でのアイデアですので、
他に方法がありましたら必ず必要なものではありません。

Offline

#12 2019-06-07 17:47:34

チポ
Member

Re: 改行で区切られた値を値一覧にしたい

そういうことなら、
動的値一覧でできますよ。

ヘルプのリンクです
https://fmhelp.filemaker.com/help/17/fm … -list.html


別の考え方ですが、、
品番でリレーションして、ポータルで表示のレイアウトに切り替え

でもいいかも。

Offline

#13 2019-06-10 17:01:02

pon3
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.010 seconds, 9 queries executed - Memory usage: 548.04 KiB (Peak: 568.95 KiB) ]