# 普通のフィールドデータを、テーブルのフィールド1行目に上書き

**URL:** <https://community.cybozu.dev/t/topic/179>\
**Category:** kintone 開発相談\
**Created:** [2016 年 12 月 16 日午前 6:30 UTC](https://community.cybozu.dev/t/topic/179 "2016-12-16T06:30:49Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Legacy\_Account2124](https://avatars.discourse-cdn.com/v4/letter/l/d26b3c/32.png) [@Legacy\_Account2124](https://community.cybozu.dev/u/Legacy_Account2124)\
**Post date:** [2016 年 12 月 16 日午前 6:30 UTC](https://community.cybozu.dev/t/topic/179/1 "2016-12-16T06:30:49Z")

</div>

今までは、明細1行だけでよかったものを、ユーザーの希望で複数明細を登録する事になりました。

テーブルを使用したいのですが、過去のデータのフィールドの値を、全レコードについて、テーブルに移動する必要があります。

そこで、作業を簡略化するために、

詳細画面を開いて編集状態にした時にボタンを表示し、クリックすると、自動で、通常フィールドのテキストをテーブルの1行目のフィールドにコピーするようにしたいと思いました。

次のように作成しましたが、動作しません。

どなたか助けてください。

(function () {  
“use strict”;  
var events1 = [‘app.record.edit.show’];  
kintone.events.on(events1, function (event) {  
var mySpaceFieldButtonM = document.createElement(‘button’);  
mySpaceFieldButtonM.id = ‘my\_space\_field\_button\_M’;  
mySpaceFieldButtonM.innerHTML = ‘Modelサイズを明細へコピーするならクリック’;  
mySpaceFieldButtonM.onclick = function () {  
var record = kintone.app.record.get().record;  
var MtableRecords = record.ModelMeisai.value;  
var MV = record[‘MODEL0’].value;  
//サブテーブルの1行目、フィールド MODEL にMODEL0の値を追加  
record[‘MtableRecords’][‘value’][0][‘value’][‘MODEL’][‘value’] = MV;  
kintone.app.record.set({record:record});  
}  
kintone.app.record.getSpaceElement(‘my\_space\_field\_M’).appendChild(mySpaceFieldButtonM);  
return event;  
});  
})();

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2149](https://avatars.discourse-cdn.com/v4/letter/l/3da27b/32.png) [@Legacy\_Account2149](https://community.cybozu.dev/u/Legacy_Account2149)\
**Post date:** [2016 年 12 月 16 日午前 7:04 UTC](https://community.cybozu.dev/t/topic/179/2 "2016-12-16T07:04:44Z")

</div>

初めまして

アイティー・プラス・ワンのみなとんといいます。

サブテーブルの名前が「ModelMeisai」であるという仮定でお話しします。

&nbsp;

15行目の

```
record['MtableRecords']['value'][0]['value']['MODEL']['value'] = MV;

```

を

```
MtableRecords[0]['value']['MODEL']['value'] = MV;

```

にすることで、私の方では正常に動作しました。

サブテーブルへの参照の仕方が途中で違ってしまっていることが原因かと思われます。

Shoji Shinodaさんの15行目をそのまま生かしたいのであれば下記のようにすると正しく動作するかと。

```
record['ModelMeisai']['value'][0]['value']['MODEL']['value'] = MV;

```

※その場合は12行目の処理は不要となります。

&nbsp;

参考になりましたら幸いです。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2124](https://avatars.discourse-cdn.com/v4/letter/l/d26b3c/32.png) [@Legacy\_Account2124](https://community.cybozu.dev/u/Legacy_Account2124)\
**Post date:** [2016 年 12 月 16 日午前 7:23 UTC](https://community.cybozu.dev/t/topic/179/3 "2016-12-16T07:23:53Z")

</div>

**[大湊健](https://community.cybozu.dev/hc/ja/profiles/878483840-%E5%A4%A7%E6%B9%8A%E5%81%A5)様**

ありがとうございます。

```
MtableRecords[0]['value']['MODEL']['value'] = MV;

これだけでセットできました。
助かりました。
ユーザーに喜んでもらえそうです。

```
