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

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

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

You are not logged in.

Announcement

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


#1 2017-12-22 15:03:47

動的な変数名の設定

FilemakerAdvanced 12
Windows10

いつもお世話になっております。
以前は出来ていたのですが全く忘れてしまって、、教えてください。

複数レコードがあり、loopを使って変数(フィールド名:商品コード)を設定していきたいのです。
例えば下記のように$商品コードの後に数値を動的に変化させていきたいです。

$商品コード1 3423
$商品コード2 3212
$商品コード3 5432
$商品コード4 7546
$商品コード5 6345
$商品コード6 6546
$商品コード7 6536
$商品コード8 3433



後の4ケタの数値が無視してください、設定する商品コードです。

下記のような関数を使った気がするのですが。。
Evaluate ( Let

よろしくお願いします。

Last edited by ちゃっくん4 (2017-12-22 15:08:47)

Offline

#2 2017-12-22 16:02:47

Hiro
Member

Re: 動的な変数名の設定

Loopスクリプトに代わり、
繰り返し変数・計算式による「フィールド内容の全置換」で一括設定処理する案。
その計算式は、

   Let([$i=Case(Get(レコード番号)>1;$i)+1;$商品コード[$i]=商品コードフィールド]; 商品コードフィールド)

式の意味は、
繰り返し[〇番]変数を設定して、自分自身(=商品コードフィールド)を自己値で置換しています。

検証は、以下の式&結果となれば成功。
式 $商品コード[1]  →  計算結果 3423
式 $商品コード[2]  →  計算結果 3212
式 $商品コード[3]  →  計算結果 5432

ただし、変数の再利用箇所によっては、グローバル$$変数にした方が良いのかも?

Last edited by Hiro (2017-12-22 16:09:50)

Offline

#3 2017-12-22 16:03:00

Shin
Member

Re: 動的な変数名の設定

Evaluate() の中で、"Let ( .... )" の中で変数名を作っていけばいいですが。
変数名を変えてもいいでしょうが、変数名を固定し、繰り返し位置を指定した方が簡単だと思いますよ。

何のために変数に格納し直すのですか。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.020 seconds, 7 queries executed - Memory usage: 507.15 KiB (Peak: 518.41 KiB) ]