2015-08-28 4 views
2

Я ищу список писем из их соответствующих PR_MESSAGE_ID с использованием функции Outlook VSTO AdvancedSearch.Эквивалент Select Where In с Outlook DASL Filter

Мой запрос выглядит

http://schemas.microsoft.com/mapi/proptag/0x1035001E = 'targetId1' OR 
http://schemas.microsoft.com/mapi/proptag/0x1035001E = 'targetId2' OR 
http://schemas.microsoft.com/mapi/proptag/0x1035001E = 'targetId3' OR 
http://schemas.microsoft.com/mapi/proptag/0x1035001E = 'targgetId4' ...etc. 

я подвергаю сомнению эффективность этого подхода, и я хотел бы знать, если есть более элегантный запрос, похожий на SELECT, то WHERE «MESSAGE_ID» IN (targetId1 , targetId2 и т. д.)

ответ

0

Нет, AdvancedSearch является правильным выбором, поскольку поиск выполняется в фоновом режиме, не блокируя поток пользовательского интерфейса. Кроме того, вы можете искать предметы у нескольких фордов.

Все запросы DASL начинаются с префикса с учетом регистра «@ SQL =», за исключением запросов DASL для Application.AdvancedSearch.

См. Filtering Items для других альтернатив.

+0

Я думаю, вы неправильно поняли, извините, если не было ясно. Я редактировал вопрос. На самом деле, я не ищу другой подход к поиску, а другой запрос DASL для перехода к методу AdvancedSearch. –

+0

См. [Фильтрация элементов] (https://msdn.microsoft.com/en-us/library/office/ff863965.aspx) для других альтернатив. –

+0

Я уже посмотрел на этот ресурс. Я не вижу никаких операторов 'contains' или 'in'. –

Смежные вопросы