Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
Dim da As Date=RibbonTabs("功能区1").Groups("功能组1").Items("日期输入框1").value
Dim db As Date=RibbonTabs("功能区1").Groups("功能组1").Items("日期输入框2").value
If da isnot null AndAlso db is notnull AndAlso da<db Then '如果两个日期控件均填写了日期,而且开始日期小于截止日期,那么
执行的代码.........
end if
请教红色部分如何才能做到最标准书写方式
一、老大请看这段代码,假定菜单有两个日期控件和一个按钮,按钮代码如下:
Dim da As Date=RibbonTabs("功能区1").Groups("功能组1").Items("日期输入框1").value
Dim db As Date=RibbonTabs("功能区1").Groups("功能组1").Items("日期输入框2").value
If da isnot Nothing AndAlso db isnot Nothing AndAlso da<db Then
MessageBox.Show("ok!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else
MessageBox.Show("日期填写不全或结束日期早于开始日期","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
在两个日期控件均无数据的前提下,点击按钮后报错:
然后将代码改为:
Dim da As String=RibbonTabs("功能区1").Groups("功能组1").Items("日期输入框1").value
Dim db As String=RibbonTabs("功能区1").Groups("功能组1").Items("日期输入框2").value
If da isnot Nothing AndAlso db isnot Nothing AndAlso da<db Then
MessageBox.Show("ok!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else
MessageBox.Show("日期填写不全或结束日期早于开始日期","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
点击按钮提示"日期填写不全或结束日期早于开始日期",OK。(这是预定的结果)
二、然后我又换了个方式:
Dim da As date=RibbonTabs("功能区1").Groups("功能组1").Items("日期输入框1").value
Dim db As date=RibbonTabs("功能区1").Groups("功能组1").Items("日期输入框2").value
If da is Nothing Or db is Nothing Then
MessageBox.Show("日期填写不全!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else If da>db Then
MessageBox.Show("结束日期不得早于开始日期!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else
MessageBox.Show("ok!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
继续报错
然后同样更改代码为:
Dim da As String=RibbonTabs("功能区1").Groups("功能组1").Items("日期输入框1").value
Dim db As String=RibbonTabs("功能区1").Groups("功能组1").Items("日期输入框2").value
If da is Nothing Or db is Nothing Then
MessageBox.Show("日期填写不全!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else If da>db Then
MessageBox.Show("结束日期不得早于开始日期!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else
MessageBox.Show("ok!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
明明日期控件没有内容,为何执行后提示
不输入值的时候,messagebox.show(da),看看值等于多少,然后通过比较这个值,判断是否输入了
messagebox.show(da)结果显示2010-12-17
看来日期控件即使不输入内容也是默认当前日期了
另外此处
Dim da As String=RibbonTabs("功能区1").Groups("功能组1").Items("日期输入框1").value
Dim db As String=RibbonTabs("功能区1").Groups("功能组1").Items("日期输入框2").value
一定要用string而不能用date吗,有点不明白
日期不可能为nothing,字符可以,你可以看看:
http://help.foxtable.com/topics/0395.htm
你可以给日期框设置一个初始值,例如1900-1-1,来比较这个值看看是否已经输入。