2012-11-24 135 views
0

我当前的表格如下所示;ms访问表中的更新记录

Before Update

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

After Update

我的目标是用PLMonthly记录中增加的值更新PL YTD记录的0值,如第二个屏幕截图所示。 感谢您的咨询!

+0

你试过了吗?不应该有任何困难,因为你将在SQL中添加列。这张表只有两行,还是有一个年份列? – Omnikrys

+0

不,这只是我想要得到的模拟...不太确定如何在Access sql中进行...任何想法? – user1775842

+0

这样表格只存储一年的数据?如果没有,那么你需要添加适当的分组到我的答案。 – Omnikrys

回答

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] 

这使得一些假设,但它应该让你在正确的方向开始呢。

+0

谢谢Omnikrys ...看起来是一个很好的开始,尽管所有的重复,我现在会运行,看看它是如何 – user1775842