我需要编写一个VB代码来验证输入日期条件是否在正确的日期范围内,否则它需要向用户返回一条消息以输入正确的日期。
我正在编写此查询以获取日期作为输入参数。因此,我正在传递fromarrdte和toarrdte作为输入。用于初始化它的代码是这样的:
dim fromarrdte
dim toarrdte
dim begdispdte
dim enddispdte
fromarrdte = rptfunc.getParameter("from_arrive_dte")
toarrdte = rptfunc.getParameter("to_arrive_dte")
Rpt.sections("ReportHeader").Controls("txtfromarrdte").Text = fromarrdte
Rpt.sections(" ReportHeader")。控件(" txttoarrdte")。Text = toarrdte
要检查的日期是fromarrdte, toarrdte
和begdispdte, enddispdte
。
我写的代码如下:
Response.write(BetweenDateRange(Date()) & "<br>")
Response.write(BetweenDateRange(CDate("fromarrdte")) & "<br>")
Response.write(BetweenDateRange(CDate("toarrdte")))
Function BetweenDateRange(DatePassed)
BeginDate = CDate("fromarrdte")
EndDate = CDate("toarrdte")
If DatePassed > BeginDate And DatePassed < EndDate Then
BetweenDateRange = "True"
Else
BetweenDateRange = "False"
End If
End Function
但是我收到了语法错误。请帮忙。谢谢!
答案 0 :(得分:0)
部分问题是CDate("fromarrdte")
永远不会评估为日期数据类型。
由于您使用Response.Write
,我可以假设您正在使用ASP.Net。
我还假设fromarrdte
指的是表单字段或其他内容。如果是这种情况,您可以将其称为fromarrdte.Text
或Request.Form(fromarrdte.ClientID)
Option Explict On
Option Strict On
这将确保您的变量和参数被声明为一个类型,并且您的函数返回某个类型的值。
查看代码,告诉您的变量并不容易。读者可以将DatePassed
解释为&#39;某些测试通过日期&#39;或者&#39;传递给方法的日期&#39;。同样地,BetweenDateRange
直观地会返回一个布尔值,但是你要返回一个字符串。但是如果不阅读整个功能,我们就不会知道这一点,因为你没有定义它返回的类型。
澄清 - 您可以执行以下操作:
Function BetweenDateRange(DatePassed as Date) as Boolean
'....
End Function