2014-05-15 129 views
0

我有我与指定x_VisitDateSQL日期范围conumdrum

而且四个变量定义一个日期将使用x_VisitDate

此实例2014下载x_VisitDate = 5月22日检索表的日期范围按钮应该仅在给定日期的10天前可用,因为在今天我们有7天的时间。

x_TodaysDate 
x_DaysBeForeToDownloadFile = 10 
x_AdditionalDayToDownloadFile = 1 

x_CanDownloadFile = DateAdd("d", x_DaysBeForeToDownloadFile , x_VisitDate) 
x_ExtraCanDownloadFile = DateAdd("d", x_AdditionalDayToDownloadFile, x_VisitDate) 

我目前正在写下面

If x_CanDownloadFile <= x_TodaysDate then 

和它显示的日期设置为2018年10月21日(未来)和2014年2月23日(过去)

我的文件在这里会发疯...

谢谢

回答

1

不要使用比较来构建限制,但是Dat eDiff进行范围检查。正确的做法要容易得多。演示代码:

>> nDaysAvailable = 3 
>> dtToday = Date 
>> For i = -5 To 0 
>>  dtCheck = DateAdd("d", i, dtToday) 
>>  nDiff = DateDiff("d", dtCheck, dtToday) 
>>  WScript.Echo dtCheck, nDiff, CStr(nDiff < nDaysAvailable) 
>> Next 
>> 
10.05.2014 5 False 
11.05.2014 4 False 
12.05.2014 3 False 
13.05.2014 2 True 
14.05.2014 1 True 
15.05.2014 0 True 

(德文场所)

1

也许我被你的问题,困惑,但你就不能这样做呢?

x_VisitDate = #5/22/14# 

If Date >= x_VisitDate - 10 And Date <= x_VisitDate + 1 Then 
    ' Show file 
End If 

此外,您在使用天数时不需要使用DateDiff()。只需使用整数数学。