Сохранение значения поля в табличном поле Access 2010 - PullRequest
0 голосов
/ 13 апреля 2011

У меня есть проблема, у меня есть простой расчет на форме = [Субтотальная] - [скидка] + [доставка]

Затем я хочу сохранить результат в моей таблице заказов под полем TotalPrice. Я охотился вокруг Google, но не могу найти ничего, что мне помогает.

Я знаю, что нехорошо хранить значения полей в таблицах, но это нужно сделать.

Заранее спасибо.

Просто чтобы было ясно. [промежуточный итог] [скидка] и [доставка] - все текстовые поля в форме. затем появляется поле с именем [Итого], и в текстовом поле с именем [итого] появляется то, что я хочу сохранить в таблице заказов.

1 Ответ

0 голосов
/ 13 апреля 2011

Было бы лучше создать запрос, а затем, чтобы кто / что бы ни нуждался в этом вычисленном значении, используйте запрос вместо таблицы напрямую.

ОДНАКО, вы можете создать триггер в форме для чего-то вроде события OnCurrent, а затем заставить этот триггер выполнить следующее.

me.txtCalcField = me.subtotal - me.discount + me.delivery

Однако, это сработает, если вы измените записи. Может быть, немного лучше проверить, установлен ли он первым

if isnull me.txtCalcField then
    me.txtCalcField = me.subtotal - me.discount + me.delivery
endif

Но тогда, если значения его компонентов будут сброшены, ваше значение не будет обновлено. В этом случае вы также можете поместить триггеры в эти поля (возможно, события AfterUpdate).

OR

Вы можете проверить, что значения не отличаются каждый раз.

if isnull me.txtCalcField then
    if me.txtCalcField <> me.subtotal - me.discount + me.delivery then
        me.txtCalcField = me.subtotal - me.discount + me.delivery
    endif
endif

(который, вероятно, не будет работать должным образом с реалами, но может работать с валютой)

Конечно, все это предполагает, что only способ обновления компонентов txtCalcField - через форму навсегда.

Это все собачий завтрак - в этом случае я возвращаю вас к моему первому утверждению - используйте запрос.

...