我正在尝试将用于员工培训记录的 Excel 电子表格转换为 Access 2003 数据库。我已将数据库设置为 4 个表:Staff、Tasks、Trainers 和 TrainingRecords。培训记录表包含以下字段:RecordID(自动编号和 PK)、StaffID(链接到员工)、TaskID(链接到任务)、DateCompleted 和 TrainerID(链接到培训师)。我已经创建了用于将数据输入到员工、任务和培训师表中的所有相关表格。我还创建了一个表单,允许您通过从组合框中选择员工姓名、任务名称和培训师姓名来输入新的培训记录。
我的问题是,我的老板希望培训记录的数据输入看起来更像 Excel 电子表格,它显示所有可用任务的完整列表,然后用户可以填写完成日期和所有相关的培训师姓名一次完成项目,通常会留下多个任务而没有创建日期和培训师(因为工作人员尚未接受过该特定任务的培训)。我不太确定如何着手解决这个问题 - 我有以下想法,但不知道它们的可行性:
1)当表单加载时,为任务名称中的所有可用任务和标签添加复选框。然后,用户将单击他们想要添加的任何任务,并为他们勾选的所有任务指定相同的日期和培训师姓名。
2)使用office excel电子表格控件(10或11)允许数据输入,然后编写一些代码来交互信息并根据需要创建/修改TrainingRecords表。这个选项对我来说应该是相当直接的,因为我已经完成了很多 Excel VBA 编程。但是,我不知道如何访问电子表格中的 Range/Cells 对象以读取/写入数据。我猜这个控件并不是真的要以这种方式使用。
3)创建一个临时表(将通过子表单查看),这将填充所有任务的列表,并且当用户从下拉框中选择员工姓名时,员工是否接受过相关培训主要形式。如果用户从下拉框中选择不同的员工,表单将刷新并显示该员工的数据。
我对任何其他比我在这里的想法更直接的想法/建议持开放态度。