氏名と名前、住所(丁目・番地・マンション名など)、複数のフィールドに入力させて、それらを結合したいシーンって結構ありませんか?
kintoneの場合、フィールドの設定画面で「自動計算」を入力することで簡単に結合できちゃいます。

フィールドを”&”で繋げるだけで、自動的に結合された文字列が入力されるようになります。簡単ですね!

ただ、これで安心して運用しているとエラーに遭遇することになります。。。まずはこの要因から解説していきましょう。
文字列の結合で「N/A」になるエラーの要因
例のように住所を入力し結合して表示させたい場合、マンション名やビル名が省略されることってよくありますよね。
その場合は当然空欄になるわけですが、結合する対象のフィールドが”空欄(つまりnull)”の場合、結合後の文字列が「N/A」というエラーが表示されてしまいます。

これはもうkintoneの仕様なので仕方がありません。
それならばJavaScriptで実装してしまいましょう!
JavaScriptでフィールドの文字列を結合する方法
今回はあまり複雑なプログラムではないので、早速ソースコードを見ていきましょう。
// 新規登録時に起動
kintone.events.on('app.record.create.submit', function (event) {
// レコード情報の取得
var record = event.record;
var prefecture = record['都道府県'].value;
var city = record['市区町村'].value;
var chome = record['丁目番地'].value;
var apart = record['マンション名'].value;
// フィールドの結合
var address = '';
if(prefecture){ address += prefecture; }
if(city){ address += city; }
if(chome){ address += chome; }
if(apart){ address += apart; }
// フィールドに結合した文字列を挿入
record['住所'].value = address;
return event;
});
これで実際に動かしてみると、、、


結合できましたね!
まとめ
今回のように、kintoneの基本機能だけでは”痒いところに手が届かない”ようなケースがあります。
ただ、JavaScriptでカスタマイズできるところもkintoneの便利な点の1つなので、軽微な改修は自分で実装してみるのも良いと思います。
文字列の結合は簡単に実装できるので、是非お試し下さい!

