|
|
SQL Запрос - Дата (Условие WHERE по полю типа Date/Time) - Between …
Dim sFilter$
If IsDate(Me!txtDateFrom) = True And IsDate(Me!txtDateTo) = True Then
sFilter = sFilter & " AND Дата_Рождения Between " & _
Format$(Me!txtDateFrom, "\#mm\/dd\/yyyy\#") & _
" And " & _
Format$(Me!txtDateTo, "\#mm\/dd\/yyyy\#")
Else
If IsDate(Me!txtDateFrom) = True Then
sFilter = sFilter & " AND Дата_Рождения >=" & Format$(Me!txtDateFrom, "\#mm\/dd\/yyyy\#")
End If
If IsDate(Me!txtDateTo) = True Then
sFilter = sFilter & " AND Дата_Рождения <=" & Format$(Me!txtDateTo, "\#mm\/dd\/yyyy\#")
End If
End If
Используя Nz, можно проще применять открытые, полуоткрытые и замкнутые интервалы
If IsDate(Me!txtDateFrom) = True Or IsDate(Me!txtDateTo) = True Then 'Указаны даты начала и конца
sFilter = sFilter & " AND Дата_Рождения Between " & _
Format$(Nz(Me!txtDateFrom, 0), "\#mm\/dd\/yyyy\#") & _
" And " & _
Format$(Nz(Me!txtDateTo, 999999), "\#mm\/dd\/yyyy\#")
End If
Или по данным формы:
s = "SELECT * FROM Табличка " & _
"WHERE Дата BETWEEN Nz([Forms]![ОТ_ДО]![ОТ],#1/1/1000#) AND Nz([Forms]![ОТ_ДО]![ДО],#1/1/3000#)"
|
|