微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Access 2007请求SQL Server日期和时间

如何解决Access 2007请求SQL Server日期和时间

我正在运行带有sql 2014服务器后端的MS Access 2007前端。

我有一个计时系统,可以跟踪员工的时间。员工可以使用多台计算机登录/注销并跟踪他们的时间,并用于发薪,因此确保它正常工作非常重要。

我们遇到了一个问题,即计算机的日期和时间搞砸了。这导致了工资问题。理想的解决方案是始终使用服务器的日期/时间,因此我们有一个黄金标准来跟踪时间。

基本上,在创建记录时,它将服务器时间戳记作为“开始时间”。当用户跟踪他们的时间时,将填写“ Time Ended”字段。

是否有某种方法可以使服务器填写时间戳而无需在访问中使用Now()函数查询服务器日期/时间,以便可以使用它来填充记录? Now()函数使用当前系统日期和时间以及此问题的原因。

编辑1:

有关更新查询,请参见下文

DoCmd.Runsql "UPDATE dbo_tbl_Timekeeping SET fld_End_Time = Now() WHERE fld_Employee_ID = " & Me.EmployeeID

这里的问题是Access无法识别诸如GETDATE()之类的函数,它告诉我该函数未定义(请参见this link

解决方法

为此使用通过查询Doc link
在那里,您可以使用所有SQL Server功能。

例如保存的PT查询(如here所示:

With CurrentDb.QueryDefs("MyPass")
  .SQL = "UPDATE dbo.tbl_Timekeeping SET fld_End_Time = GETDATE() WHERE fld_Employee_ID = " & Me.EmployeeID
  .Execute
End With

请注意不要使用链接表名称(dbo_...),而要使用SQL Server(dbo. ...)中显示的名称。

或如图here即时创建它
但是要运行操作查询,您必须设置

qdf.ReturnsRecords = False

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。