我有一个功能,它基本上复制记录并使用新ID插入它们。代码有效,一切都很好。
发生的SQL基本上是:
INSERT INTO myTable (ID, field, select) VALUES ('newID','stuff','')
注意最后一个值是空白,空,空,等等。有时它会有一些东西,有时却没有。
我在访问表单中检查了该值,并使用了isNull或isEmpty,两者都是false,只有以这种方式插入的记录。
那么插入什么,如果没有插入什么?它既不是空的也不是空的,那里什么都没有,所以我完全不知所措。如果我输入一些内容并将其擦除,那就没问题了。
答案 0 :(得分:2)
IsEmpty()函数通常仅用于检查变量类型的变量是否尚未初始化。
数据库字段可以说是空的,这与它是空的不一样。
例如,如果您有一个名为Gender的字段,该字段不是新记录中的必填字段,则该值可能为Null,那么如果用户输入女性显然会包含值。如果他们当时删除了单词Female,那么该字段现在将为空(非空)。
在Microsoft Access中处理Null时使用的最有用的功能如下:
Nz()
这个函数有两个参数,第一个是你想要检查的变量,第二个是你希望在变量为Null时返回的值。例如,以下内容将返回一个空字符串:
Dim variantName As Variant
variantName = Null
Debug.Print Nz(variantName,"")
另外请注意,如果您尝试使用加号字符(+)加入包含Null的变量,那么这将导致Null,这可能是您遇到问题的地方。
尝试在立即窗口结果中输入以下内容也会显示在此处:
? len(null)
Null
? len(null + "abc")
Null
? len(null & "abc")
3
答案 1 :(得分:-2)
可以是\ r或\ n或任何其他不可打印的字符, 您可能想要选择这样一行并将其转换为varbinary以查看内容