公開日:2018-01-11
今回はルックアップフィールドを重複禁止にしたい時の方法です。
半年前に書いた kintoneのルックアップの落とし穴(その1) はこちら。
使ったアプリ
以下の2つのアプリを使います。
- 社員マスタ
2. 社員マスタをルックアップして、社員の情報を入れるアプリ
フィールドはこんな感じです。
実現したい事
アプリ(社員マスタでは無い方)にレコード追加する際、社員ごとに1レコードだけ登録できるように制限したいケースがありました。
社員番号に対して重複を禁止できれば良いのですが、ルックアップフィールドには重複禁止の設定がありません。
↑ 右図では文字列フィールドと書いていますが、以下のフィールドタイプには重複を禁止する設定があります。
- 文字列(1行)
- 数値
- 日付
- 日時
- リンク
試した事
「文字列(1行)」フィールドであれば重複禁止の設定が使える事を利用して、
重複禁止にした「文字列(1行)」フィールドを用意して、自動計算で社員番号をコピーすればいけるのでは!と考えました。
で、実際に試したところ・・・
自動計算を有効にすると、重複禁止の設定ができなくなる仕様でした(´;ω;`)
これはJavaScriptでカスタマイズするしか無いか・・・と思ったのですが、次の方法であればカスタマイズ無しで対応できました(∩´∀`)∩ワーイ
解決策
以下のようにアプリを変更します。
- 「文字列(1行)」を追加し、重複禁止の設定を行う(ここではフィールド名を「社員番号(コピー)」としている)
- 社員番号(ルックアップ)の設定で、「ほかのフィールドのコピー」に「社員番号(コピー)」フィールドの設定を追加する
はい、、、ルックアップでコピーしてあげるだけです・・・。
このように設定する事で、同じ社員番号のデータを追加しようとすると、重複禁止のエラーになるわけです。
注意点としては、既存のレコードには「社員番号(コピー)」に値が入っていないため、再ルックアップしてあげる必要があります。
その3へ続く(?)
投稿者プロフィール
- kintoneを活用したシステム開発(だけ)をやってます。kintoneエバンジェリストもやってます。祇園祭と仮面ライダーが好きです。
最新の投稿
- gusuku2023年12月13日kintoneのレコードをExcelのピボットテーブルで集計したい(なるべく楽に)
- kintone2022年6月29日カレンダーPlusの終日仕様をCustomineで何とかしようとした話し(後編)
- kintone2020年12月10日カレンダーPlusの終日仕様をCustomineで何とかしようとした話し
- kintone2020年9月2日カレンダーPlus愛を伝えるエバンジェリストとして…