查询错误中的VBA评估IIF的错误部分

Ric*_*ick 3 ms-access vba ms-access-2007 ms-access-2010

我在查询中有以下列.

iif(Len([Field1])=0,0,Asc(Mid([Field1] & "",Len([Field1]))))
Run Code Online (Sandbox Code Playgroud)

这个想法是它应该返回字符串字段中最后一个字符的ASCII值.问题是如果Field1为空,则语句错误,并显示以下消息:"无效的过程调用或参数(错误5)".如果该字段为空,则应返回0.

Han*_*sUp 5

假设空白表示Null或空字符串,则可以将空字符串连接到[Field1],如果组合长度为0,则返回0.

Right()函数比Mid()获取最后一个字符更直接.

SELECT IIf(Len([Field1] & "")=0,0,Asc(Right([Field1],1)))
FROM YourTable;
Run Code Online (Sandbox Code Playgroud)