Ada*_*cha 2 ms-access access-vba
我正在尝试调试损坏的查询。该查询使用Left $([blahblah],4)而不是Left([blahblah],4)。
Microsoft Access中的Left()和Left $()函数之间有什么区别?
尾随的$是VBA中String数据类型的类型声明字符。
从Left $()返回的结果是一个字符串,而Left()返回一个Variant。
如果可能会有Null值,则必须使用Left(),而不是Left $(),因为Variant可以为Null,而String不能。为了证明这一点:
按Ctrl + G打开Immedate窗口。
输入:Left(Null,1)答案是Null。
现在输入:Left $(Null,1)这将产生错误94。由于结果应为Null,并且String不能为Null,因此您会收到错误“无效使用Null”。
如果要处理字符串值,则在VBA代码中,Left $()会稍微提高效率,因为它避免了与Variant关联的开销/效率低下。但是,如果有任何机会,空值可能会涉及,用左(),或者明确地作为的Nz一些诸如处理空值()。
如果传递NULL,则left $()将返回字符串或生成错误
如果传递NULL,则left()将返回字符串或NULL。
有关Null的更多信息:http : //allenbrowne.com/casu-11.html
| 归档时间: |
|
| 查看次数: |
3457 次 |
| 最近记录: |