# アクションで取得したサブテーブルのルックアップを自動取得させたい

**URL:** <https://community.cybozu.dev/t/topic/7811>\
**Category:** kintone 開発相談\
**Created:** [2023 年 7 月 13 日午前 9:47 UTC](https://community.cybozu.dev/t/topic/7811 "2023-07-13T09:47:28Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![umepanda](https://avatars.discourse-cdn.com/v4/letter/u/e47774/32.png) [@umepanda](https://community.cybozu.dev/u/umepanda)\
**Post date:** [2023 年 7 月 13 日午前 9:47 UTC](https://community.cybozu.dev/t/topic/7811/1 "2023-07-13T09:47:28Z")

</div>

アクションで、サブテーブル内のルックアップ項目をコピーしており、  
その際に、自動的にそのルックアップの取得を行いたいです。

ちなみにサブテーブルではないルックアップ項目については、以下のコード(ネットで見つけたものです。)でうまくいってるのですが、サブテーブルだとうまくいきません。  
※AAAというルックアップ項目を自動取得する。  
────────────────────────────────────────────────────────────────  
kintone.events.on(‘app.record.create.show’, function(event) {  
var record = event.record;  
record[‘AAA’].value; // ルックアップフィールドの値  
record[‘AAA’].lookup = true; // または record[‘AAA’][‘lookup’] = ‘UPDATE’;  
return event;  
});  
────────────────────────────────────────────────────────────────  
BBBというテーブル内のCCCという項目のルックアップを自動取得するにはどのようにすればよいのでしょうか。  
非エンジニアで、初歩的な質問かもしれませんがよろしくお願いします。

---

<div class="post-metadata">

**Author:** ![mls-hashimoto](https://sea1.discourse-cdn.com/flex015/user_avatar/community.cybozu.dev/mls-hashimoto/32/34_2.png) [@mls-hashimoto](https://community.cybozu.dev/u/mls-hashimoto)\
**Post date:** [2023 年 7 月 13 日午前 11:05 UTC](https://community.cybozu.dev/t/topic/7811/2 "2023-07-13T11:05:27Z")

</div>

サブテーブルの場合、何行目のフィールドなのかという指定が必要です。

```javascript
record['サブテーブルのフィールドコード'].value[インデックス番号].value['サブテーブル内フィールドのフィールドコード']['lookup']

```

こういった指定が必要で、インデックス番号は0から始まります（1行目の場合は0）。  
つまり

```javascript
record['BBB'].value[0].value['CCC']['lookup'] = 'UPDATE';

```

これでサブテーブルの1行目のルックアップが取得できます。  
但し、2行目以降も同じように指定する場合は、本当の新規作成時（サブテーブルが1行しかない状態）で存在しないもの（2行目）にアクセスしようとしてエラーになるので、本来なら配列のループで処理をする必要があります。  
ループ処理については[はじめようJavaScript第7回 JavaScriptの基本機能 繰り返し処理をする、for文](https://cybozudev.zendesk.com/hc/ja/articles/115003765686-%E3%81%AF%E3%81%98%E3%82%81%E3%82%88%E3%81%86JavaScript%E7%AC%AC7%E5%9B%9E-JavaScript%E3%81%AE%E5%9F%BA%E6%9C%AC%E6%A9%9F%E8%83%BD-%E7%B9%B0%E3%82%8A%E8%BF%94%E3%81%97%E5%87%A6%E7%90%86%E3%82%92%E3%81%99%E3%82%8B-for%E6%96%87-%E3%81%9D%E3%81%AE2-%E9%85%8D%E5%88%97%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%88%E3%81%86-?_ga=2.267327434.533848054.1689204414-560593496.1689204414)が、なぜサブテーブルにループ処理が必要なのかは[kintoneにおけるテーブル操作の基本](https://cybozudev.zendesk.com/hc/ja/articles/360022502911-kintone%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E6%93%8D%E4%BD%9C%E3%81%AE%E5%9F%BA%E6%9C%AC-%E8%A1%8C%E3%81%AE%E8%BF%BD%E5%8A%A0-%E6%9B%B4%E6%96%B0-%E5%89%8A%E9%99%A4-?_ga=2.88037340.533848054.1689204414-560593496.1689204414)が参考になると思います。

---

<div class="post-metadata">

**Author:** ![umepanda](https://avatars.discourse-cdn.com/v4/letter/u/e47774/32.png) [@umepanda](https://community.cybozu.dev/u/umepanda)\
**Post date:** [2023 年 7 月 14 日午前 12:09 UTC](https://community.cybozu.dev/t/topic/7811/3 "2023-07-14T00:09:32Z")

</div>

ありがとうございます！  
コードを書いたことない身からすると、難しそうですがせっかくの機会ですので勉強しながらやってみようと思います。

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex015/uploads/cybozu/original/1X/d5c841c3c5a6cb66eed514001c1b45147c9e1f4f.png) [@system](https://community.cybozu.dev/u/system)\
**Post date:** [2023 年 9 月 27 日午前 5:08 UTC](https://community.cybozu.dev/t/topic/7811/4 "2023-09-27T05:08:14Z")

</div>

クローズされました: 2023 年 9 月 27 日午前 5:08 UTC

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。
