我目前有一个MS Access应用程序,用于存储有关负责某项任务的员工的信息。
我的表格是这样的。您在文本框中输入任务。您从绑定到staff表的组合框中选择员工。最后,我们将此信息保存到Task表中。就像我想的那样简单......
但这是问题所在。没有员工永远在公司工作。可能会为新员工/另一名员工分配以前由不再在那里工作的员工执行的任务。在我更新新员工的表格中,旧的员工信息被替换,我们甚至不知道该员工是否存在。
我遇到了向员工添加有效日期的概念,可用于跟踪员工的历史。
现在,我想知道在使用新员工的信息更新“任务”表单时,如何保留上一位员工的数据。
我该怎么办?
感谢您的协助。
BR, 保罗
我上传了我正在处理的三种表单的链接。
我还在研究这个主题,在那里我找到了一个解释生效日期概念的文件。我需要知道如何应用它,也不需要对应用程序进行大量更改。
我希望这可以帮助您理解我的问题。
答案 0 :(得分:0)
您似乎保留了非常简单的信息,您想知道当前分配给任何给定任务的人员。在表中添加“assignedDate”字段。然后,您可以将需要显示当前受让人的任何报表或表单更改为按“任务”分组并仅选择最新记录的查询。
不要将受理人包括在任务表中的字段中。您需要一个额外的表,例如“TaskAssignees”,包括TaskID,ContactID,输入日期,分配日期,未分配日期。现在,在报告中,您可以在任何日期提取正确的受让人,或者从头到尾列出受让人的历史记录。
答案 1 :(得分:0)
我会说你的问题太复杂了。
当然,对于员工离职时的任务会发生什么样的管理政策 - 他们的替换会将他们结束,或者他们被分配给离职员工的主管或同事。
因此,您的应用程序应编码该业务实践。应设置编辑员工的表单,以便员工离职时,将其任务移至相应的员工。这意味着您不必存储有效日期,然后编写复杂的SQL以按这些日期进行过滤。相反,您将使用与您已有的相同的结构。
现在,当然,我并不愚蠢 - 我知道很多公司应该有这样的政策,但很多时候,这些事情都会陷入困境。当我担任这个职位(作为外部承包商)时,我告诉他们两个选项并为这两个选项定价。当员工离开时,为分配的任务执行的策略实施策略是便宜的。实施生效日期是昂贵的。因此,如果他们想省钱,他们会提出一个可以在数据库应用程序中实现的策略。
答案 2 :(得分:0)
如果已经建议的解决方案不适合您,那么您可以查看创建一个审计表,该表有效地记录对记录所做的每一项更改(这样可以让您跟踪所有更改,即使在您尚未开发的系统区域。)
以下是一些显示如何执行此操作的链接: