根据选择查询

时间:2016-06-16 19:40:50

标签: ms-access ms-access-2007

这是我的名为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的表中的匹配行,该行包含ProjectUnit字段作为复合主键。我似乎无法让它工作。我首先尝试根据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])任意我们非常感谢在此过程中需要考虑的事项提示,我现在已经试图解决这个问题。

0 个答案:

没有答案