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

日期/时间格式VBA访问查询

  •  0
  • Shiela  · 技术社区  · 6 月前

    我是Access的新手,下面有一个代码,它应该通过我电脑中的当前日期减去1小时,将当前月份插入到表格中:

    strSQL = "INSERT INTO [mytable] ([monthColumn]) "
    strSQL = strSQL & "VALUES ("
    strSQL = strSQL & "#" & Format(Now - (1 / 24), "mmmm") & "#"
    strSQL = strSQL & ");"
    
    DoCmd.SetWarnings False
    DoCmd.RunSQL (strSQL)
    DoCmd.SetWarnings True
    

    我也试过这个:

    strSQL = "INSERT INTO [mytable] ([monthColumn]) VALUES (#" & Format(Now - (1 / 24), "mmmm") & "#);"
    
    DoCmd.SetWarnings False
    DoCmd.RunSQL (strSQL)
    DoCmd.SetWarnings True
    

    对于这两个代码,我都收到了以下错误:

    Image1

    我只是从下面的工作代码中推导出了上面的代码:

    strSQL = "INSERT INTO [mytable] ([monthColumn]) VALUES (#" & Now() & "#);"
    

    可能缺少什么?提前感谢。

    1 回复  |  直到 6 月前
        1
  •  2
  •   tinazmu    6 月前

    “Date”数据类型的列包含一个有效的日期及其组成部分:“day”、“month”和“year”。月份名称不是有效的日期,它只是“文本”。您不能在日期列中仅存储文本(即使它是月份名称的缩写)。将其存储在类型为:text的列中。