Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[求助]日期录入控件的空值判断问题?

1楼
t_fs 发表于:2008/11/28 8:27:00
   窗口中有二个日期录入控件("Datetimepicker1") 和("Datetimepicker2") ,用下列代码判断没出现错误提示。但当这二个控件之一或都为空值时,并没出现提示,程序继续向下运行,是什么原因?请求帮助了,谢谢!

if e.Form.Controls("Datetimepicker1") Is Nothing or e.Form.Controls("Datetimepicker2") Is Nothing Then
    MessageBox.Show("请 您 正 确 选 择 汇 总 日 期 !","提示")
   return
end if
2楼
狐狸爸爸 发表于:2008/11/28 8:57:00
if e.Form.Controls("Datetimepicker1").value Is Nothing or e.Form.Controls("Datetimepicker2").value Is Nothing Then
end if
3楼
ybil 发表于:2008/11/28 9:20:00
好像有问题,无论是否输入日期,都提示!
if e.Form.Controls("Datetimepicker1").value Is Nothing  Then
       MessageBox.Show("請輸入日期!","提示")
end if
4楼
t_fs 发表于:2008/11/28 9:25:00
Dim A As New Date
   谢谢回复!

Dim b As New Date
A =e.Form.Controls("Datetimepicker1").value
B =e.Form.Controls("Datetimepicker2").value 
if e.Form.Controls("Datetimepicker1").value Is Nothing  or e.Form.Controls("Datetimepicker2").value Is Nothing  then
MessageBox.Show("请 您 正 确 选 择 汇 总 日 期 !","提示")
return
end if 

   上述为正确代码,若将第四行判断句换成:if A is nothing or B is nothing then

   编译时就会出现错误,不知何故?
5楼
狐狸爸爸 发表于:2008/11/28 9:39:00
以下是引用ybil在2008-11-28 9:20:00的发言:
好像有问题,无论是否输入日期,都提示!
if e.Form.Controls("Datetimepicker1").value Is Nothing  Then
       MessageBox.Show("請輸入日期!","提示")
end if


需要注意一个细节,你在某个框中输入的内容,必须离开这个框,才会写入到Value属性!

6楼
狐狸爸爸 发表于:2008/11/28 9:40:00
以下是引用t_fs在2008-11-28 9:25:00的发言:
Dim A As New Date
   谢谢回复!

Dim b As New Date
A =e.Form.Controls("Datetimepicker1").value
B =e.Form.Controls("Datetimepicker2").value 
if e.Form.Controls("Datetimepicker1").value Is Nothing  or e.Form.Controls("Datetimepicker2").value Is Nothing  then
MessageBox.Show("请 您 正 确 选 择 汇 总 日 期 !","提示")
return
end if 

   上述为正确代码,若将第四行判断句换成:if A is nothing or B is nothing then

   编译时就会出现错误,不知何故?


A和B是日期型,不可能是Nothing.


Nothing

变量可能不包括任何内容,也就是空值。
在Visual Basic中,空值用Nothing表示。
有两个特殊的运算符,用于判断变量的值是不是Nothing,分别是Is和IsNot,前者的意思是“是”,后者的意思是“不是”。
语法为:

变量名 Is Nothing

如果变量值为Nothing,则返回True,否则返回False。

变量名 IsNot Nothing

如果变量值不为Nothing,则返回True,否则返回False。

Dim str1 As String
Dim
Str2 AS String = "FoxTable"
If
str1 Is Nothing Then
    Output.Show(
"Str1是空值!")
End
If
If
str2 IsNot Nothing Then
    Output.Show(
"Str2不是空值!")
End
If

需要注意的是,数值、日期、逻辑三种类型的变量,是永远不会为空的,其它任何类型的变量,如果没有明确赋值,其初始值都是Nothing

 

 

7楼
t_fs 发表于:2008/11/28 10:14:00
数值、日期、逻辑三种类型的变量,是永远不会为空的


  关键在这句话上了。谢谢了!
共7 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03906 s, 2 queries.