MyTetra Share
Делитесь знаниями!
Дата - Условие WHERE по полю типа Date/Time
Время создания: 16.03.2019 23:43
Раздел: !Закладки - VBA - Access - msa.polarcom.ru - 14 Преобразование Чисел и Дат
Запись: xintrea/mytetra_db_adgaver_new/master/base/1532018381xbbim95lmw/text.html на raw.githubusercontent.com

Дата - Условие WHERE по полю типа Date/Time

Андрей Митин: http://am.rusimport.ru/MsAccess/topic.aspx?id=134

Часто возникают вопросы типа "Почему у меня не работает выражение "select * from [Tbl] where [Date]=#" & me.Дата & "#" (или что то в этом роде).
Чтобы корректно поставить условие по полю типа Date/Time необходимо всего лишь корректно отформатить значение - для Access формат даты должен быть следующим: #mm/dd/yy#. Для SQL-Server это выглядит чуть по-другому: yyyy-mm-dd (такой формат понимается при любых локальных настройках сервера).
Для облегчения можно применять приведенную ниже функцию, например так:
"select * from [Tbl] where [Date]=" & FormatSpDate(me.Дата)


Public Function DateSQL(vDate As Variant) As String

DateSQL = Format(vDate,"\#mm\/dd\/yyyy\#")

End Function






Ещё вариант:

Public Function FormatSpDate(ByVal parDate As Date, Optional bSQL As Boolean = False) As String

If bSQL Then

FormatSpDate = Format$(parDate, "'mm\.dd\.yyyy'")

'или можно так

'FormatSpDate = Format$(parDate, "'yyyy\-mm\-dd'")

Else

FormatSpDate = Format$(parDate, "\#mm\/dd\/yyyy\#")

End If

End Function



Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования