0

我正在尝试在访问中运行一个执行两阶段货币转换的查询。它从交易货币的汇率表中获取汇率,然后获取地区的汇率。

有没有办法在一个查询中做到这一点。我在下面尝试过,但遇到语法错误。

UPDATE REPORT 
SET REPORT.[Conversion Rate] = 
(

(
Exchange_Rates.Rate
Where
Exchange_Rates.code = REPORT.[Transaction Currency Code]
)

/

(
Exchange_Rates.Rate
Where
Exchange_Rates.code = REPORT.[Regional Currency Code]
)

)
4

1 回答 1

0

您可以使用访问UPDATE JOIN语法将汇率表加入到报表表中:

UPDATE  (Report
        INNER JOIN Exchange_Rates tr
            ON tr.code = Report.[Transaction Currency Code])
        INNER JOIN Exchange_rates reg
            ON reg.code = report.[Regional Currency Code]
SET     [Conversion Rate] = tr.Rate / reg.Rate;

注意您需要加入两次才能获得两种汇率

另一种选择是使用DLOOKUP函数:

UPDATE  REPORT 
SET     [Conversion Rate] = Dlookup("Rate", "Exchange_Rate", "Code = " & Report.[Transaction Currency Code])
                            /
                            Dlookup("Rate", "Exchange_Rate", "Code = " & Report.[Regional Currency Code])
于 2013-09-24T16:17:26.093 回答