2014-02-21 2 views
1

Предположим, у меня есть StartDate: 02/02/2014 10:00 и EndDate: 01/30/2014 15:00 можно ли получить этот результат в запросе?DateDiff каждый день в перерыве день за днем ​​

+2

Все, что вы хотите, разница между двумя значениями, показанная как часы? Тогда датированный ("h", # 2/20/2014 11:00 AM,, (0) –

+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

Спасибо, я попробую это –

Смежные вопросы