q 関数

説明

この関数は特殊で、「クエリで条件を指定してレコードを取得する」の検索条件(クエリ)を作成する際の補助となる関数です。q関数を使用すれば、従来であれば textjoin関数 を駆使して複雑な式を書く必要があった個所を短く書くことができるようになります。

任意の数のパラメーターを受け取り、各パラメーターの値をダブルクォーテーションでくくってカンマで区切ります。パラメーターに配列を渡した場合は、配列の各要素の値に対して上記の処理を行います。つまり、配列の各要素をダブルクォーテーションでくくってカンマ区切りで並べます。

さらに、ダブルクォーテーションでくくった内側は kintoneクエリ用にエスケープ処理されます。「クエリで条件を指定してレコードを取得する」では ${式} の結果をエスケープしますが、${q(…)} とした場合はq関数自身が行うエスケープと2重にエスケープされないようになっています。

使用例

以下の例の表記で、「(結果)⇒XXX」はその式を実行した結果を表します。実際には「(結果)⇒XXX」は式に入力しないでください。

= q("東京", "大阪", "名古屋")
(結果)⇒ "東京", "大阪", "名古屋"
= q(["東京", "大阪", "名古屋"])
(結果)⇒ "東京", "大阪", "名古屋"

下の例では「出発地」フィールドに「東京」、「到着地」フィールドに「大阪」という値が入っているとします。

= q(出発地, 到着地)
(結果)⇒ "東京", "大阪"

下の例では、「都道府県」が複数選択フィールドで「東京」「大阪」が選択されているとします。

= q(都道府県)
(結果)⇒ "東京", "大阪"

配列と非配列を組み合わせることもできます。これにより、フィールドの選択値と固定と組み合わせるような指定ができます。

= q(都道府県, "北海道")
(結果)⇒ "東京", "大阪", "北海道"

ユーザー選択フィールド、組織選択フィールド、グループ選択フィールドにも対応しています。この場合、ユーザーのログイン名が値になります。

以下の例では、ユーザー選択フィールドに「suzuki」「yamada」「nielsen」の3人が選択されているとします。

= q(ユーザー選択)
(結果)⇒ "suzuki", "yamada", "nielsen"

以下は、都道府県フィールドで選択されている都道府県または北海道を選択したレコードを取得するクエリの例です。

都道府県 in (${q(都道府県, "北海道")})