カスタムリストからとある条件に合致した相手だけを取得する場合には、全件をループしてロジックで振り分けるのではなく CAML を使用して絞り込みを行う。
CAML (Collaborative Application Markup Language) の概要
注意点
FieldRef
タグのName
属性には、対象の列の内部名を使用する。DateTime
型の列に対しては、Value
タグの値には日付をISO8601形式に変換したものを設定する。<And>
や<Or>
で囲えるのは2つの要素だけ。- 3つ以上を
<And>
や<Or>
でつなげたい場合は入れ子にするしかない。
- 3つ以上を
作成例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<Query> <Where> <And> <And> <Geq> <FieldRef Name='_x3046__x3093__x3053__x65e5_'/> <Value Type='DateTime'>2015-10-01T00:00:00+09:00</Value> </Geq> <Leq> <FieldRef Name='_x3046__x3093__x3053__x65e5_'/> <Value Type='DateTime'>2015-11-01T00:00:00+09:00</Value> </Leq> </And> <Eq> <FieldRef Name='_x3046__x3093__x3053__x4eba_'/> <Value Type='Text'>くそみそ太郎</Value> </Eq> </And> </Where> <OrderBy> <FieldRef Name='ID' Ascending='TRUE'/> </OrderBy> </Query> |