社員コードやらなんやら。
新規でレコードを作成した時に入力の手間を省きたいという話。
FileMakerの機能でも
ファイル→管理→データベース→フィールド→オプション→入力の自動化に
シリアル番号という項目がある。
でもこれを使うと途中でレコードを削除してあらたにレコードを作成した場合、
その削除したレコードの番号の次の値が入力されてしまう。
1→2→3(削除)→4という感じ。でも希望としては
1→2→3(削除)→3としたい。
値は常に連続していて欲しい場合、このシリアル番号機能は使えない。
しかも数字の桁を揃えたい。001とかに。
シリアル番号機能だとこれも無理。
そこで入力の自動化で計算値を選択
SerialIncrement("000";GetNthRecord (フィールド名; Get(レコード番号)-1 )+1)
という形で実現。してるはず。
関数の説明
SerialIncrement
『SerialIncrement ( “abc12” ; 1 ) は、「abc13」を返します。』とのことで
桁合わせに使う。
GetNthRecord
リンク先のGetを使った例の説明がわかりにくいってか、上と全く同じなのだけど。。。
とりあえずGetNthRecord ( フィールド名 ; レコード番号 )で
指定したレコードのフィールドの値を返してくれる。
Get(レコード番号)
現在のレコードの番号を返してくれます。
てわけで。
フィールド名が社員コードとして、
GetNthRecord (社員コード; Get(レコード番号)-1 )
で一つ前の社員コードをゲットし、それに+1をしたうえで、
桁を揃えてやる、という感じ。
0 件のコメント:
コメントを投稿