我在联系人的自定义日期使用过滤器时遇到问题。
RDOItems Contacts = null;
string strSearch = string.Empty;
strSearch = AddQuotes("http://schemas.microsoft.com/mapi/string/{01234567-8901-2345-C678-901234567801}/CustomFieldString");
strSearch += " <> '' ";
strSearch += " AND ";
strSearch += AddQuotes("http://schemas.microsoft.com/mapi/string/{01234567-8901-2345-C678-901234567802}/CustomFieldDate");
strSearch += " < ";
strSearch += "'2010-04-28 18:00'";
Contacts = (RDOItems)synContacts.Items.Restrict(strSearch)
当我只使用过滤器的第一部分(CustomFieldString)时,我得到了正确的联系人,但是当我使用datetime字段展开过滤器时,不会返回任何联系人。
谢谢,
Spitje
答案 0 :(得分:0)
如果指定的MAPI属性具有作为anid的字符串(对应于整数),则无法在DASL名称中指定属性类型,因此Redemption假定为string。
如果属性已添加到文件夹字段中,则属性定义将存储在该文件夹中的隐藏消息中,您只能使用属性名称(CustomFieldDate) 否则,您可以调用GetIdsFromNames来找出属性标记,“或”使用适当的类型(PT_SYSTIME),然后构造看起来像常规(未命名)MAPI属性的DASL名称:
e.g。 http://schemas.microsoft.com/mapi/proptag/ 的 0x80650040
德米特里·斯特拉奇琴科(MVP)