レコード全件取得の際、条件を指定する

あけましておめでとうございます。

今年もよろしくお願いいたします。

今回は下記ページのレコード全件取得について質問させてください。

このページにも書いてある通り、多数のレコードを全件取得すると、処理にかなりの時間がかかってしまいます。

そのため、関数部分のクエリで条件を指定したいと思いましたが、正しい文法がわかりません。例えば、もう一つ別のフィールド[radio_B]を条件に加えましたが、クエリ記法が正しくありませんというエラーが出てしまいました。

var params = {app: appId, query: 'order by レコード番号 asc limit ’ + limit + ’ offset ’ + offset ',radio_B ‘有’};

クエリの記法がわかるページ、もしくは正しい記法をご教授いただけるかたがいらっしゃいましたらよろしくお願いいたします。

 

https://developer.cybozu.io/hc/ja/articles/204730600

kumaさん あけましておめでとうございます。

ラジオボタンの場合は in を使います。

ラジオボタン_0 in (“A”, “B”)

という様な感じです。詳しくは下記URLをご参照ください。

https://developer.cybozu.io/hc/ja/articles/202331474

松村様

お返事いただきありがとうございます。

早速、ご教授いただいた方法で以下のプログラムを書いてみました。

var params = {app: appId, query: ‘order by レコード番号 asc limit ’ + limit + ’ offset ’ + offset + ’ and radio_B in (‘有’)’};

 

しかし、 Uncaught SyntaxError: Unexpected identifier というエラーが出力され、(‘有’)の前にカーソルが置かれ、動きませんでした。

”有”はラジオボタンの選択肢にあるので、ここでエラーということはないと思うのですが、このクエリ文の問題ある点がお分かりでしたら

ご教授いただけませんでしょうか。

どうぞよろしくお願いいたします。

連投で申し訳ありません。'有’のクォーテションを以下のようにダブルにしたところ、先ほどのエラーは出なくなりました。

var params = {app: appId, query: ‘order by レコード番号 asc limit ’ + limit + ’ offset ’ + offset + ’ and radio_B in (“有”)’};

しかし,次の問題が発生しました。

GET https://XXX.cybozu.com/k/v1/records.json?app=3&query=order%20by%20%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E7%95%AA%E5%8F%B7%20asc%20limit%20100%20offset%200%20and%20radio_B%20in%20(%22%E8%A6%81%E4%BA%88%E7%B4%84%22) 400 (Bad Request)

なるエラーが出てしまいました・・・。

こういった場合、どこをチェックすれば原因がわかるのでしょうか・・・。

ご教授ください。

よろしくお願いいたします。

kuma さん

抽出条件は、query の先頭に記述します。

var params = {app: appId, query: 'radio_B in ("有") order by レコード番号 asc limit ' + limit + ' offset ' + offset };

 

書き方は、query のサンプル等を参考にするしかないですね。

kintone カスタマイズ関連リンク集 全レコード取得

 

rex0220 さま

いつもお世話になっております。

お教えいただいた方法で無事解決いたしました。

検索結果の表示速度が段違いですね…!!

大変助かりました!

ありがとうございます。

また、素晴らしいまとめをありがとうございます。

お気に入り登録させていただきました。