我有四个(相关)字段,DESCRP
,Description1
,Description2
和DescriptionMatch
。
DESCRP
应与Description1
填充为18个字符+ Description2
相同。这是在此过程中得到验证。
以下代码只要Description2 IS NOT NULL
即可正常工作。
UPDATE tblParametersComp SET DescriptionMatch = "YES"
WHERE (NOT (DESCRP IS NULL OR Description1 IS NULL))
AND
((DESCRP = [Description1]+IIf(Len([Description1])<18,Space(18-Len([Description1])),"")+[Description2])
出于某种原因,如果Description2 IS NULL
这不起作用,所以我试图添加这一行来解决这个问题(因为如果没有第二行,填充是无关紧要的:
OR Description2 IS NULL AND REPLACE(Description1," ","") = Replace(DESCRP," ",""))
但是,这会产生以下错误:
这没有任何意义,因为据我所知,所有相关字段都属于Text
数据类型。
我尝试使用CSTR(Replace(...)) = CSTR(Replace(...))
只是为了确定而且没有任何区别。
任何建议都将不胜感激!
答案 0 :(得分:1)
在评论中讨论后,没有人发布确定答案,问题似乎不是处理NULL
记录。
这是使用NZ
函数处理的。
所以这条线变成了:
WHERE DESCRP = nz([Description1],"")+IIf(Len(nz([Description1],""))<18,Space(18-Len(nz([Description1],""))),"")+(nz(Description2,""));
这就像魅力一样!