【发布时间】:2026-01-07 11:35:01
【问题描述】:
我正在尝试将用于员工培训记录的 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) 创建一个临时表(将通过子表单查看),这将填充所有任务的列表,以及当用户从下拉列表中选择员工姓名时员工是否接受过相关培训主窗体上的下拉框。如果用户从下拉框中选择不同的员工,表单将刷新并显示该员工的数据。
我愿意接受比我在这里的想法更直接的任何其他想法/建议。
【问题讨论】:
-
您是否可以发布屏幕截图或下载电子表格的链接,以便人们更好地了解您的需求,仅从描述中很难正确描绘?
标签: ms-access vba ms-access-2003