# ルックアップ自動取得時のエラー回避

**URL:** <https://community.cybozu.dev/t/topic/7176>\
**Category:** kintone 開発相談\
**Created:** [2021 年 6 月 13 日午前 7:16 UTC](https://community.cybozu.dev/t/topic/7176 "2021-06-13T07:16:48Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Legacy\_Account2773](https://avatars.discourse-cdn.com/v4/letter/l/8e8cbc/32.png) [@Legacy\_Account2773](https://community.cybozu.dev/u/Legacy_Account2773)\
**Post date:** [2021 年 6 月 13 日午前 7:16 UTC](https://community.cybozu.dev/t/topic/7176/1 "2021-06-13T07:16:48Z")

</div>

中島＠kintone初心者です。

氏名を入力したら、ルックアップで引っ張るようにしたいです。

ただし、レコードがない場合もあるので、

レコードがヒットしなければアラートを出すだけで

ルックアップをしないようにしたいのですが、

この記述でうまく稼働しません。

どなたかアドバイスいただけると助かります

[https://developer.cybozu.io/hc/ja/articles/211429603-%E8%87%AA%E5%8B%95%E3%83%AB%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%E3%81%A7%E5%90%8D%E5%85%A5%E3%82%8C%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E4%BD%9C%E3%82%8B](https://community.cybozu.dev/hc/ja/articles/211429603-%E8%87%AA%E5%8B%95%E3%83%AB%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%E3%81%A7%E5%90%8D%E5%85%A5%E3%82%8C%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E4%BD%9C%E3%82%8B)

を参考にしました。

kintone.api(kintone.api.url(‘/k/v1/records’, true), ‘GET’, params, function(resp) {

のところで引っかかっているようなのですが、アプリ側で設定が必要でしょうか。

※もっと簡単にできるよ！と言う場合は

そのあたりもご教示いただけると助かります。

```
(function () { "use strict"; var events1 = ['app.record.edit.change.氏名']; kintone.events.on(events1, function (event) { var record = event.record; if (record['氏名']['value']) { // ルックアップ先アプリIDを取得してリクエストボディにセット var appId = kintone.app.getLookupTargetAppId("顧客リスト"); var params = { 'app': appId, // ログイン名をキーにしたクエリ 'query': '氏名 = ' + record['氏名']['value'] }; // REST APIでルックアップ先のレコードを1件取得 kintone.api(kintone.api.url('/k/v1/records', true), 'GET', params, function (resp) { if (resp['records'].length === 1) { var setRecord = kintone.app.record.get(); // 取得したレコードの値をルックアップ元にセット setRecord['record']['ルックアップ']['value'] = resp['records'][0]['氏名']['value']; // セットした値でルックアップ実行 setRecord['record']['ルックアップ']['lookup'] = true; kintone.app.record.set(setRecord); // マスタに該当レコードがなかった場合のエラー表示 } else { alert('ヒットしませんでした'); } }); } });})();

```

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2110](https://avatars.discourse-cdn.com/v4/letter/l/439d5e/32.png) [@Legacy\_Account2110](https://community.cybozu.dev/u/Legacy_Account2110)\
**Post date:** [2021 年 6 月 14 日午後 1:29 UTC](https://community.cybozu.dev/t/topic/7176/2 "2021-06-14T13:29:38Z")

</div>

元のソースが誤っていたのかもしれませんが、

queryの記載が誤っています。下記のソースでお試しください。

変更点は 「‘query’: ‘氏名 = "’ + record[‘氏名’][‘value’] +‘"’」 の部分です。

（値がセットされること、エラーがメッセージで表示されることは確認してあります。）

&nbsp;

余裕があればアラートをかっこよくしてもよいかもしれません。

[メッセージをスタイリッシュに表示させよう](https://community.cybozu.dev/hc/ja/articles/204790870-SweetAlert-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6-%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%82%92%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AA%E3%83%83%E3%82%B7%E3%83%A5%E3%81%AB%E8%A1%A8%E7%A4%BA%E3%81%95%E3%81%9B%E3%82%88%E3%81%86-)

よろしくお願いします。

&nbsp;

```
(function () {
"use strict";
var events1 = ['app.record.edit.change.氏名'];
kintone.events.on(events1, function (event) {
var record = event.record;
if (record['氏名']['value']) {
// ルックアップ先アプリIDを取得してリクエストボディにセット
var appId = kintone.app.getLookupTargetAppId("顧客リスト");
var params = {
'app': appId,
// ログイン名をキーにしたクエリ
'query': '氏名 = "' + record['氏名']['value'] +'"'
};
// REST APIでルックアップ先のレコードを1件取得
kintone.api(kintone.api.url('/k/v1/records', true), 'GET', params, function (resp) {
if (resp['records'].length === 1) {
var setRecord = kintone.app.record.get();
// 取得したレコードの値をルックアップ元にセット
setRecord['record']['ルックアップ']['value'] = resp['records'][0]['氏名']['value'];
// セットした値でルックアップ実行
setRecord['record']['ルックアップ']['lookup'] = true;
kintone.app.record.set(setRecord);
// マスタに該当レコードがなかった場合のエラー表示
} else {
alert('ヒットしませんでした');
}
});
}
});
})();

```

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2773](https://avatars.discourse-cdn.com/v4/letter/l/8e8cbc/32.png) [@Legacy\_Account2773](https://community.cybozu.dev/u/Legacy_Account2773)\
**Post date:** [2021 年 6 月 18 日午後 3:45 UTC](https://community.cybozu.dev/t/topic/7176/3 "2021-06-18T15:45:39Z")

</div>

nishita さん

ありがとうございました。

教えていただいたとおりに記載して、

それ以外にも自分が間違っていたところを修正して、

先ほどようやくできました。ありがとうございました。

デバッグもなかなかままならず、時間がかかりましたが 学ぶ良い機会になりました。

今後ともよろしくお願いします。

---

<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:** [2025 年 5 月 15 日午前 6:35 UTC](https://community.cybozu.dev/t/topic/7176/4 "2025-05-15T06:35:35Z")

</div>

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