コンボボックスのデータソースにSharePointのリスト(以下SPOリスト)を入れたとき、委任警告を回避して前方一致検索を実装したのでその方法をメモ。
事前準備
こんな感じでたくさんのアイテム(今回は2001個)が入っているSPOリストを用意して、

今回は動作がわかりやすいようデータ行の制限を10に設定する。

SharePointリストに対してStartsWith関数は委任可能
まずは普通にコンボボックスのデータソースにSPOリストを入れて検索をオンにすると、こんな感じで委任の警告が出る。

委任の警告が出ているので当然データ行の制限数より大きいアイテムは持ってこれないし(今回は11個以上は持ってこれない)、

検索のテキストを入力しても、持ってきていないアイテムは表示することができない。

※図にするとこんな感じ。

ということでSearch関数の代わりにStartsWith関数を使って前方一致検索のみできるようコンボボックスを設定してみる。
FilterとStartsWith関数を使ってItemsプロパティを書き換える
ということでFilter関数とStartsWith関数を使ってItemsプロパティを書き換えるとこんな感じ。
※Itemsプロパティを書き換えると「検索の許可」が勝手にオフになることがあるので、再度オンにする。

委任の警告は出ているけれど実際検索してみると、
前方一致であればきちんと検索結果を持ってくることができている。
※図にするとこんな感じ。

※ただもちろんデータ行の制限数以上の検索結果は出せない。
※図にするとこんな感じ。
ということで前方一致検索でよければSPOリスト相手でもコンボボックスで検索が可能。
おまけ:委任警告表示が気になるなら
委任の警告が気になるのであればこんな感じでWith関数とかを使ってあげれば、警告を消すこともできる。

もちろん前方一致なら問題なく検索可能。

コメント