みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FileMaker18で作業しております。下記のようなことがしたいです。
私の名前は、鈴木ichoroで、16歳です。
というテキストが、テキストフィールドAに入力されたときに、
予め作成されているテキストフィールド1からテキストフィールド4に、下記のように漢字のみを入力させたい。
テキストフィールド1=私
テキストフィールド2=名前
テキストフィールド3=鈴木
テキストフィールド4=歳
どなたか、ご教授お願いいたします。
まず、繰り返し計算フィールド
MiddleWords ( テキスト[1] ; Get ( 計算式繰り返し位置番号 ) ; 1 )
とすると繰り返し各回にテキストの単語が一つずつ入ります。
これを漢字だけ取り出します。
Case ( Code ( Left ( 繰り返し計算 ; 1 ) ) > 12570 ; 繰り返し計算 )
これから、空白を省いて、改行テキストにします。
List ( 漢字だけ )
これはFMの「単語」に従います。
Offline
結果は、繰り返し計算フィールド「テキストフィールド」に求める、としたときの
繰り返し計算式(ループ式)の作例です。
(※なお「㈱、㊊」など「漢字記号文字」は排除する仕様の式としてあります。)
●「フィールドA」:|㈱ニッポンの私の名前は、鈴木ichoroで、26歳です。|
↓
●「テキストフィールド」:|私|名前|鈴木|歳|||・・・|
Let(
[
$LOOP=
"Choose( IsEmpty($txt)
; Let([
#chr=Left($txt;1);
$res=$res & Case(Code(#chr)>=19968 and Code(#chr)<40960; #chr; Char(13));
$txt=Replace($txt;1;1;Char(0))
]; Evaluate($LOOP))
; Substitute( Char(3)& $res &Char(3)
; [Char(13);Char(100002)];[Char(200001);Char(0)];[Char(100002);Char(13)] /*重複改行の除去*/
; [Char(3)&Char(13);Char(0)];[Char(13)&Char(3);Char(0)];[Char(3);Char(0)]) /*頭尾空行の除去*/
)"
];
Let([$txt=フィールドA[1]; $res=Char(0)]; GetValue(Evaluate($LOOP);Get(計算式繰り返し位置番号)))
)
Last edited by Hiro (2020-06-21 00:48:35)
Offline
大変たすかりました。教えていただいた方法にて解決いたしました。有難うございました。
Pages: 1
[ Generated in 0.006 seconds, 8 queries executed - Memory usage: 508.78 KiB (Peak: 513.32 KiB) ]