我有一个从当前员工数据库中查找员工 ID、员工姓名和团队名称的查询。我有另一个查询,其中列出了团队名称中的所有唯一值。(Team Name是一个Integer,对应Employee ID,也是一个Integer。)
例如,这就是团队的结构。Emp ID 100 属于 Emp ID 10 的团队。10 属于 5。5 属于 1,等等。
EmpID = 100 团队名称 = 10
EmpID = 10 团队名称 = 5
EmpID = 5 团队名称 = 1
我要做的是返回第四个字段,当 Emp ID 也出现在 Team Name 查询中时,给出一个星号“*”(因此意味着他们有一个团队/是一个经理)。
我有一个可以工作的 DCount,但它比我想要的慢,并且只会随着数据库的增长而变慢,但它可能有助于解释我需要什么。
Expr1: IIf(DCount("TeamName","jdbo_MostRecentEmpDataRemain","TeamName = " & [EmpID])>0,"*","")
jdbo_MostRecentEmpDataRemain 是一个查询,它返回所有处于活动状态的员工的数据。
如果 EmpID 有分配给他们的团队成员,这将返回一个星号,如果没有,则不返回任何内容。
我想知道这是否可以通过查询应用以使其更快。如果您有任何建议,请告诉我。
我试过这个: Expr2: IIf([EmpID] In ([qryListOfTeams].[TeamName]),"a","z") 但这会返回很多 z,然后是 a,因为它似乎为每个返回一个值团队列表中的值。我希望它聚合这些,如果有 a,则显示 a,否则显示 z。(原来的“*”是a,“”是z)
亲切的问候,
杰米沃伯顿