みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
テーブルのフィールドにレコード番号を計算フィールドをGet(レコード番号)で書いています。
レコードを削除して追加すると同じレコード番号が複数存在します。
そして実際のレコード番号と書かれたフィールドのレコード番号の値が異なっています。
レコードを削除または追加した場合Get(レコード番号)で置換しないといけませんか?
Offline
Get ( レコード番号 ) は対象レコードの現在のソート順でのレコード位置を示す番号です。
対象レコードが変われば変わってしまいますし重複も当然発生します。
レコード識別子として利用するには不適です。ヘルプを読んでみましょう。
Get ( レコード番号 )
https://www.filemaker.com/help/15/fmp/j … er.html%23
Offline
レコード番号は、その計算時点での相対位置番号です。
作成順の絶対位置番号は、レコードIDです。
Offline
現在の対象レコード・ソート順
に番号を振りたいのなら、
そのフィールドの索引を非保存にすればいいですね。
レコード固有の番号を振りたいのでしたら、
Hiroさんの通りでしょう。
Offline
レコードIDでしたか。
この関数は1テーブルに対してのレコードIDでしょうか?
(1テーブルごとに1から連番?)
Offline
試してみればお分かりになると思いますが、、
テーブルごとにレコード作成順に1からです。
Offline
計算フィールドを レコード番号 から レコードID に変更したところ
1からの連番ではなく50,000レコード程度のレコード数に対して登録された数値が
100万を超えた数値から書かれてしまいました。
Offline
すでに過去の作成レコード数がその数値まで達していると云う事でしょう。
レコードIDはレコード作成時に自動的に発給されるものです。
Offline
んん!!
現在が5万レコード程度で、100万レコードも作っていた?
最適化等、メンテしていますか?
何もしていなければ、多分大きな容量になっていると思いますよ。
好きな番号から振りたいのでしたら、
数字フィールドにして、シリアル番号で全置換すればいいでしょう。
それ以降は、入力値の自動化で入力出来ます。
Offline
100万レコードなんて作ってませんが...
最初から5万レコードほどです。(多少の削除や追加はありますが)
最適化してみましたが、容量はさほど減ってません。
最適化したあとにレコード番号をレコードIDに変えてみたらもっと番号が増えました。
190万台になりました...
前の情報をどこかで管理されているような....?
とりあえず、レコードID レコード番号のフィールド利用ははあきらめます。
Offline
レコードID ってそんな感じですよ。急に値が増えたりします。
ところで、何のためにどのような番号を振りたいのでしょうか...?
Offline
ポータルの中の実レコード番号を取得したかったのです。
Offline
今更ですが、
#12 > ポータルの中の実レコード番号
って何のこと?
・「レコード番号」と「レコードID」の違いは既に説明してありますが、
・あえて「実」を付けているのは、レコードIDの事?
・あるいは「ポータルの中の」とあるのは、ポータル内での相対的行番号を求めている?
・それなら、Get(レコード番号)の計算結果を非保存にすれば良いですが、
どうも質問の要点が掴めません。
結論として、何が最終的にやりたい事なのかをお聞きした方が良いのかも。
例えば、ポータル内の任意行をクリックしてその関連レコードへ移動・表示する、とか。
Offline
非常に説明するのが難しいもので....
GET(レコード番号)は理解できましたが、なんでGET(レコードID)の番号がそんなになるのかは疑問です。
Offline
Pages: 1
[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 571.24 KiB (Peak: 588.15 KiB) ]