首页 > 解决方案 > 如何在 MS Access 中计算员工服务并保存在表字段中。(不是通过查询)

问题描述

我面临EmployeeServiceWithUs“年”中的(表中的字段,数据类型为数字)。

TxtServiceWithUs我使用以下,结果是好的:

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

但在以下:

Private Sub EmployeeServiceWithUs_LostFocus()

[EmployeeServiceWithUs] = [DateOfJoing] & (DateDiff("yyyy", [DateOfJoing], Date))

End Sub

我得到:

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

能的语法错了吗?

标签: vbams-access

解决方案


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

然后您的ControlSource变为:

=AgeSimple([DateOfJoing])

要更新(临时)表:

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

推荐阅读