MS Access跟踪员工的有效日期

时间:2011-07-19 05:56:31

标签: ms-access access-vba

我目前有一个MS Access应用程序,用于存储有关负责某项任务的员工的信息。

我的表格是这样的。您在文本框中输入任务。您从绑定到staff表的组合框中选择员工。最后,我们将此信息保存到Task表中。就像我想的那样简单......

但这是问题所在。没有员工永远在公司工作。可能会为新员工/另一名员工分配以前由不再在那里工作的员工执行的任务。在我更新新员工的表格中,旧的员工信息被替换,我们甚至不知道该员工是否存在。

我遇到了向员工添加有效日期的概念,可用于跟踪员工的历史。

现在,我想知道在使用新员工的信息更新“任务”表单时,如何保留上一位员工的数据。

我该怎么办?

感谢您的协助。

BR, 保罗

我上传了我正在处理的三种表单的链接。

enter image description here

enter image description here

enter image description here

  • 在公司外部表格中,我们没有提到日期字段。
  • 在我们的公司提案表格中,我们可能需要增加其他人员但不想重复提案信息,只需要官员,部门,候补人员和分裂。
  • 在公司外部详细信息表格中,我们可能需要将相同的概念应用于公司董事,而无需申请其他机构信息。

我还在研究这个主题,在那里我找到了一个解释生效日期概念的文件。我需要知道如何应用它,也不需要对应用程序进行大量更改。

  • www.gsa.gov/graphics/staffoffices/DatedInformationandDateTracking.pdf

我希望这可以帮助您理解我的问题。

3 个答案:

答案 0 :(得分:0)

您似乎保留了非常简单的信息,您想知道当前分配给任何给定任务的人员。在表中添加“assignedDate”字段。然后,您可以将需要显示当前受让人的任何报表或表单更改为按“任务”分组并仅选择最新记录的查询。

不要将受理人包括在任务表中的字段中。您需要一个额外的表,例如“TaskAssignees”,包括TaskID,ContactID,输入日期,分配日期,未分配日期。现在,在报告中,您可以在任何日期提取正确的受让人,或者从头到尾列出受让人的历史记录。

答案 1 :(得分:0)

我会说你的问题太复杂了。

当然,对于员工离职时的任务会发生什么样的管理政策 - 他们的替换会将他们结束,或者他们被分配给离职员工的主管或同事。

因此,您的应用程序应编码该业务实践。应设置编辑员工的表单,以便员工离职时,将其任务移至相应的员工。这意味着您不必存储有效日期,然后编写复杂的SQL以按这些日期进行过滤。相反,您将使用与您已有的相同的结构。

现在,当然,我并不愚蠢 - 我知道很多公司应该有这样的政策,但很多时候,这些事情都会陷入困境。当我担任这个职位(作为外部承包商)时,我告诉他们两个选项并为这两个选项定价。当员工离开时,为分配的任务执行的策略实施策略是便宜的。实施生效日期是昂贵的。因此,如果他们想省钱,他们会提出一个可以在数据库应用程序中实现的策略。

答案 2 :(得分:0)

如果已经建议的解决方案不适合您,那么您可以查看创建一个审计表,该表有效地记录对记录所做的每一项更改(这样可以让您跟踪所有更改,即使在您尚未开发的系统区域。)

以下是一些显示如何执行此操作的链接:

a simple solution for tracking changes to access data

Allen Browne - creating an audit log.