oContacts.Items.Restrict 遗漏一些联系人

Posted

技术标签:

【中文标题】oContacts.Items.Restrict 遗漏一些联系人【英文标题】:oContacts.Items.Restrict Misses Some Contacts 【发布时间】:2020-12-03 16:15:08 【问题描述】:

我一直在使用 oContacts.Items.Restrict 来确定是否存在具有相同姓氏、名字和生日的联系人。在这种情况下,oContacts 引用 iCloud\Contacts。大多数时候它都有效;但是对于已知存在并使用相同代码创建的大量联系人,当我知道它应该至少为 1 时,计数为 0。

完全披露:我在Forums.SlipStick.com 发布了几天这个问题;但是,在超过 240 次浏览后没有收到任何回复,我希望这里有人能指出我正确的方向。仅供参考,我查找了有关交叉发布的任何说明,但没有找到任何推荐的程序。我相信我的承认会让我远离任何处罚箱。谢谢。

SlipStick 的帖子包含更多细节;但是,在此处包含该详细信息使我无法发布,因为它“看起来像垃圾邮件”。不知道为什么,但没关系。

布鲁斯

【问题讨论】:

【参考方案1】:

首先,您确实需要在此处发布所有详细信息,而不仅仅是提供第一个问题的链接。

其次,切勿将 = 与日期时间字段(例如 Birthday)一起使用 - 由于舍入错误,可能无法满足条件。始终使用范围。

另请注意,1/1/4501 正是 Outlook 为缺少的日期时间值返回的值(因为它不能为标量值返回 null)。查看OutlookSpy的联系人(选择联系人,点击IMessage按钮)。

【讨论】:

感谢您的回复。正如我的笔记中所指出的,我确实尝试在此处发布所有详细信息;但是,*** 将这些细节拒绝为“看起来像垃圾邮件”。我确实通过使用 Round(dtBirthday) 而不是仅 dtBirthday 设置 sFilter 来创建和编辑已知有问题的联系人来探索您的建议。我得到了同样的结果——冗余创建的联系人。 当我有时间玩弄它时,我可能会考虑尝试更广泛的范围。我确实理解 1/1/4501 的事情 - 我为该值设置了一个常数来测试“无”的等价物,正如其他帖子中所展示的那样。 如果您仍在使用=Round() 将无济于事。使用范围:(property >date1) 和 (property [FirstName] = 'John' and [LastName] = 'Doe' and [Birthday] >= '3/15/1967' and [Birthday]

以上是关于oContacts.Items.Restrict 遗漏一些联系人的主要内容,如果未能解决你的问题,请参考以下文章