vba - 如何在 MS Access 中计算员工服务并保存在表字段中。(不是通过查询)
问题描述
我面临EmployeeServiceWithUs
“年”中的(表中的字段,数据类型为数字)。
在TxtServiceWithUs
我使用以下,结果是好的:
Control Source=DateDiff("yyyy",[DateOfJoing],Date())
但在以下:
Private Sub EmployeeServiceWithUs_LostFocus()
[EmployeeServiceWithUs] = [DateOfJoing] & (DateDiff("yyyy", [DateOfJoing], Date))
End Sub
我得到:
错误“2113 您输入的值对此字段无效。
能的语法错了吗?
解决方案
DateDiff 计算日历年的差异,而不是 _years 的服务年数,或年龄或类似的。您将需要一个自定义函数,如在此处找到的AgeSimple。
然后您的ControlSource变为:
=AgeSimple([DateOfJoing])
要更新(临时)表:
Update
YourTable
Set
[EmployeeServiceWithUs] = AgeSimple([DateOfJoing])
推荐阅读
- javascript - 大家好!!!我已经创建了 yandex 地图,但我无法使用功能 onclick 地标 - console.log 它的“提示名称”
- php - Laravel:从JSON计算数组内的整数值
- r - 在列中拆分分隔字符串并作为新行插入 2 列
- javascript - 递归地将字符添加到字符串的末尾
- scala - Substract two dates in Scala with yyyyMMdd format
- python - Or | 的奇怪行为 运算符和非
- mysql - 为什么select语句在mysql的存储过程中显示前一个select语句的结果集
- algorithm - 如何选择距离最远的k个元素
- angular - 我应该为 Angular 中的模板可访问方法提供什么样的访问修饰符?
- javascript - 从 Bokeh 交互式线图中的 ColumnDataSource 中选择行