更新查询匹配每月日期

时间:2017-10-23 17:11:18

标签: ms-access ms-access-2010

我有一个表tblQA,用于存储员工质量评估数据。它有14个是/否字段,可跟踪各种趋势。 (见下面的代码)我知道存储计算通常是禁止 - 否则查询,因为它运行2-3分钟,我只有年度的1/3预期数据。我想做的是每月自己运行一次查询,并将这些数据存储在一个表中,以便许多看到它的主管可以快速访问它。我希望将给定月份的14个趋势的平均值存储在具有这14个趋势的表格中,并且日期为" mmmm yyyy"格式。我想要给定月份的最终质量保证和每个趋势项目的平均错误率。我试过这个问题:

UPDATE DISTINCTROW tblQA, tblAverageTrends 
    SET tblAverageTrends.Appeal = Avg([tblQA].[Appeal]),
        tblAverageTrends.NRP = Avg([tblQA].[NRP]),
        tblAverageTrends.ChurnEscalation = Avg([tblQA].[ChurnEscalation]),
        tblAverageTrends.ProtocolNotFollowed = Avg([tblQA].[ProtocolNotFollowed]), 
        tblAverageTrends.Resubmission = Avg([tblQA].[Resubmission]),
        tblAverageTrends.Transfer = Avg([tblQA].[Transfer]),
        tblAverageTrends.ChargeCorrection = Avg([tblQA].[ChargeCorrection]),
        tblAverageTrends.Distribution = Avg([tblQA].[Distribution]),
        tblAverageTrends.Adjustment = Avg([tblQA].[Adjustment]),
        tblAverageTrends.PayorUpdate = Avg([tblQA].[PayorUpdate]),
        tblAverageTrends.TOBPOS = Avg([tblQA].[TOBPOS]),
        tblAverageTrends.CaseBilledUntimely = Avg([tblQA].[CaseBilledUntimely]),
        tblAverageTrends.Noting = Avg([tblQA].[Noting]),
        tblAverageTrends.MovedChargesIncorrectly = Avg([tblQA].[MovedChargesIncorrectly]) 
        WHERE (((tblQA.Final)=True) 
            AND ((Format$([tblQA].[NoteDate],'mmmm yyyy'))="September 2017"));

我在2017年9月的日期预售了tblAverage趋势。但是没有更新。我在SQL上磨砂(我正在努力学习),但我在Access中使用查询设计器进行了设置。 Access Query Designer View我觉得我的陈述缺失的是将avg&s链接到指定9月QA的正确行,但我无法弄清楚如何让Access查询设计者这样做。

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以使用:

[tblQA].[NoteDate] Between DateSerial(Year(Date()), Month(Date()) - 1, 1) And DateSerial(Year(Date()), Month(Date()), 0)

那将在NoteDate上使用索引。如果不存在,请添加它。