我需要帮助制作表格以输入用于一大群人的小时数;我不确定如何为多个关联记录生成新/空记录并一次显示它们。
该数据库旨在按工资周期跟踪 200 名员工的工时,并为每组使用的工时提供认证。每个员工只分配到一个部门,每个认证都分配给一个员工,每个小时事件(因为没有更好的术语)被分配到一个认证和一个支付周期。
我需要为每个工资期给工资单职员一张空白表格,显示职员负责的部分中的所有员工,并为该工资期的每个员工创建一个新的小时记录。我们需要能够在一个长列表中显示该部分的所有员工;没有使用记录选择器在记录之间进行洗牌。
(在理想的世界中,如果员工在该支付期间实际使用了小时数,我们只会创建新记录,但我愿意接受创建大量使用 0 小时的“小时”记录,如果这是更简单的方法它。)
关联表/字段
List_Sections:SectionID
List_Employees:EmployeeID,SectionID
List_Certifications: CertID,EmployeeID
List_PayPeriods:PeriodID
表添加到
List_Hours:HoursID、HoursUsed、CertID、PeriodID (HoursID是自动编号)
该表格将向职员提出以下问题:
- 你是谁?(他们从组合框中选择他们的名字;这已解决)
- 您要为哪个部分添加小时数?(只能从他们负责的部分中选择;这个已经解决了)
- 您要为哪个支付期输入数据?(可以选择未来两周或一年后的任何支付期)
这应该使用以下列填充数据表/表格子表单:
- EmployeeID(为该部分中的每个员工自动生成的一行)
- PeriodID(由店员在问题 3 中选择的内容自动填充)
- HoursUsed(他们会输入这个)
- CertID(这是一个仅限于与相关员工相关的认证的组合框;我需要弄清楚如何使新工时记录的默认值成为该员工的最新认证)
- HoursID(这将是自动编号,我实际上可能不会将其粘贴在表单上,因为我怀疑我的用户可能会尝试删除/更改它并感到沮丧。)
我还想提取之前为给定员工在此支付期间创建的任何现有记录,但这是次要优先级(我已经有一个查询会提醒我们奇怪的情况,比如有人使用 160 小时两周内,并输入了一个用于编辑现有时间的表格。)
相关资料:
- 我正在使用 Access 2010。
- 我对 Microsoft Office 产品的理解很好,但是我对 VBA 的理解很差,而且我已经有十年没有用比 Excel 中的“连接”更高级的任何类型的代码做这么多的工作了;我为我最终运行的级联组合框感到非常自豪。
- 我的办公桌上有一本“Access 2010: The Missing Manual”,但没有其他纸质参考资料。如果这个答案在本手册的某个地方,我会向教我如何在书中找东西的人要求退款。
- 好吧,好吧,我承认,他们实际上会在表单上看到诸如“员工全名”和“具有多个相关详细信息的认证描述”之类的字段。这些在相关表上,由更新查询定期更改,(一旦我完成了这个数据库)将每天或两天自动运行一次。因为我被告知永远不要在我的表中放置计算字段或查找。
我一直在努力思考这个问题,但我被困在“我想知道你是否可以做一些事情,比如将附加查询作为“更新后”事件过程运行......”我希望有一个更优雅的我还没有想到的解决方案。