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

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

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

You are not logged in.

Announcement

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


#1 2018-01-04 18:31:12

LZZY
Member

Evaluate で変数を使用する方法

計算式マスタに
個数*100
というレコードを作成しておきIDでリレーションして呼び出し
スクリプトでEvaluateを使い、ポータル上のフィールドに計算結果を保存します

このとき、
計算式マスタ::個数*100 という形になっていないと?となってしまいます

テーブル名を変更したときのことを考慮して
スクリプトに変数で変数を定義して
$テーブル名 = Get (アクティブフィールドテーブル名) & "::"
として、計算式マスタには
( $テーブル名 & 個数*100)
としましたが計算されません

デバックでみると変数には
計算式マスタ::
が入っていますが
計算式は代入されておらず
( $テーブル名 & 個数*100) のままです

どのようにしたらよいのでしょうか?

Offline

#2 2018-01-04 19:08:57

Shin
Member

Re: Evaluate で変数を使用する方法

同じテーブル内で計算するのでしたら、テーブル名は気にしなくていいですよ。
Evaluate() の引数は、$テーブル名 & ”個数*100” になっていますか。

Offline

#3 2018-01-05 18:45:34

LZZY
Member

Re: Evaluate で変数を使用する方法

詳細を書いておりませんでしたので、再度質問させていただきます

親テーブル
子テーブル
計算式テーブルがあります

子テーブルをポータル表示していて、そのレコードの計算式ID(子テーブルに入力)に対応した計算式を
計算式テーブルから呼び出します

子ID 計算式ID 個数 金額(計算フィールド)
1   001    5   500

といったかたちです
子テーブルの金額フィールドに
Evaluate( 計算式テーブル::計算式 )
とすると、計算式テーブルに保存してある
個数 * 100
というものがとりだされ
上記のように金額が計算されます

ところが
スクリプトのフィールド設定で金額フィールドに
Evaluate( 計算式テーブル::計算式 )
としても計算されません

どうやったらいいのでしょうか?

Last edited by LZZY (2018-01-05 18:50:05)

Offline

#4 2018-01-05 22:12:18

Hiro
Member

Re: Evaluate で変数を使用する方法

未検証、机上の推論ですが、
恐らく、スクリプト内のフィールド指定だから、完全修飾形式での指名が必要かと?
   個数 * 100   →   子テーブル::個数 * 100

Offline

#5 2018-01-05 22:56:30

LZZY
Member

Re: Evaluate で変数を使用する方法

そうだと思います
その
子テーブル::

というところを使いまわしができるように
変数にするにはどうやったらいいですか?
$変数::個数*100
としてEvaluateで計算させたいですがうまくいきません

Offline

#6 2018-01-05 23:19:42

Hiro
Member

Re: Evaluate で変数を使用する方法

こんな感じかな?試してみて下さい。
   Evaluate($変数 & "::" & 計算式テーブル::計算式)

前提として、
・$変数に "子テーブル" が入っていて、
・計算式テーブル::計算式に "個数*100" が返される
ことを確認できていること。

Offline

#7 2018-01-06 16:37:23

LZZY
Member

Re: Evaluate で変数を使用する方法

計算式テーブルのレコードを
子テーブル::個数*100
にして
Evaluate( 計算式テーブル::計算式 )
とすると計算されました

計算式を
個数*100 に戻して
Evaluate($変数 & "::" & 計算式テーブル::計算式)
ですと、やはり?になってしまします

Offline

#8 2018-01-06 18:15:22

wader
Member

Re: Evaluate で変数を使用する方法

子テーブルのコンテキストで計算しないと計算式テーブル::計算式の値が得られないのでは。

Offline

#9 2018-01-09 11:27:49

チポ
Member

Re: Evaluate で変数を使用する方法

フィールド名を完全修飾にしなくても入力されましたよ。

何か他の原因では?


フィールドが「個数」で固定なら、
計算式テーブルを単価だけにして、個数に掛けてやればいいのでは。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 517.29 KiB (Peak: 521.83 KiB) ]