一个区别空值和空字符串(“”)的小例子
时 间:2017-02-24 16:37:14
作 者:李子 ID:50504 城市:宁波
摘 要: 当组合框在没有默认值的情况下加载时,系统自动先赋值了空字符串:"",但在组合框中选择某值后再删除时,则系统赋予了空值。
正 文:
笔者创建了一个组合框,绑定一个表数据源。在代码中对组合框的选项值进行判断时,以下两段代码会有不同的结果:
一、使用 ISNULL 函数判断
If Not IsNull(Me.Combo7.Value) Then
Select Case Me.Combo7.Column(3)
Case Is = "文本" '选择了文本型字段
...
Case Is = "日期/时间" '选择了日期型字段
...
End Select
Else
MsgBox "无效选择,请重新选择!", vbOKOnly
Me.List9.SetFocus
Me.Combo7.SetFocus '重新选择
End If
二、使用 <>“” 判断
If Me.Combo7.Value <> "" Then
Select Case Me.Combo7.Column(3)
Case Is = "文本" '选择了文本型字段
...
Case Is = "日期/时间" '选择了日期型字段
...
End Select
Else
MsgBox "无效选择,请重新选择!", vbOKOnly
Me.List9.SetFocus
Me.Combo7.SetFocus '重新选择
End If
现象:
1、当组合框没有赋予默认值打开时,前者的ELSE直接跳过,而后者的ELSE则得到执行;
2、当组合框选了某选项值但又立刻删除了该值时,两者的ELSE都得到了执行。
原因:
“” 是空字符串,允许空字符串输入,是指允许零长度字符串输入:””,它包括零长度字符串与空值,不允许空字符串,是指表不接受零长度字符串输入,如果未输入有效文本,则自动插入空值.空值就是指未知的数据,零长度字符串是指没有此值。
当组合框在没有默认值的情况下加载时,系统自动先赋值了空字符串:"",但在组合框中选择某之后再删除时,则系统赋予了空值。
结论: 对""的判断包含对空值的判断。在以上情况下,最好首选使用=""或<>""进行判断。
Access软件网QQ交流群 (群号:483923997) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 【Access窗体导出PDF】...(04.08)
- 【Access窗体导出PDF】...(04.07)
- Access两种方式实现即时更...(03.01)
- Access隐藏与显示lacc...(01.12)
- 【Access高效办公】将每个...(12.23)
- Access21点游戏源代码(12.13)
- 【Access窗体导出Exce...(11.15)
- 【Access开发】Acces...(11.14)
- 通过Access宏录入数据到选...(11.10)
学习心得
最新文章
- Access学习笔记--用Acce...(04.19)
- 【Access重复项查询示例】将A...(04.17)
- Access快速开发平台企业版--...(04.16)
- 【Access模块示例】通过模块代...(04.15)
- Access查询里面分组合计功能添...(04.13)
- 【Access删除查询】删除数字最...(04.12)
- 显示文件夹中所有文件的修改时间(04.11)
- 铁路工程管理系统;铁路工程管理小程...(04.10)
- 【Access查询示例】怎么将两个...(04.09)
- 【Access窗体导出PDF】Ac...(04.08)