MS Access公式根据“两个”其他字段之间的数量更新表中的一个字段

时间:2017-11-13 18:00:06

标签: ms-access formula between

我希望有人可以帮助我。我希望我可以在MS Access中进行更新查询,根据另一个字段“Brand Savings”是否等于或者在我有一组美元范围之间更新我称之为“财政年度的重要性”的字段在另一张桌子里。第一个表如下,这是主表:

+----------+------------+---------------+----------------------------+
|  Brand   | Project ID | Brand Savings | Materiality by Fiscal Year |
+----------+------------+---------------+----------------------------+
| aBS Corp |        121 | $110,000.00   |                            |
| aBS Corp |        151 | $17,640.67    |                            |
| aBS Corp |        152 | $5,682.37     |                            |
| aBS Corp |        154 | $564,669.58   |                            |
| aBS Corp |        157 | $5,097.00     |                            |
| aBS Corp |        159 | $33,798.00    |                            |
| aBS Corp |        190 | $200,000.00   |                            |
| aBS Corp |        193 | $250,000.00   |                            |
| aBS Corp |        194 | $366,666.67   |                            |
| aBS Corp |        197 | $90,799.00    |                            |
| aBS Corp |         20 | $14,000.00    |                            |
| aBS Corp |        219 | $2,800.00     |                            |
| aBS Corp |        222 | $132.58       |                            |
| aBS Corp |         23 | $2,068.30     |                            |
| aBS Corp |        233 | $32,908.60    |                            |
| aBS Corp |         25 | $9,143.18     |                            |
| aBS Corp |         34 | $11,674.85    |                            |
| aBS Corp |         35 | $11,615.60    |                            |
| aBS Corp |         36 | $14,959.28    |                            |
| aBS Corp |         39 | $35,000.00    |                            |
| aBS Corp |         40 | $100,000.00   |                            |
| aBS Corp |         60 | $55,000.00    |                            |
| aBS Corp |         61 | $250,094.72   |                            |
| aBS Corp |         64 | $925,000.00   |                            |
| aBS Corp |         69 | $400,000.00   |                            |
| aBS Corp |         75 | $14,625.00    |                            |
+----------+------------+---------------+----------------------------+

第二个表是参考表:

+------------+-------------------+--------------------+----------------+
| FiscalYear |     Low Range     |     High Range     |     Result     |
+------------+-------------------+--------------------+----------------+
|       2016 |  (100,000,000.00) |         24,999.00  | 0-24.9K        |
|       2016 |  25,000.00        |         49,999.00  | 25-49.9K       |
|       2016 |  50,000.00        |         99,999.00  | 50-99.9K       |
|       2016 |  100,000.00       |  1,000,000,000.00  | 100K or Higher |
+------------+-------------------+--------------------+----------------+

我希望能够引用第二张表,以便根据“品牌储蓄”中的值是否在“低价范围”和“高价范围”之间更新“按会计年度的重要性”字段领域。然而我无法弄明白,这让我发疯了。相反,我有4个不同的查询将更新“财政年度的重要性”字段(查询中使用的公式示例如下:)

IIf(([品牌优惠]> = 0)和([品牌优惠]< = 24999),“$ 0-24.9K”)

基本上我要问的是,是否有一个公式可以用来引用参考表中的“低范围”和“高范围”字段,以确定主表中的“品牌储蓄”值是否为在这两个金额之间,如果是,请使用参考表中的“结果”字段填充“财政年度的重要性”字段?

抱歉,这有点“罗嗦”,只是不知道如何解释它。

全部谢谢!

2 个答案:

答案 0 :(得分:0)

您可以在更新查询中使用DLookUp来查找适当的值:

DLookUp("Result", "SecondTable", CDbl([Brand Savings]) & " Between [Low Range] And [High Range]")

对于SELECT个查询,您也可以使用联接,但我怀疑这是否适用于UPDATE查询。

答案 1 :(得分:0)

假设带有Brand Savings的表名为tblBrandSavings,带有范围的表称为tblRanges。 然后你可以使用这个UPDATE语句:

UPDATE tblBrandSavings, tblRanges
SET [Materiality by Fiscal Year] = tblRanges.Result 
WHERE  tblBrandSavings.[Brand Savings] BETWEEN tblRanges.[Low Range] AND tblRanges.[High Range];

问题是为什么要运行在多个表中存储相同的日期。 我建议一个简单的SELECT语句:

SELECT tblBrandSavings.Brand, tblBrandSavings.[Project ID], tblBrandSavings.[Brand Savings], ( 
SELECT tblRanges.Result 
FROM tblRanges 
WHERE  tblBrandSavings.[Brand Savings] BETWEEN tblRanges.[Low Range] AND tblRanges.[High Range]
 ) AS [Materiality by Fiscal Year]
FROM tblBrandSavings;