这是我的名为qryHoursSUM的选择查询。
SELECT DAL.Project
, DAL.Unit
, DAL.Activity
, Sum(([EndTime]-[StartTime])*24) AS Hours
FROM DAL INNER JOIN UnitTbl
ON (DAL.Project=UnitTbl.Project) AND (UnitTbl.Unit=DAL.Unit)
GROUP BY DAL.Project, DAL.Unit, DAL.Activity;
我试图让它更新到相应的*** Actual
字段和我名为UnitTbl的表中的匹配行,该行包含Project
和Unit
字段作为复合主键。我似乎无法让它工作。我首先尝试根据select查询运行更新查询,但收到了"操作必须使用可更新的查询",并发现它不可能。我做了一个make table查询调用qrySumHoursTbl来将qryHoursSUM变成一个表
SELECT qryHoursSUM.* INTO SumHoursTbl
FROM qryHoursSUM;
然后创建了一个名为qryUpdateUnitTbl的更新查询,只更新002 Actual
字段
UPDATE SumHoursTbl INNER JOIN UnitTbl
ON (SumHoursTbl.Unit = UnitTbl.Unit)
AND (SumHoursTbl.Project = UnitTbl.Project)
SET UnitTbl.[002 Actual] = [Hours]
WHERE (([Activity]="002 Drafting Submittals"));
是否可以使用更新查询一次更新多个字段,还是必须为要更新的每个字段进行更新?
此外,由于某种原因它只更新UnitTbl只有整数,我需要让它显示最多2位小数。使用这么多副本后,我完全忘记更改字段大小加倍。更改后,它显示最多2位小数
我的最终目标是让用户点击按钮,该按钮显示每个单元的预算小时数和实际小时数的差异报告(可以是[*** Budget]
- [*** Actual]
)任意我们非常感谢在此过程中需要考虑的事项提示,我现在已经试图解决这个问题。