所以我建议你做以下事情
创建一个新表,假设表 3 包含三个字段 A. ID、pkey、自动编号 B. original_worker、文本字段 C. Person_doing_rework、文本字段
您将需要十个插入语句,这些语句将插入每个原始工作人员 1-10,以及进行返工的人员,这是一个规范化表
目前,您的表格设计有点粗糙,并且无法实现带有 group by 列编号为 10 的 select 语句
下面是插入语句的示例 INSERT INTO Table3 (original_worker,Person_doing_rework) SELECT original_worker1,Person_doing_rework FROM table2 where isnotNull(original_worker1)
INSERT INTO Table3 (original_worker,Person_doing_rework) SELECT original_worker2,Person_doing_rework FROM table2 where isnotNull(original_worker2)
将此用于 original_worker3 复制到 original_worker10
第三步 你需要一个 delete 语句来删除表 3 中的所有记录,这是为了确保表 3 中的记录不重复,因为我们在表 2 和表 3 之间没有 pkey/fkey 关系
第四步 将所有查询按以下顺序放入宏中 A. 删除查询以首先运行 B. 插入查询以运行下一个
第五步 在宏中添加一个msgbox,最后运行,这是为了通知你所有其他的宏步骤,即上面的A和B已经成功运行。
第六步 现在,您可以从表 3 中获得一个 select 语句,该语句可以计算原始工作人员的工作被重新处理的次数,因为您现在在表 3 中有两个主要字段,一个用于 original_work,两个用于 Person_reworked。
因此,任何时候您想知道某些工作被重新处理了多少次,您只需单击宏按钮,这将运行所有查询并将您需要的值放入表 3 中,之后您可以查看通过第 6 步中的查询获取详细信息。
SELECT original_worker, Count(Person_doing_rework), FROM table3 GROUP BY original_worker;