2012-08-03 4 views
0

У меня есть поле даты DTB_VER.VER_DATUM в моей базе данных MS Access со всеми полными датами (например, 03-04-2012).Форматирование подстановочных знаков в запросе доступа к ms в поле даты

Когда я создаю следующий запрос с форматом строки (vb.net):

Dim sql as string = string.format("SELECT * FROM DTB_VER WHERE VER_DATUM LIKE '{0}%-{1}%-{2}%'", day, month, year) 

С помощью этого запроса я могу искать совершенно в течение дня или года, или сочетание этих двух, но как только поскольку я вхожу через месяц, это терпит неудачу, и я не могу понять, почему.

Любые идеи?

Update:

Я попытался следующие:

SELECT * FROM DTB_VER where Day(Ver_datum) like '*day*' and Month(Ver_datum) like '*month*' and year(Ver_datum) like '*year*' 

И снова я могу искать в день или год, или комбинации этих двух (и оставить пустым месяц), но я могу Не искать месяц.

+0

Какой день, месяц, год для вашего региона? – Fionnuala

+0

VER_DATUM - это поле Дата/Время в доступе db? – Steve

+0

dd-MM-yyyy - это тот порядок, который я использую. – user1573875

ответ

0

Вы можете использовать формат даты доступа, например

sql="SELECT * FROM DTB_VER WHERE VER_DATUM=#" & year & "/" & month & "-/" & day & "#" 

Вы не можете использовать LIKE с датами. Если вы хотите выбрать все дни в месяц, вам нужно что-то вроде: -

sql="SELECT * FROM DTB_VER WHERE VER_DATUM>=#" & year & "-" & month & "-01# and VER_DATUM<#" & format(dateadd("m",1,cdate(year & "/" month & "/" & day),"yyyy/mm") & "/01" 
+0

Как это бывает, вы можете использовать Like, что удивительно. Я пробовал макет в Access с подключением ADO, и он работал, как вы можете видеть из моих комментариев к OP. – Fionnuala

+0

Привет, Ричард, спасибо за ваш ответ, но я ищу способ использовать подстановочные знаки (например, поиск дня или месяца или года или их комбинации). – user1573875

+0

Будьте осторожны с использованием подстановочных знаков в датах. Если вы когда-либо переносите часть данных приложения Access в другую базу данных, вы можете обнаружить, что она не поддерживает подстановочные знаки. –