FileMaker 自動で数字が増えるようにする。

2015年3月20日金曜日

FileMaker

t f B! P L


社員コードやらなんやら。
新規でレコードを作成した時に入力の手間を省きたいという話。


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をしたうえで、
桁を揃えてやる、という感じ。

Blog Archive

Categories

Labels

スマホ (47) MyPC (40) Movabletype5 (30) custom (27) Book (22) Soft (18) ドラクエウォーク (14) Digital (13) 日々 (13) Movie (12) Music (12) memo (12) App (11) Creditcard (11) Review (10) 書籍 (9) Hard (8) モノコレ (8) Chrome (7) 小説 (7) Blogger (6) Plug-in (5) Topics (5) 写真集 (5) 育児 (5) LGV32 (4) NAS (4) live (4) FileMaker (3) Room (3) SH-07E (3) Wordpress (3) カルチャー (3) Car (2) アニメ (2) 漫画 (1)

About

since 2002
現在零細企業経営(製造業)
二人娘の父(2020年サイト再開時5歳3歳)

QooQ