避免Access和SQLServer的空值冲突
时间:2007-12-23 来源:不详 作者:迈克DB
熟悉到空值无法避免之后,你的职责就是正确处理它们,确保它们不会导致错误。正确处理空值有两方面的好处:
- 可与用户共享有意义的信息。
- 可提前捕捉空值,避免空值在后续的表达式中返回错误。
Access提供大量工具来操纵空值:
- Is Null——在条件表达式和SQL WHERE子句中使用Is Null。
- IsNull——将IsNull用于Visual Basic for Applications(VBA)。
- Nz——碰到空值时,用Nz返回除Null之外的其他值。
通过链接表或者Access项目来使用Access和SQL Server时,会产生一个问题,因为Access和SQL Server不是用相同的函数来判定空值。因此,你必须知道要使用什么函数,以及在什么时候使用。在.mdb文件中使用Nz
大多数Access用户和开发者都熟悉Nz函数,它在碰到空值时返回除空值之外的其他值。该函数的形式如下,其中variant代表Variant数据类型,而valueifnull是一个可选参数,它负责在variant为空值时提供真正的返回值。
Nz(variant[, valueifnull])
内容来自dedecms
如省略valueifnull,Nz返回值0或一个零长度字符串(""),具体由variant的数据类型决定。
图A的查询展示了如何使用Nz及其结果。该查询基于Access示例Northwind中的Employees表。
图A
两个Nz函数都返回字符串数据类型,因为Region的数据类型为Text
如图B所示,两个Nz函数都返回字符串值,而不是空值,但具体的字符串是不同的。第一个表达式返回字符串"N/A"来取代空值:
WithOptional: Nz([Region],"N/A")
通过返回一个实际的字符串或者值,可为用户提供比空值更多的信息。字符串"N/A"明确指出:当前记录没有合适的值。相反,如返回空值,那么一个空白的字段可能使不熟悉的用户产生误解。
上一篇:Access数据库安全攻防策略 下一篇:将Access移植到SQLServer
文章评论
共有位Admini5网友发表了评论 查看完整内容