在工作中,我们有一个历史上一直保存在庞大的Excel工作簿中的名单。由于员工的变化等原因,这会变得有点脆弱,所以我试图将其作为Access数据库强有力地重新实现。
我有一张人员表(字段包括姓名和其他人的属性)和一张假期表 - 每个假期都有person_ID,开始日期和结束日期。
我希望能够从中生成的是一个名单网格,就像我们在Excel工作簿中所做的那样:
Date Person A Person B Person C
01 Jan - - -
02 Jan - - -
03 Jan VAC - -
04 Jan VAC VAC -
05 Jan VAC VAC -
06 Jan - VAC -
07 Jan - - -
08 Jan - - -
09 Jan - - -
(在这个例子中,Vactions表有两条记录 - 一条用于人A,一条用于人B.)
用Excel可以做到这一点吗?或者我将不得不写一些代码?
谢谢!
答案 0 :(得分:2)
您可以使用访问中的数据透视表来执行此操作,但是显示此类数据是“Excel访问/数据库”综合症的典型症状。
Mild Tangent
我总是被告知在数据库中只有3个数字0,1和n,其中n是介于2和无穷大之间的任何数字。当你有少量工作人员时,显示这样的数据很好但是当你得到50或300名员工时会发生什么?我会以不同的方式显示数据,可能是交互式表格或其他类型的动态显示。如果它必须是纸张,那么每个人可能会发布某种报告吗?
/ Mild Tangent
答案 1 :(得分:1)
我会推荐
建立一个日期表(对于您可能使用的每个日期,表格都有一行,比如01/01/2000到31/12/2020)
在此表的帮助下,构建一个视图,列出每个人的每个日期,并显示该人是否在该日期休假(假期和日期表之间的联合以及假期和人之间的联接)
现在比较棘手。你现在需要为自己构建一个交叉标签查询....但是访问权限很有趣(暂时没有使用访问权限,所以可能会出错)。
然而,我建议在上面的第2步中构建视图,然后使用Excel的强大功能为您构建数据的数据透视表。将Excel电子表格链接到Access数据库,每次用户需要刷新数据时,他们都会刷新它!
HTH