存储在表MS ACCESS

时间:2019-01-08 11:03:06

标签: sql ms-access access-vba expression

我有2个表TableATableB

TableA中,我有3列(NameStockPrice)。

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

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

0.15*Price

它显示了我

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

代替

Apple, 10, 10$, 0.15*Price

请协助解决此问题

2 个答案:

答案 0 :(得分:1)

这个评论太长了。

在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,但不清楚。)

答案 1 :(得分:1)

您可以将discount计算字段添加到TableA中,表达式如下所示。

enter image description here


折扣将根据价格字段自动计算。

enter image description here