2014-05-15 220 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()。只需使用整數數學。