MID中的MID和零长度字符串的奇怪行为

时间:2016-11-17 23:57:13

标签: access

我感到困惑。我理解零长度字符串和空值之间差异的基础知识,但我不明白这里发生了什么。

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

之间的所有内容

一切顺利,直到使用该程序的工作人员报告由于TITLE之后的文本罕见的情况发生的错误将是空白的。

我进行了各种测试,由于我根本不理解的原因,在MID功能上运行了LEN,用于空白' title给出2的结果。

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

我可以通过LEN([TITLE])<>设置标准" 2"摆脱“空白”的条目,但似乎不优雅。当标题下新表附加的内容看起来像零长度字符串时,为什么它生成LEN为2?

如果有帮助,目的地表格设置为“允许零长度字符串=否”#39;虽然它似乎没有听取这个规则。

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

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

1 个答案:

答案 0 :(得分:0)

倾向于认为保存了非打印字符,例如CrLf的Len()为2。

“零长度字符串的行为”是什么意思?