Access SQL:生成弹出窗口的联合查询

时间:2015-07-29 17:13:33

标签: sql ms-access ms-access-2007

情况:我有三个零件表:原材料,单个零件和装配零件。我创建了一个联合查询,列出了所有零件编号以及最低库存水平和库存水平。我还有一个使用所有零件编号的库存表。我使用联合查询来查找当前库存和另一个查询中的当前余额。当我尝试打开此查询时,我得到一个输入框,询问CurrentInventory。

问题:如何让输入框停止显示?

代码:

表格:
原材料,单个零件和组装零件都具有类似的格式,从以下开始

PartNum | Min | Open
1         50    100

库存:

PartNum  | Year | Week | In | Out
1          2015   31     20   10

查询
联盟查询:

SELECT PartNum, Open, Min
FROM Raw Material
UNION 
SELECT PartNum , Open, Min
FROM Individual Parts
UNION 
SELECT PartNum, Open, Min 
FROM Assembled Parts;

结果是:

PartNum | Min | Open
1         50    100
etc.

当前库存:

SELECT AllParts.PartNum, AllParts.Open, Sum(Inventory.[In]) AS SumOfIn, 
       Sum(Inventory.Out) AS SumOfOut, 
       [Open]+[SumOfIn]-[SumOfOut] AS CurrentInventory, 
       AllParts.Min, [CurrentInventory]-[Min] AS CurrentBalance
FROM AllParts 
     INNER JOIN Inventory ON AllParts.PartNum = Inventory.PartNum
GROUP BY AllParts.PartNum, AllParts.Open, AllParts.Min, 
         [CurrentInventory]-[Min], [Open]+[In]-[Out];

当我尝试运行时,我得到了CurrentInventory的输入框。如果我不输入任何内容,它不会影响结果。但是,当我尝试运行我从中生成的报告时,该列将显示为我输入的内容,而不是实际值。

1 个答案:

答案 0 :(得分:1)

即使您将计算结果别名为“CurrentInventory”,也无法通过同一查询中的别名引用该计算。 每次你有“CurrentInventory”(“AS”之后除外)你需要用[Open]+[SumOfIn]-[SumOfOut]替换它