2016-11-17 106 views
1

我很困惑。我理解零长度字符串和空值之间区别的基础知识,但我不明白这里发生了什么。在Access中奇偶行为的MID和零长度字符串

我有一个访问表,其中包含来自outlook CONTENTS邮件正文的导入信息,然后我使用追加查询将电子邮件正文中的信息拆分为第二个更有用的表。例如,如果电子邮件的主体具有TITLE:10 FEET UNDER和AUTHOR:JOHN DOE,则它将使用MID函数检索“10 FEET UNDER”以捕获TITLE:和AUTHOR:之间的所有内容。

一切都很好,直到一位使用该程序的工作人员报告由于极少数情况下TITLE之后的文本为空白而发生错误。

我跑各种测试,并为理由,我不明白,在所有的,在MID功能的“空白”称号运行LEN给出了2

结果然而,没有空格,不被识别为null,并且附加内容就像一个零长度的字符串。

我可以通过LEN([TITLE])<>“2”设置标准来摆脱“空白”的条目,但它看起来不够雅致。为什么它在标题外观下添加到新表中时产生2的LEN,并且像零长度字符串一样行事?

如果有帮助,标题的目标表被设置为'允许零长度字符串=否',尽管它似乎没有听到该规则。

有人可以向我解释发生了什么事吗?

 Title:Mid([Contents],InStr([Contents],"Title:")+10,InStr([Contents],"Author:")-(InStr([Contents],"Title:")+10)) 

回答

0

倾向于认为有非打印字符保存,如CRLF这将有2

一个LEN()你是什么意思“的作用类似于零长度字符串”是什么意思?

相关问题