2016-05-19 4 views
0

В Access 2007 я пытаюсь выбрать все записи в таблице с одинаковой датой в поле. Я получаю дату из текстового поля в отчете txtDate. Я получаю либо синтаксическую ошибку, либо несколько параметров, ожидаемых 2. Я пробовал разные функции формата, как предлагалось в сети, без особого успеха.Выберите записи с определенной датой

select * from tbl where odatsa = #" & Me.txtDate & "#" 
+0

Я получил глупый обходной whereI выбрать все и использовать, если предложение сравнить RS! Odatsa с me.txtdate. Работает, но есть лучший способ! – bbwolff

+0

это дата/время, отладка говорит # 16. 05. 2016 # – bbwolff

+0

Вместо того, чтобы использовать текстовое поле, вы могли бы использовать активный выбор даты X? Или это то, что это поле? – LiamH

ответ

1

Даты в Jet SQL представлены в формате Month/Day/Year. если ваши региональные настройки отличаются, вы должны изменить дату в VBA:

Public Function SQLDate(dt As DateFalse) As String 
    SQLDate = "#" & Month(dt) & "/" & Day(dt) & "/" & Year(dt) & "#" 
End Function 

и использовать его:

select * from tbl where odatsa = " & SQLDate(Me.txtDate) 
1

Идущий с предложением Marlan, это делает трюк. Я желаю работать с датами будет более интуитивным

"select * from tbl where odatsa= " & Format(Me.txtDate, "\#mm\/dd\/yyyy\#")) 
+0

Интуитивно понятный или нет, вам нужно играть по правилам. – Gustav

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