Access 2007 请求 SQL 服务器日期和时间
Access 2007 Requesting SQL Server Date and Time
我 运行宁 MS Access 2007 前端与 SQL 2014 服务器后端。
我有一个计时系统可以跟踪员工的时间。员工可以使用多台计算机来签名 in/out 并跟踪他们的时间,并用于支付工资,因此确保其正常工作非常重要。
我们 运行 遇到计算机日期和时间混乱的问题。这导致了工资单的各种问题。理想的解决方案是始终使用服务器的 date/time,这样我们就有了一个黄金标准来跟踪时间。
基本上在创建记录时,它会将服务器时间戳记为“开始时间”。当用户跟踪他们的时间时,“时间结束”字段被填充。
有没有什么方法可以让服务器填写时间戳,而无需在访问或查询服务器时使用 Now() 函数 date/time,这样我就可以用它来填充记录? Now() 函数使用当前系统日期和时间以及此问题的原因。
编辑 1:
请参阅下面的更新查询
DoCmd.RunSQL "UPDATE dbo_tbl_Timekeeping SET fld_End_Time = Now() WHERE fld_Employee_ID = " & Me.EmployeeID
这里的问题是 Access 无法识别 GETDATE() 等函数,它告诉我该函数未定义(参见 this link)
为此使用 Pass-Through 查询。 Doc link
您可以在那里使用所有 SQL 服务器功能。
例如使用已保存的 PT 查询,如图所示 :
With CurrentDb.QueryDefs("MyPass")
.SQL = "UPDATE dbo.tbl_Timekeeping SET fld_End_Time = GETDATE() WHERE fld_Employee_ID = " & Me.EmployeeID
.Execute
End With
注意不要使用链接的 table 名称 (dbo_...
),而是 SQL 服务器 (dbo. ...
) 中显示的名称。
或者如图所示动态创建它here
但是对于 运行 一个动作查询你必须设置
qdf.ReturnsRecords = False
我 运行宁 MS Access 2007 前端与 SQL 2014 服务器后端。
我有一个计时系统可以跟踪员工的时间。员工可以使用多台计算机来签名 in/out 并跟踪他们的时间,并用于支付工资,因此确保其正常工作非常重要。
我们 运行 遇到计算机日期和时间混乱的问题。这导致了工资单的各种问题。理想的解决方案是始终使用服务器的 date/time,这样我们就有了一个黄金标准来跟踪时间。
基本上在创建记录时,它会将服务器时间戳记为“开始时间”。当用户跟踪他们的时间时,“时间结束”字段被填充。
有没有什么方法可以让服务器填写时间戳,而无需在访问或查询服务器时使用 Now() 函数 date/time,这样我就可以用它来填充记录? Now() 函数使用当前系统日期和时间以及此问题的原因。
编辑 1:
请参阅下面的更新查询
DoCmd.RunSQL "UPDATE dbo_tbl_Timekeeping SET fld_End_Time = Now() WHERE fld_Employee_ID = " & Me.EmployeeID
这里的问题是 Access 无法识别 GETDATE() 等函数,它告诉我该函数未定义(参见 this link)
为此使用 Pass-Through 查询。 Doc link
您可以在那里使用所有 SQL 服务器功能。
例如使用已保存的 PT 查询,如图所示
With CurrentDb.QueryDefs("MyPass")
.SQL = "UPDATE dbo.tbl_Timekeeping SET fld_End_Time = GETDATE() WHERE fld_Employee_ID = " & Me.EmployeeID
.Execute
End With
注意不要使用链接的 table 名称 (dbo_...
),而是 SQL 服务器 (dbo. ...
) 中显示的名称。
或者如图所示动态创建它here
但是对于 运行 一个动作查询你必须设置
qdf.ReturnsRecords = False