更新ms访问表中的记录

时间:2012-11-24 23:29:56

标签: sql ms-access ms-access-2010

我目前的表格如下;

Before Update

我希望能够更新此表,使其看起来像这个表;

After Update

我的目标是使用PLMonthly记录中的递增值更新PL YTD记录的0值,如第二个屏幕截图所示。 谢谢你的建议!

1 个答案:

答案 0 :(得分:0)

这只是重复......

SELECT "PLYTD" AS Name, 
    [PL].JanActual AS JanActual, 
    [PL].[JanActual]+[PL].[FebActual] AS FebActual, 
    [PL].[JanActual]+[PL].[FebActual]+[PL].[MarActual] AS MarActual, 
    [PL].[JanActual]+[PL].[FebActual]+[PL].[MarActual]+[PL].[AprActual] AS AprActual, 
    [PL].[JanActual]+[PL].[FebActual]+[PL].[MarActual]+[PL].[AprActual]+[PL].[MayActual] AS MayActual, 
    [PL].[JanActual]+[PL].[FebActual]+[PL].[MarActual]+[PL].[AprActual]+[PL].[MayActual]+[PL].[JunActual] AS JunActual, 
    [PL].[JanActual]+[PL].[FebActual]+[PL].[MarActual]+[PL].[AprActual]+[PL].[MayActual]+[PL].[JunActual]+[PL].[JulActual] AS JulActual, 
    [PL].[JanActual]+[PL].[FebActual]+[PL].[MarActual]+[PL].[AprActual]+[PL].[MayActual]+[PL].[JunActual]+[PL].[JulActual]+[PL].[AugActual] AS AugActual, 
    [PL].[JanActual]+[PL].[FebActual]+[PL].[MarActual]+[PL].[AprActual]+[PL].[MayActual]+[PL].[JunActual]+[PL].[JulActual]+[PL].[AugActual]+[PL].[SepActual] AS SepActual, 
    [PL].[JanActual]+[PL].[FebActual]+[PL].[MarActual]+[PL].[AprActual]+[PL].[MayActual]+[PL].[JunActual]+[PL].[JulActual]+[PL].[AugActual]+[PL].[SepActual]+[PL].[OctActual] AS OctActual, 
    [PL].[JanActual]+[PL].[FebActual]+[PL].[MarActual]+[PL].[AprActual]+[PL].[MayActual]+[PL].[JunActual]+[PL].[JulActual]+[PL].[AugActual]+[PL].[SepActual]+[PL].[OctActual]+[PL].[NovActual] AS NovActual, 
    [PL].[JanActual]+[PL].[FebActual]+[PL].[MarActual]+[PL].[AprActual]+[PL].[MayActual]+[PL].[JunActual]+[PL].[JulActual]+[PL].[AugActual]+[PL].[SepActual]+[PL].[OctActual]+[PL].[NovActual]+[PL].[DecActual] AS DecActual
FROM PL
WHERE (((PL.Name)="PLMonthly"));

一旦你有了更新或追加查询,取决于 PLYTD 行是否已经存在,你就可以了。你可以将它嵌套在FROM中,或者只是从中构建一个查询并引用它,就像我在下面所做的那样......

UPDATE PL INNER JOIN plytd_query AS ytd ON PL.Name = ytd.Name SET 
    PL.JanActual = [ytd].[JanActual], 
    PL.FebActual = [ytd].[FebActual], 
    PL.MarActual = [ytd].[MarActual], 
    PL.AprActual = [ytd].[AprActual], 
    PL.MayActual = [ytd].[MayActual], 
    PL.JunActual = [ytd].[JunActual], 
    PL.JulActual = [ytd].[JulActual], 
    PL.AugActual = [ytd].[AugActual], 
    PL.SepActual = [ytd].[SepActual], 
    PL.OctActual = [ytd].[OctActual], 
    PL.NovActual = [ytd].[NovActual], 
    PL.DecActual = [ytd].[DecActual]

这做了一些假设,但无论如何它应该让你开始朝着正确的方向前进。