みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
OS:[Mc/Win] FileMaker Ver:[12]
「ポータルの〇〇行の〇〇フィールドの値を計算式に使用する。」
の皆さんの回答を見ていて、
カスタム関数で挑戦しようと試みたんですが、
カスタム関数の中に使う
GetNthRecord (フィールド名;数値) の
フィールド名をどのように設定したいいのか?
いくつか挑戦したけど、全部不可
このGetNthRecord関数は、リレーションフィールドを使うので
そのフィールド名の指定方法がわからないのです。
ご教授いただければ幸いです。
フィールド名に
1:直接 関連フィード名を書き込んだ
2:変数で書き込んだ
3:引数で持ち込んだ
この3点、は試みてます。ただ正確にできていなかったかもしれないんですが。。。
Offline
どうも私の勘違いのようです
少し考え方を変えて
挑戦してみます。
ありがとうございました。
Offline
> GetNthRecord () のフィールド名をどのように設定したいいのか?
【ヘルプでは】フィールド名 - 任意の関連フィールド、繰り返しフィールド、またはフィールドまたは繰り返しフィールドを返す式
と定義されてますが、一方で、それ(複数データ値のセット)を格納できる機能を持った変数(引数)が用意されておりません。
その為やむなく、引数を使って関数式をテキスト生成して、Evaluateで実行するような工夫が必要です。
例えば、
・カスタム関数名: ctm_GetNthRecord(フィールド名;レコード番号)
・引数: フィールド名( テキスト形式で記述)、 レコード番号(数値)
・関数式: Evaluate("GetNthRecord(" & フィールド名 & ";" & レコード番号 & ")")
実装例とその実行は、(フィールド名は「""」で囲むこと)
ctm_GetNthRecord( "関連テーブル::フィールド名";5)
【訂正】
後で気が付いた点があり、試したらOKなので訂正させて下さい。
フィールド名をテキストで引数渡しすれば、関数式はテキスト化せず直接配置してもOKでした。
・関数式: Evaluate("GetNthRecord(" & フィールド名 & ";" & レコード番号 & ")")
↓
GetNthRecord(フィールド名; レコード番号)
Last edited by Hiro (2016-10-17 14:41:49)
Offline
後で気が付いた点があり、試したらOKなので訂正させて下さい。
フィールド名をテキストで引数渡しすれば、関数式はテキスト化せず直接配置してもOKでした。
・関数式: Evaluate("GetNthRecord(" & フィールド名 & ";" & レコード番号 & ")")
↓
GetNthRecord(フィールド名; レコード番号)
Hiroさんありがとうございます。
この件は、私も前の自分の回答を書いた後でふと気づいて
試したところまともに計算したので、件の質問への回答のカスタム関数ができてそれをアップしました。
なぜ、最初の試行でうまくいかなかったのか?
それがわからないのです。
2年ほどFMPを弄ってなかったのでかなりボケているようです。
浦島太郎の私をお許しあれ。
ありがとうございました。
Offline
Pages: 1
[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 508.09 KiB (Peak: 514.74 KiB) ]