2014-02-21 98 views
1

假设我有StartDate:02/02/2014 10:00和EndDate:01/30/2014 15:00是否有可能在查询中包含此结果?DateDiff每天在一个时间间隔内每天

+2

所有你想要的是两个值之间的差异,以小时数显示? Then datediff(“h”,#2/20/2014 11:00 AM#,Now()) –

+0

不仅是一个DateDiff,我需要显示哪一天在该范围内。 –

回答

0

不知道你确实有没有在一个表中的日期,但只是使用查询,不,这是不可能的。如果你有一个日期表,但日期中有空白,那么再次,不,不可能。

如果你愿意花时间在一些VBA代码中,那么是的,你可以产生你想要的。假设你有,你进入STARTDATE和ENDDATE一种形式,你可以使用下面的代码创建的日期表,然后将查询到LEFT JOIN(如果您有其他表):

Private Sub SomeButton_Click() 
Dim strSQL As String 
Dim dDate As Date 

DoCmd.SetWarnings False 
' NOTE!!! Either create table manually, or comment out next two lines after first time!!! 
strSQL = "CREATE TABLE tempDates (tDate DateTime);" 
CurrentDb.Execute strSQL 

strSQL = "delete * from tempDates" 
CurrentDb.Execute strSQL 

dDate = #1/1/2014#     'Forms!frmYours!txtStartDate ' Set starting date 
Do While dDate < #3/1/2014#   'Forms!frmYours!txtEndDate  ' Set Ending date 
    strSQL = "INSERT INTO tempDates (tDate) SELECT '" & dDate & "' AS Expr1;" 
    CurrentDb.Execute strSQL 
    dDate = dDate + 1 
Loop 
DoCmd.SetWarnings True 
End Sub 
+0

谢谢,我会尝试 –