使用vba将字段添加到access中的现有表中[英] Adding a field to existing table in access using vba

问题描述

好的,我正在做一个 Access 项目,但遇到了障碍,我需要您的专家帮助.

我有一个表(tblWorkerStats),其中包含以下字段:[工人代码]、[工人姓名]、[16 年 1 月]、[16 年 2 月]、[16 年 3 月]、[16 年 4 月].所有月份名称字段都包含工作人员在该月份未及时处理的案例计数.我有另一个表(tblOverdue),其中包含以下字段:[工人代码]、[案例编号],其中列出了当月未及时处理的所有单个案例编号.我们从远程服务器获取此月度数据,并且仅提供当月的数据.

所以我要做的是每个月在 (tblWorkerStats) 中填充一个新字段,以存储当月每个工人的病例数.我该怎么做呢?
我认为我不能使用 APPEND 或 UPDATE 查询.我想做的是调用表单上的 VBA 事件过程,将数据从(tblWorkerStats)存储到 rs1 作为记录集.并将 (qryCountOverdue) 的结果作为记录集存储到 rs2 中.

现在我希望将 rs2 数据附加到 rs1 加入 [worker code].另外,如果可能,我希望新字段名称为当前月份名称.

另一个复杂的问题是,在报告中,每个月我只想显示过去 3 个月的统计数据,并且由于过去 3 个月的字段名称每个月都会更改,我不知道我将如何能够来实现这一点.也许根据字段位置序数显示最后 3 个字段,但我不知道如何.

附言我对 Access 和 VBA 很陌生,但我很快就赶上了,在你的帮助下,我希望我能学到更多.

谢谢

推荐答案

如果我理解你的问题你有几个重复的领域:- [Jan ''16], [Feb ''16], [MAr ''16],[2016 年 4 月]...

我怀疑这是你问题的本质.这不是你在 MS Access 中做事的方式,这更像是你在 Excel 中做事的方式.

您在陈述"另一个复杂的问题是"中无意中指出了问题所在.每个字段中的数据属于同一类型,因此应将其存储在表中的一个字段中,并与另一个字段一起识别数据.一旦掌握了这一点,您会发现事情变得容易得多,您将有效地使用查询来获得所需的结果.

所以总结一个相当长的答案,你需要改变你的数据库结构.越早改越好.

感谢您的回复,Tony.

我知道结构不是最好的,但是我们只从远程服务器获取当月的数据.我们得到的数据是每个月的病例列表,我感兴趣的只是存储每个月的病例数.

所以你的建议是我创建一个单独的表,其中包含字段、工作人员代码、案例计数和月份,我将用月份确定计数.这对我来说很有意义,我可能可以通过每个月的 APPEND 查询来完成,并使用 format(Now(),"mmmm\''yy") 为月份字段赋值.我对么?我是否能够在追加查询中使用聚合,因为我需要存储的只是每个工作人员的案例数,而不是整个案例列表.

另外,在报告中,我将如何显示过去 3 个月的 3 个单独的列,其中数据来自同一字段?我无法从逻辑上思考那部分.

再次感谢.

我仍然认为你需要改变你的结构.您每月获取数据,按用户计数.

假设你下个月是 [May ''16]
您有 5 个用户 --- ID 的 1,2,3,4,5
--- 43,65,23,87,12的计数
与其将数据添加到新字段中(这是您永远不应真正考虑的事情),不如将数据添加到表中的字段中.表结构如下所示:-

fldMonth --- fldUser --- fldCount
[16 年 5 月] --- 1 -------------43
[16 年 5 月] --- 2 -------------65
[16 年 5 月] --- 3 -------------23
[16 年 5 月] --- 4 -------------87
[May ''16] --- 5 -------------12

本文地址:https://www.itbaoku.cn/post/1050664.html