VSTO Outlook GetTable фильтр, почему он недействителен? - PullRequest
0 голосов
/ 30 января 2011

Я пытаюсь получить таблицу из папки контактов

GetContactsFolder (). GetTable (filter, OlItemType.olContactItem);

, но я продолжаю получать исключения: "Условие недействует».Я пробовал несколько разных фильтров синтаксиса.Я хочу сделать как запрос.Следующий фильтр работает

[Email1Address] ='something@domain.com'

, но ничего из этого не работает

[Email1Address] LIKE '% нечто%'

[Email1Address] LIKE '* что-то *'

[Email1Address] LIKE '#something #'

[Email1Address] LIKE '? Что-то?'

Если яиспользуйте outlook для настройки фильтров вида, он создает операторы LIKE с использованием%, но по какой-то причине он не работает для меня.

Идеи?

1 Ответ

1 голос
/ 01 февраля 2011

Какой позор, что никто не мог ответить на это.Ответ в том, что

  1. Я использую синтаксис JET, а JET не поддерживает LIKE
  2. Необходимо использовать синтаксис DASL "" http://schemas.microsoft.com/mapi/id/{00062004-0000-0000-C000-000000000046}/8084001f" LIKE '% что-то%' ", которыйЯ пытался (получение SQL из Outlook)
  3. Нужно использовать синтаксис DASL, НО, нужно префикс его с @ SQL =

    string filter = "@ SQL = \" http://schemas.microsoft.com/mapi/id/{00062004-0000-0000-C000-000000000046}/8084001f" LIKE '% что-то%' \ "";

...