запрос по дате к текстовому полю

Tavocer
Дата: 21.12.2011 13:28:35
Добрый день,
есть текстовое поле, в котором кроме всего прочего содержатся и данные дата.
Подскажите, как выбрать данные в которых дата отвечает заданному условию, например только последние 2 дня (Date()-2)
Я делаю подзапрос который возвращает данные с датой преобразованные в дату, а дальше как?
Src = "SELECT Datevalue(OurDatum) FROM Baze " & _
"WHERE (OurDatum) IN " & _
"(SELECT (OurDatum) " & _
"FROM Baze " & _
"WHERE IsDate(OurDatum))"

Можно конечно результаты пройти в цикле, но хотелось бы получить одним запросом.
Спасибо за ответы.
Rivkin Dmitry
Дата: 21.12.2011 13:44:12
Tavocer,

SELECT Datevalue(OurDatum) 
FROM Baze, (select max(OurDatum) from Baze) as MaxDate
WHERE IsDate(OurDatum)
	and OurDatum between MaxDate - 2 and MaxDate
energy75
Дата: 21.12.2011 13:51:10
SELECT Datevalue(OurDatum)  as [Преобразованная дата] FROM Baze Where [Преобразованная дата] >=CDate(DateAdd("d",-2,Now()))));


Попробуй...
energy75
Дата: 21.12.2011 13:58:31
energy75
SELECT Datevalue(OurDatum)  as [Преобразованная дата] FROM Baze Where [Преобразованная дата] >=CDate(DateAdd("d",-2,Now()))));


Попробуй...


Со скобками напутал когда копи-пастил..

SELECT Datevalue(OurDatum)  as [Преобразованная дата] FROM Baze Where ((([Преобразованная дата]) >=CDate(DateAdd("d",-2,Now()))));
Tavocer
Дата: 21.12.2011 21:46:42
а что такое [Преобразованная дата] ?
Tavocer
Дата: 21.12.2011 21:58:12
Rivkin Dmitry
Tavocer,

SELECT Datevalue(OurDatum) 
FROM Baze, (select max(OurDatum) from Baze) as MaxDate
WHERE IsDate(OurDatum)
	and OurDatum between MaxDate - 2 and MaxDate


Возвращает все даты между сегодняшним числом (21) и 19м за ВСЕ годы :-), хотелось бы все-таки за последние 2 дня...
mds_world
Дата: 21.12.2011 22:33:21
Tavocer
Rivkin Dmitry
Tavocer,

SELECT Datevalue(OurDatum) 
FROM Baze, (select max(OurDatum) from Baze) as MaxDate
WHERE IsDate(OurDatum)
	and OurDatum between MaxDate - 2 and MaxDate


Возвращает все даты между сегодняшним числом (21) и 19м за ВСЕ годы :-), хотелось бы все-таки за последние 2 дня...

Tavocer, если поле текстовое, то выражение [текстовоеполе]-2 должно давать ошибку. Если поле все же датное, запрос должен дать именно за 2 дня, но никак не за все годы: условие between MaxDate - 2 and MaxDate это даты между MaxDate - 2 и MaxDate. Путаница где-то у вас. Проверяйте.

Или покажите ваш вариант запроса. Такой, каким вы его исполняете.
Tavocer
Дата: 21.12.2011 22:44:54
Поле текстовое, в том и проблема...
mds_world
Дата: 21.12.2011 22:54:34
Tavocer
Поле текстовое, в том и проблема...

Тогда в запросе всюду должна быть конвертация в дату
SELECT Datevalue(OurDatum) 
FROM Baze, (select max(datevalue(OurDatum)) from Baze) as MaxDate
WHERE IsDate(OurDatum)
	and datevalue(OurDatum) between MaxDate - 2 and MaxDate
Tavocer
Дата: 21.12.2011 23:33:34
Ура! Работает! Спасибо огромное.