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

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

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

You are not logged in.

Announcement

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


#1 2016-10-17 10:01:02

シャチ
Member

GetNthRecord をカスタム関数で使うには?

OS:[Mc/Win] FileMaker Ver:[12]

「ポータルの〇〇行の〇〇フィールドの値を計算式に使用する。」
の皆さんの回答を見ていて、
カスタム関数で挑戦しようと試みたんですが、
カスタム関数の中に使う
GetNthRecord (フィールド名;数値) の
フィールド名をどのように設定したいいのか?
いくつか挑戦したけど、全部不可

このGetNthRecord関数は、リレーションフィールドを使うので
そのフィールド名の指定方法がわからないのです。
ご教授いただければ幸いです。

フィールド名に
1:直接 関連フィード名を書き込んだ
2:変数で書き込んだ
3:引数で持ち込んだ
この3点、は試みてます。ただ正確にできていなかったかもしれないんですが。。。

Offline

#2 2016-10-17 12:03:32

シャチ
Member

Re: GetNthRecord をカスタム関数で使うには?

どうも私の勘違いのようです
少し考え方を変えて
挑戦してみます。
ありがとうございました。

Offline

#3 2016-10-17 12:57:46

Hiro
Member

Re: GetNthRecord をカスタム関数で使うには?

> 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

#4 2016-10-18 10:46:39

シャチ
Member

Re: GetNthRecord をカスタム関数で使うには?

Hiro wrote:

後で気が付いた点があり、試したらOKなので訂正させて下さい。
フィールド名をテキストで引数渡しすれば、関数式はテキスト化せず直接配置してもOKでした。
・関数式: Evaluate("GetNthRecord(" & フィールド名 & ";" & レコード番号 & ")")
               ↓
                GetNthRecord(フィールド名; レコード番号)

Hiroさんありがとうございます。
この件は、私も前の自分の回答を書いた後でふと気づいて
試したところまともに計算したので、件の質問への回答のカスタム関数ができてそれをアップしました。

なぜ、最初の試行でうまくいかなかったのか?
それがわからないのです。

2年ほどFMPを弄ってなかったのでかなりボケているようです。
浦島太郎の私をお許しあれ。

ありがとうございました。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 508.09 KiB (Peak: 514.74 KiB) ]