сравнить дату / время через VBA с датой / временем в Access DB - PullRequest
0 голосов
/ 21 декабря 2009

Как сравнить дату / время через VBA с датой / временем в БД Access?

Используемый мной запрос

adoRS.Open "SELECT * FROM currentpositions WHERE ((currentpositions.
[dateLT])=" & "#" & date_from_message & "#" & ")", adoConn, adOpenStatic,
adLockOptimistic

У меня получилось сравнить только дату.
У кого-нибудь есть идея?

Привет
Camastanta

Ответы [ 3 ]

3 голосов
/ 21 декабря 2009
adoRS.Open "SELECT * FROM currentpositions WHERE DateValue(currentpositions.
[dateLT]) = DateValue(" & "#" & date_from_message & "#)", adoConn, adOpenStatic,
adLockOptimistic

Посмотрите, поможет ли вышеизложенное.
DateValue извлекает часть даты из заданной даты / времени. Таким образом, его можно использовать для сравнения даты, игнорируя часть времени.

2 голосов
/ 21 декабря 2009

ИМХО, вы никогда не должны строить свои операторы SQL, используя конкатенацию строк. Вместо этого используйте параметризованные SQL-запросы . Это избавит вас от проблем, подобных той, с которой вы столкнулись при сравнении даты и времени.

0 голосов
/ 22 декабря 2009

Есть ли в вашей системе даты в формате гггг-мм-дд или дд-мм-гггг? Если да, см. Даты возврата в формате США # мм / дд / гггг # , чтобы преобразовать даты в мм-дд-гггг, чтобы Access мог с ними правильно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...