Я бы просто использовал DateSerial
, чтобы создать нужную вам дату. Вы передаете ему год, месяц и день, и он дает вам дату с полуночью как временем. Затем вы можете использовать его для передачи в качестве параметра команде ADO или аналогичной. Когда вы прочитаете его, у него будет полночь, так что это не проблема. Мне нравится это лучше, чем DateValue, так как нет преобразования строк. Если вы действительно хотите, вы можете создать свою собственную функцию, такую как DateValue, которая использует DateSerial.
Function JustTheDatePlease(ByVal dtSource As Date) As Date
JustTheDatePlease = DateSerial(Year(dtSource), Month(dtSource), Day(dtSource))
End Function
Если по какой-то причине вы не используете параметризованные запросы, и у вас действительно должно быть для этого хорошее оправдание, вы можете использовать в своих запросах каноническую форму даты ODBC. Вы просто форматируете дату как {d 'yyyy-mm-dd'}
например {d '2009-04-06'}
.