如何在MS Access中计算员工服务并保存在表字段中.(不是通过查询)



我面对的是"中的EmployeeServiceWithUs(表中的字段,数据类型为Number(;年";。

TxtServiceWithUs中,我使用以下内容,结果正常:

Control Source=DateDiff("yyyy",[DateOfJoing],Date())     

但在以下方面:

Private Sub EmployeeServiceWithUs_LostFocus()
[EmployeeServiceWithUs] = [DateOfJoing] & (DateDiff("yyyy", [DateOfJoing], Date))
End Sub

我得到:

错误"2113您输入的值对此字段无效。

able语法是否错误?

DateDiff计算的是日历年的差异,而不是服务年限或年龄或类似的差异。您需要一个自定义函数,如AgeSimple

然后您的控制源变为:

=AgeSimple([DateOfJoing])

更新(临时(表格:

Update
YourTable
Set
[EmployeeServiceWithUs] = AgeSimple([DateOfJoing])

最新更新