首页 > 解决方案 > 存储在表格 MS ACCESS 中的计算

问题描述

我有 2 张桌子TableATableB.

TableA中,我有 3 列(NameStockPrice

TableB中,我有 2 列(NVariableNFormula)。在 TableB 中,我创建了一个新变量,并为其命名,并基于Priceof创建相关公式TableA。例如,在 中TableB,我创建了一个名为的新变量Discount,公式为0.15*Price

现在,我在 Access 中创建以下查询:

SELECT Name, Stock, Price, NFormula AS Discount 
FROM TableA, TableB 

它向我展示了

Apple, 10, 10$, 0.15*Price

代替

Apple, 10, 10$, 1.5

请协助解决这个问题

标签: sqlms-accessvbaexpression

解决方案


在 MS Access 中,列不能存储“公式”。实际上,通过使用计算列,这种能力在某些数据库(如 SQL Server)中是可用的。但它在 MS Access 中不可用。

解决方案是使用视图。该结构通常是将折扣率存储在TableB

CREATE VIEW v_ab AS
    SELECT a.Name, a.Stock, a.Price, 
           (b.discount_rate * a.Price) AS Discount 
    FROM TableA as a, TableB as b;

(大概,你想要INNER JOIN,但这并不清楚。)


推荐阅读