お知らせ
NEWS

動画でわかる FileMaker ヒント集

FileMaker で柔軟な採番を実現!SerialIncrement関数の基本と実用例

Claris FileMaker で開発を進める中で、

「レコード作成時に独自のルールで連番を振りたい」
「担当者ごとに異なるシリアル番号を生成したい」

といった課題に直面することはありませんか?

標準機能の「シリアル番号の自動入力」は非常に便利ですが、一度設定すると固定の文字と数字の組み合わせしか扱えず、特定のタイミングや動的な文字を組み合わせた採番には不向きな側面があります。

今回は、そのような悩みを解決する柔軟な採番を可能にする SerialIncrement関数 について詳しく解説します。

——————————————————————————–

【基本構文】SerialIncrement関数の定義と注意点

SerialIncrement関数は、指定されたテキストに含まれる数字の部分を、指定した量だけ増やして(または減らして)返す関数です。

構文

 SerialIncrement ( テキスト ; 増分 )

引数

 ・テキスト: 数値を含む任意のテキスト式、またはテキストフィールド。
 ・増分: テキスト内の数値を増加(または減少)させる基準となる数値。

戻り値の型

 ・テキスト

動作のルールと注意点

 この関数には、いくつかのルールと注意点がありますので、ご紹介します。

 1.末尾の数字が優先される: テキスト内に複数の数字がある場合、一番最後(右側)にある数字が評価の対象となります。

 2.記号はセパレータ扱い: 数字以外の文字(ドット、スラッシュ、アルファベットなど)はすべて区切り文字(セパレータ)として扱われます。
  例:「ABC 1.2」に対して増分「1」を指定すると、結果は「2.2」ではなく「1.3」となります。

 3.増分は整数で評価される: 増分に「1.4」や「1.8」などの小数を指定しても、最初の整数部分のみが参照されるため、結果は変わりません。

 4.マイナスの指定も可能: 増分に「-1」を指定すれば、数値を減らすことも可能です(例:「ABC 12」→「ABC 11」)。

——————————————————————————–

【実務での活用シーン】担当者ごとの柔軟な明細番号作成

動画では、標準のシリアル番号機能と異なり、「好きなタイミングで」「自由な文字列を組み合わせて」採番できる例として、担当者名を含んだ明細番号の作成手順を紹介しています。

活用例:担当者名+連番(例:tanaka001、suzuki001)

標準のシリアル番号設定では、全レコード共通の連番になってしまいますが、SerialIncrement関数 を使えば「田中さんが作った時だけtanakaの連番を進める」といった制御が可能です。

設定手順のステップ

 1.現在の値を保持する: スクリプトを使用して、現在設定されている最新の明細番号(例:「tanaka001」)を取得し、変数に格納します。
 2.新規レコードを作成する: 新しくデータを入力するためのレコードを作成します。
 3.フィールドに値を設定する: SerialIncrement ( 保存しておいた変数 ; 1 ) という計算式の結果(例:「tanaka002」)を、新しく作ったレコードの明細番号フィールドに設定します。
 4.レコードを確定する: 最後にレコードを確定させて完了です。

このように、スクリプトと組み合わせることで、対象者や条件に応じた最大値を取得し、それに対してプラス1をするという高度な採番制御が実現できます。

——————————————————————————–

【動画で解説!】

——————————————————————————–

まとめ

SerialIncrement関数 を導入することで、以下のような効果が期待できます。

 ・ユーザーの利便性向上: 「担当者ごとの番号」など、業務に即した直感的な採番が可能になります。
 ・データの正確性保持: 手入力による番号の重複やミスを防ぎ、システム側で一貫した連番管理が行えます。
 ・柔軟なシステム設計: 標準機能では対応しきれない特殊な採番ルールにも、関数とスクリプトの組み合わせで柔軟に対応できます。

「標準のシリアル番号機能では少し物足りない」と感じた際は、ぜひこの SerialIncrement関数 を活用してみてください。