我有一个查询从当前工作人员数据库查找员工ID,员工姓名和团队名称。我有另一个查询,列出团队名称中的所有唯一值。 (团队名称是一个整数,对应于员工ID,也是一个整数。)访问查询IIf由另一个查询返回的值的值
例如,这就是团队的结构。 Emp ID 100属于Emp ID 10的团队。 10属于5 5属于1等
的EmpID = 100 TeamName = 10
的EmpID = 10 TeamName = 5
的EmpID = 5 TeamName = 1
什么我试图做的是返回第四个字段,当雇员ID也出现在团队名称查询中(因此意味着他们有一个团队/是经理)时,给出一个星号“*”。
我有一个可以工作的DCount,但它比我想要的慢,并且只会随着数据库的增长而变慢,但它可能有助于解释我需要的东西。
表达式1:IIF(DCOUNT( “TeamName”, “jdbo_MostRecentEmpDataRemain”, “TeamName =” & [的EmpID])> 0, “*”, “”)
jdbo_MostRecentEmpDataRemain是返回所有数据查询积极的员工。
如果EmpID有团队成员分配给他们,这将返回一个星号,如果他们没有,则返回一个星号。
我想知道这是否可以通过查询使其更快。如果您有任何建议,请告诉我。
我试过这个:Expr2:IIf([EmpID] In([qryListOfTeams]。[TeamName]),“a”,“z”) 但是,返回大量的z然后是a,为团队列表中的每个值返回一个值。我想要它聚合这些,并显示一个,如果有一个,否则一个z。 (凡在原 “*” 是一个,而 “” 是z)
亲切的问候,
杰米·沃伯顿
非常感谢您的快速响应。这似乎再次列出雇员的EmpID,但只有他们有一个团队,所以它是在正确的轨道上。有没有办法,而不是显示EmpID,只显示一个星号? – Jamie 2012-07-17 10:33:26
是的,但星号在SQL中有特定的含义,所以我会将它作为表单或报表的显示内容。我会添加一个注释,但要谨慎。 – Fionnuala 2012-07-17 10:36:08
嗯,我想它不一定是星号。一个简单的“x”就可以做到。有4个列表框,第一个显示当前员工的团队。如果你点击一个名字,它会在下一个列表框中显示他们的团队,等等(团队只有最多4个,因此4个盒子)。如果他们有一个团队,Asterisk会显示在名称后面,所以它是什么字符并不重要。 – Jamie 2012-07-17 10:46:26