みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
下記につきまして、イメージ通りできずに悩んでおります。
FikeMaker pro 15 advanced
macOS
フィールドになんかしらの数字があった場合、指定のフィールドを結合したものを表示したいと考えております。
その文字の結合を「,」(半角コンマ)で区切りたいのですが、
文字列が入力されていないフィールドのものに関しては「,」をつけずに次のフィールド内容を表示したいのです。
例えば下記のような6つのフィールドがあるとします。
フィールド1:一郎
フィールド2:二郎
フィールド3:三郎
・・フィールド17まであります
フィールドA:1
フィールドB:(空白)
フィールドC:2
・・フィールド17個あります
こちらを
上記とは別のフィールドaにフィールドを結合した結果で「一郎1,三郎2」と表示されるようにしたいと考えています。
こちらの過去の質問からSubstitute関数を使用してみるのかとおもいチャレンジしているのですがうまくいきません。
どうか宜しくお願い申し上げます。
ベタに作ると、
Substitute (
List ( Case ( フィールドA ; フィールド1 & フィールドA ) ; Case ( フィールドB ; フィールド2 & フィールドb ) ; ..... )
¶ ; ","
)
ですね。17位だから、これでいいかと。
Offline
shinさん
ありがとうございます。
こちらの式をコピペして使用してみたのですが、この式は計算できませんでした。と出てしまいます。最後の[...]の個数でしょうか?[¶]マークでしょうか?
原因がわからず困っております。
申し訳ありませんが、もう少し教えていただけないでしょうか?
どうぞよろしくお願い申し上げます。
Shinさんの式の.....はそのままコピペではなくて、
同様の式をフィールド17個分読み替えて作るってことだと思いますよ。
Offline
Case() を、17組作ってください。List() の書式は、ヘルプを参照してください。
https://fmhelp.filemaker.com/help/17/fm … ect_header
Offline
Substitute(
List(
Choose(IsEmpty(フィールドA); フィールド1 & フィールドA);
Choose(IsEmpty(フィールドB); フィールド2 & フィールドB);
… ~ … ;
Choose(IsEmpty(フィールドQ); フィールド17 & フィールドQ)
)
; [¶ ; ","]
)
※Choose()行は17行連ねます。
Last edited by Hiro (2019-05-16 13:45:57)
Offline
皆様ありがとうございます。
先ほどの文章が言葉足らずで申し訳ありませんでした。
動作確認をするためフィールドを4つ(フィールド1、フィールド2、フィールドA、フィールドB)を作成して教えていただいたスクリプトを実行してみると
「この式は計算できませんでした」とでてしまいました。
今から17行を作成してみます。
またご指導宜しくお願い申し上げます。
皆様ありがとうございます。
今17個分作成して動作確認したところ無事動作しました。
丁寧に教えてくださりありがとうございます。
また質問させていただくときもどうぞよろしくお願い申し上げます。
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 512.98 KiB (Peak: 517.88 KiB) ]