【发布时间】:2014-02-18 16:35:44
【问题描述】:
我正在使用 Access 2007 中的 Northwind Microsoft Access 数据库。在 Orders 表中有三个日期字段:OrderDate、RequiredDate 和 ShippedDate。
所有这些字段都是 1994-1996 年的。我正在尝试将其输入 ETL 系统,但该系统不允许超过 15 年的日期。
我想为这三个字段中的每一个添加 10 年。
我正在尝试这样的事情: 更新订单 设置 OrderDate = DateAdd("yyyy",10,OrderDate)
...但收到错误“参数太少。应为 1。” 当我看到该错误时,通常是使用的列名中的拼写错误,但我在这里的任何地方都没有看到它。有什么建议吗?
【问题讨论】:
-
你试过
UPDATE Orders set OrderDate = DateAdd("yyyy",10,[OrderDate])... -
谢谢@bhs。我刚刚尝试过,但仍然得到同样的错误。
-
语法对于您发布的内容来说很好,您的查询是否还有更多您尚未发布的内容?
-
在 Access 查询设计器中尝试您的
UPDATE查询。当您运行它时,Access 将显示一个输入对话框,询问参数值。该对话框包括任何 Access 认为是参数的“名称”。参数名称是什么? -
如果表名为
Orders,则问题中的 UPDATE 查询确实有效。如果表名为Order,那么您需要在其周围加上方括号[],因为ORDER是SQL 中的保留字。 @HansUp 就如何确定实际问题提出了很好的建议。
标签: sql ms-access ms-access-2007 dateadd