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

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

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

You are not logged in.

Announcement

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


#1 2018-01-06 05:23:50

よしよし
Member

マスタの値をループさせる

マスタか値一覧に


と登録して、
あるテーブルに

1 あ
2 い
3 う
4 あ
5 い
6 う
7 あ

と、文字列を順番にリレーション表示していくにはどうしたらよいですか?
テーブルにレコードを作成するたびに自動でやりたいです
マスタの頭から順にいれていき最後まで来たら、また頭からはじめるということです

リレーションではなくテーブルのフィールドに代入する形でもかまいません

Offline

#2 2018-01-06 09:24:47

Shin
Member

Re: マスタの値をループさせる

Let (
[
 ls = マスター一覧 ; // あ¶い¶う
 n = ValueCount ( ls )
] ;
 GetValue ( ls ; Mod ( Get ( レコード番号 ) - 1 ; n ) + 1 )
) 

で全置換すればいいでしょう。

Last edited by Shin (2018-01-06 10:49:29)

Offline

#3 2018-01-06 15:56:39

よしよし
Member

Re: マスタの値をループさせる

全置換ということは
新規レコードを作成したときに
既存のレコードにも再度書き換えが行われるということでしょうか?
それですとレコード数が多くなると遅くなっていきませんか?

Offline

#4 2018-01-06 17:41:12

よしよし
Member

Re: マスタの値をループさせる

マスター一覧
が値一覧を参照しているということなのですか?

// あ¶い¶う は単なるコメントでこれを参照しているのではないのでしょうか?

IS という変数に値一覧のマスター一覧を代入
n という変数に値一覧の値の数を代入
レコード番号から1を引き、それを値一覧の数で割る
そして+1をする
その数値の順番の値一覧が表示される

ということですか?

Offline

#5 2018-01-07 00:15:12

Shin
Member

Re: マスタの値をループさせる

その通りです。

実際に動かして見られるとわかると思いますが、全置換がおそらく一番早いです。

Last edited by Shin (2018-01-07 00:16:32)

Offline

#6 2018-01-07 00:25:26

よしよし
Member

Re: マスタの値をループさせる

スクリプトトリガで新規レコードがつくられたときに実行するようにすると
全置換はそのレコードに対してのみ行われるということでいいですか?

Offline

#7 2018-01-07 12:16:10

Shin
Member

Re: マスタの値をループさせる

新規レコードでのトリガー、ってありましたっけ?
とりあえず、既存のレコードに対しては全置換で設定し、新規レコードに対しては自動入力で行います。ただし、レコード番号は、表示対象になっているレコード群での番号ですので、シリアル番号などの数値を取得する必要があるでしょうね。式は、Get ( レコード番号 ) の部分を変更すれば、そのまま使えるはずです。

Last edited by Shin (2018-01-07 12:17:16)

Offline

#8 2018-01-07 13:28:53

よしよし
Member

Re: マスタの値をループさせる

レコード番号から1を引き、それを値一覧の数で割る
そして+1をする
のところはどういう意味があってしているんですか?

ちなみに新規レコード作成で、といったのはなんらかのフィールドに
入力があったときに、自動処理で、という意味でした

Offline

#9 2018-01-07 15:18:25

Shin
Member

Re: マスタの値をループさせる

欲しい数字列は、1,2,3,1,2,3...で、人はこの様に考えて数えますよね。これは、数学的には困ったもので、数学的には、0,1,2,0,1,2...が作りやすく、扱いやすい。これが答え。

Offline

#10 2018-01-09 11:29:24

チポ
Member

Re: マスタの値をループさせる

途中のレコード削除はあるのでしょうか?

削除があれば、レコード番号は使えないのでは。

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, 10 queries executed - Memory usage: 568.31 KiB (Peak: 573.2 KiB) ]