我有一个表,用于存储分配给项目的人员以及是否从项目中删除的人员。
每个项目都由几个人担任。
几个角色可以同时由多个人担任,但几个角色一次只能由一个人担任。
如果将某人从项目中删除,则他们的记录将在指定的日期字段中标有删除日期。
[projectNumber] [员工] [角色] [removedDate]
[员工]和[角色]是查找字段
我有一个查询,该查询标识应一次由一个人担任该角色的角色。
SELECT first(projectNumber) AS pn, employee, role
FROM [Table]
WHERE projectNumber = "NUMBER" and removeddate is null and (role = 9 or role = 10 or role =2 or role =3 or role =1)
GROUP BY pn, role;
对于特定的项目编号,此操作返回的角色只能有一个人。如果未填补该角色,那么此查询中的记录将不返回任何内容。
我正在尝试使用dlookup引用表单来查询查询,但是我不确定自己在做什么。
如何创建验证规则,以检查每个项目中的角色是否已填补,如果是,则返回错误?
示例表:
[projectNumber][employee][role][removedDate]
1111111 A 1
1111111 B 2
1111111 C 3
1111111 D 4
1111111 E 5
1111111 F 9 2/20/19
1111111 G 4
1111111 H 5
1111111 I 9
1111111 J 10
查询结果将标识所有只能分配一个角色但尚未删除的角色。
[projectNumber][employee][role][removedDate]
1111111 A 1
1111111 B 2
1111111 C 3
1111111 I 9
从这些结果中,如果有人要添加,我希望验证检查器引用这些结果:雇员M到项目1111111的角色1、2、3、9。由于分配了这些角色,它应该返回错误。
如果有人尝试添加:员工N到角色11的项目1111111,验证检查器将不会返回错误。