Расчет хранится в таблице MS ACCESS - PullRequest
0 голосов
/ 08 января 2019

У меня есть 2 таблицы TableA и TableB.

В TableA у меня есть 3 столбца (Name, Stock и Price).

В TableB у меня есть 2 столбца (NVariable и NFormula). В Таблице B я создаю новую переменную, которой присваиваю имя, и создаю соответствующую базу формул на Price из 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

Пожалуйста, помогите по этому вопросу

Ответы [ 2 ]

0 голосов
/ 08 января 2019

Вы можете добавить вычисленное поле discount к TableA с выражением, как выделено ниже.

enter image description here


Скидка будет рассчитываться автоматически на основе поля цены.

enter image description here

0 голосов
/ 08 января 2019

Это слишком долго для комментария.

В 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, но это не ясно.)

...