みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
マスタか値一覧に
あ
い
う
と登録して、
あるテーブルに
1 あ
2 い
3 う
4 あ
5 い
6 う
7 あ
と、文字列を順番にリレーション表示していくにはどうしたらよいですか?
テーブルにレコードを作成するたびに自動でやりたいです
マスタの頭から順にいれていき最後まで来たら、また頭からはじめるということです
リレーションではなくテーブルのフィールドに代入する形でもかまいません
Offline
Let (
[
ls = マスター一覧 ; // あ¶い¶う
n = ValueCount ( ls )
] ;
GetValue ( ls ; Mod ( Get ( レコード番号 ) - 1 ; n ) + 1 )
) で全置換すればいいでしょう。
Last edited by Shin (2018-01-06 10:49:29)
Offline
全置換ということは
新規レコードを作成したときに
既存のレコードにも再度書き換えが行われるということでしょうか?
それですとレコード数が多くなると遅くなっていきませんか?
Offline
マスター一覧
が値一覧を参照しているということなのですか?
// あ¶い¶う は単なるコメントでこれを参照しているのではないのでしょうか?
IS という変数に値一覧のマスター一覧を代入
n という変数に値一覧の値の数を代入
レコード番号から1を引き、それを値一覧の数で割る
そして+1をする
その数値の順番の値一覧が表示される
ということですか?
Offline
その通りです。
実際に動かして見られるとわかると思いますが、全置換がおそらく一番早いです。
Last edited by Shin (2018-01-07 00:16:32)
Offline
スクリプトトリガで新規レコードがつくられたときに実行するようにすると
全置換はそのレコードに対してのみ行われるということでいいですか?
Offline
新規レコードでのトリガー、ってありましたっけ?
とりあえず、既存のレコードに対しては全置換で設定し、新規レコードに対しては自動入力で行います。ただし、レコード番号は、表示対象になっているレコード群での番号ですので、シリアル番号などの数値を取得する必要があるでしょうね。式は、Get ( レコード番号 ) の部分を変更すれば、そのまま使えるはずです。
Last edited by Shin (2018-01-07 12:17:16)
Offline
レコード番号から1を引き、それを値一覧の数で割る
そして+1をする
のところはどういう意味があってしているんですか?
ちなみに新規レコード作成で、といったのはなんらかのフィールドに
入力があったときに、自動処理で、という意味でした
Offline
欲しい数字列は、1,2,3,1,2,3...で、人はこの様に考えて数えますよね。これは、数学的には困ったもので、数学的には、0,1,2,0,1,2...が作りやすく、扱いやすい。これが答え。
Offline
途中のレコード削除はあるのでしょうか?
削除があれば、レコード番号は使えないのでは。
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 562.27 KiB (Peak: 582.09 KiB) ]