如何使用当前日期更新访问日期/时间字段

Posted

技术标签:

【中文标题】如何使用当前日期更新访问日期/时间字段【英文标题】:How to UPDATE an Access Date/Time field with the current date 【发布时间】:2014-02-21 17:40:32 【问题描述】:

我正在使用以下代码将链接 SQL 表中的 datetime 字段更新为当前日期和时间。但是,输入的日期是 1899 年 12 月 29 日。我不明白我在这里缺少什么。有什么想法吗?

CurrentDb.Execute "UPDATE dbo_PAYMENT SET PAYMENT_CC_DATE_PROCESSED=#" & Now & "# AND PAYMENT_CC_EMPLOYEE_ID = 0 WHERE PAYMENT_ID=" & Me.PAYMENT_ID

【问题讨论】:

【参考方案1】:

如果您使用 Access SQL 的内置 Now() 函数,则无需在其周围放置井号 (#)。 (他们只需要分隔日期literal,而不是日期函数。)试试

... SET PAYMENT_CC_DATE_PROCESSED=Now() ...

或者,如果不需要时间组件,您可以使用

... SET PAYMENT_CC_DATE_PROCESSED=Date() ...

另外,如果你想更新多个字段,你需要使用

... SET Field1=value1, Field2=value2 ...

不是

... SET Field1=value1 AND Field2=value2 ...

【讨论】:

没用。它给了我一个语法错误。我不明白这里可能有什么问题。我在其他地方用过这个功能,没问题。 :// @mntyguy 我刚刚对 SQL Server 2008 R2 中的 datetime 列进行了尝试,它对我来说效果很好。尝试删除表格链接并在 Access 中重新创建它,看看是否有帮助。 我尝试删除链接并重新添加表格无济于事。我还使用该函数(没有哈希)输入了代码,但这也不起作用。也许这些字段损坏了一些东西? @mntyguy 啊哈,我看到了语法错误。如果要更新多个字段,则需要使用SET Field1=value1, Field2=value2,而不是SET Field1=value1 AND Field2=value2 就是这样!再次感谢!【参考方案2】:

就是这样!非常感谢@Gord Thompson!

@mntyguy 啊哈,我看到语法错误。如果要更新多个字段,则需要使用 SET Field1=value1, Field2=value2,而不是 SET Field1=value1 AND Field2=value2

【讨论】:

以上是关于如何使用当前日期更新访问日期/时间字段的主要内容,如果未能解决你的问题,请参考以下文章

mysql 更新某个表日期字段 为当前表的例外一个日期字段 的前7天

如果所选日期 >= 到 current_date,则使用最小日期更新日期字段,除非所有日期 >= 到当前日期

如何更新数据库等于日期等于5天前的当前日期

如何使用实体框架向数据库服务器询问当前日期时间?

如何自动获取当前日期和时间到日期时间字段

如何使用单元格旁边的下拉菜单对当前日期进行单元格更新?