2016-06-10 25 views
0

我有一个旧的数据库,用于跟踪员工参加培训活动。每条记录都是一名雇员,并且遵循基本的名字/姓氏电话号码等......大约有150个字段代表过去的事件,每个都有一个是/否的复选框,表明该员工是否参加了该事件。试图创建一个表单上的字段名称的条件列表

我有一个允许员工记录轻松查看和编辑的表单。我目前拥有一个庞大的事件清单,其复选框与主表中的相应字段绑定。

我需要创建一个当前正在查看的员工参加的事件列表,以便显示为指定员工检查的所有字段名称。

我知道我正在使用的数据库的设计显然是不完善的,但有没有什么办法可以做到这一点?

在此先感谢!

+0

这些复选框字段的命名方式是否一致?有许多方法可以遍历表中的字段,因此如果获得为每个员工检查的复选框的字段名称列表,您就可以完成所需的任务,那么就有一种方法。 – SunKnight0

+0

这个问题看起来几乎与[有没有一种方法来有条件地列出访问表单上的字段名称?](http://stackoverflow.com/q/37737283/77335)。这个问题的答案是否给你你需要的东西?如果不是,这个问题又有什么不同? – HansUp

+0

是的,名字很好,如果这是你的意思,那么获得一个原始名称的列表将是可以接受的。 – User999

回答

2

你基本上需要“逆透视”的〜150分为每个事件列到一个临时表

EmployeeID EventID 
---------- ------- 
     1 event1 
     1 event3 
     1 event7 

在Access中最常见的方式,以“逆透视”是UNION ALL一系列单独的SELECT的。但是,这仅适用于大约十几个UNION(之后Access会引发“查询太复杂”错误),因此您必须将其分解为更小的“事件”字段组,并将结果存储在临时表。

为了避免必须一遍又一遍地做那些混乱的“不透明”,你应该修正你的数据库结构,使这个“未转移”的表永久化,摆脱另一个表中的〜150字段。这是“短期痛苦,长期收益”的经典案例。

相关问题