所以我有以下查询:
DoCmd.RunSQL "delete * from [TABLE NAME] where month = '" & Format(PrevMonth, "yyyy-mm-dd") & "'"
month
是一个文本字段。
让我们说PrevMonth = August 2010
所以不要删除日期是2010年8月的行,而是要删除2010年8月以及之后的所有行?所以2010年9月,2010年10月,等等。
感谢。
答案 0 :(得分:2)
您可以使用CDate()函数将文本日期转换为日期/时间数据类型。
然后:
DELETE FROM [TABLE NAME]
WHERE CDate([month]) >= #2010/08/01#;
我将字段名括在括号中,因为Month()是一个Access VBA函数...括号让Access知道将month作为字段而不是函数处理。如果是我的数据库,我会重命名该字段。
答案 1 :(得分:1)
首先根据[TABLE Name]创建一个查询,将月份从文本转换为日期
SELECT *,CDate("1 " & [Month]) AS DateDate
现在您可以像往常一样使用日期
FROM Table Name;
DELETE Query1.DateDate
FROM Query1
WHERE (((Query1.DateDate) Between #1/1/2010# And #12/31/2010#));
希望这有帮助