代码之家  ›  专栏  ›  技术社区  ›  masfenix

需要访问SQL查询(日期)

  •  0
  • masfenix  · 技术社区  · 16 年前

    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月,等等。

    2 回复  |  直到 16 年前
        1
  •  2
  •   HansUp    16 年前

    可以使用CDate()函数将文本日期转换为日期/时间数据类型。

    然后:

    DELETE FROM [TABLE NAME]
    WHERE CDate([month]) >= #2010/08/01#;
    

    我将字段名括在括号中,因为Month()是Access VBA函数。。。括号让Access知道如何将月份作为字段而不是函数来处理。如果它是我的数据库,我会重命名这个字段。

        2
  •  1
  •   ClimberM    16 年前

    首先创建一个基于[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#));

    推荐文章