给定 Access 2010 中的两个(简化)表:
**tblDailyLabour**
DailyLabourID - PK
DateRecorded
EmployeeID
QtyHours
**tblEmployeeHistory**
EmpHistoryID - PK
DateApplicable
EmployeeID
PayRate
今天将 Employee1 输入到数据库中。他被设置在员工的“通讯录”中,并为他分配了各种价值。截至今天,他的工资率为 23.50 美元/小时。
因此,从今天开始,所有记录的小时数将根据 Employee1 的今天费率 (23.50 * [QtyHours]) 计算。一个月过去了,Employee1 的工资增加到 25.00 美元/小时。该值作为新条目记录在“员工历史记录”中,并且自 4 月 17 日起生效。因此,从 4 月 17 日起,他的计算时间为 (25.00 * [QtyHours])。
在每日报告中,这很简单,因为查询会检查报告日期并计算 Employee1 的总数。无论报告是 3 月 17 日还是 4 月 25 日,查询都会查找分配的费率并计算总成本。
但是,如果我要创建一份管理报告来评估 3 月 17 日至 6 月 3 日期间所有日子的总成本,则可能需要考虑员工费率的一些变化。
这是我遇到问题的地方。如果 DateApplicable <= DateRecorded,我无法弄清楚如何不显示任何以前的费率。
我该如何编写一个查询来确定每天的费率 - 取决于员工历史记录中的值 - 并计算总和?
如果这个问题的措辞不是很好,我提前道歉,但非常感谢您的帮助!