9
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

【FileMaker】カテゴリごとに管理番号を振る (追記あり)

今回は、管理部門でよくありそうな、カテゴリごとに管理番号を振っていくケースです。

例えば、
カテゴリ:AB,CD,EF,GH,IJ
という管理部門ごとに、物品番号を振っていく、などのように、
物品番号:AB0001,AB0002,CD0001,EF0001,EF0002,EF0003,,,,,
という管理番号を自動で作成したい、という時の実装です。

単純に連番であれば、フィールドの設定でシリアル番号が活用できますが、カテゴリごとに振る場合は、データの連番であるシリアル番号だと思ったことができませんよね。

この場合の実装は、3つの作業あります。
(1)連番を振りたいカテゴリごとに自己参照をする
(2)集計のフィールドを持つ
(3)スクリプトトリガで管理番号を作成する
です。
この3つを実装すると、↓のようにカテゴリごとに連番が作成できます。
FMkanri1.png

では、実装していきましょう。

(1)連番を振りたいカテゴリごとに自己参照をする

「自己参照」、難しい言葉ですよね。
ここでは「同じ仲間、集まれ!」という手つなぎをしていると理解できていれば、OKです。
リレーションシップ画面で、同じテーブルのオカレンスを作り、カテゴリでリレーションを張ります。
FMkanri2.png
↑これで、「同じ仲間」が集まれます。

(2)集計のフィールドを持つ

集計は、いくつかやり方があると思いますが、今回は手っ取り早く集計フィールドを持ちました。
データの中から、「同じ仲間」をカウントします。
FMkanri3.png

(3)スクリプトトリガで管理番号を作成する

(1)と(2)の準備を行ったことで、カテゴリごとに連番が振れるようになりました。
これらのリレーション(手つなぎ)と集計を使って、スクリプトを仕上げます。

カテゴリが選択された際、同じカテゴリの数を数えて連番を作ります。
FMkanri4.png
管理番号を構築する際、連番の桁数が決まっていることが多いので、その桁数になるように、Right関数を使っています。
今回は、4桁の連番という仕様にしました。
このやり方を覚えておくと、いろんな場面で使えますよ。

この実装の時注意することは、「自己参照」している先の集計を使う、というところです。
FMkanri6.png
ちょっと難しいですよね。。。

↓自己参照で集まっているというイメージは、こんな感じでしょうか。
FMkanri7.png
(あ、子供でないわんわんもいる。。。)

入力してみる

FMkanri5.png
どうでしょう?
カテゴリごとに管理番号が振られているのがわかりますね。

では、楽しいFileMakerライフをお過ごしください。

追記 (2019/07/08)

続編を書きました。
【FileMaker】続・カテゴリごとに管理番号を振る インポート編
こちらもぜひ参考にしてください。

追記 (2019/07/26)

続々編を書きました。
【FileMaker】続々・カテゴリごとに管理番号を振る 最大値に追加
こちらもぜひ参考にしてください。

追記 (2019/10/22)

続々々編を書きました。
【FileMaker】続々々・カテゴリごとに管理番号を振る 名称を表示しつつコードの方を管理番号に採用
こちらもぜひ参考にしてください。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
9
Help us understand the problem. What are the problem?