2014-12-05 3 views
0

Я создаю db доступа для отслеживания продаж из всех источников дохода (POS, веб-сайт, сторонний веб-сайт). Все трое из них сообщают итоговую сумму (сумма продуктов + налог + подсказки).Опорный налог с продаж

У меня есть настроенные расчетные поля в каждой таблице источников дохода, чтобы получить общую сумму и вычесть советы для создания общей суммы продаж. Где я зацикливаюсь, так это, как наилучшим образом подойти с учетом налога с продаж, поэтому моим серверам не нужно делать кучу математики, прежде чем вводить данные в базу данных. Я знаю, что это хранение де-нормализованных данных, но в случае изменения ставки налога я не хочу, чтобы предыдущие данные о продажах неправильно обновлялись с новой ставкой налога.

Я знаю формулы и использовал еще два рассчитанных поля для возврата и результата с общей суммой продажи и налогами на продажу. Однако это жестко закодировано в каждом из выражений поля для таблиц, и если/когда изменение налоговой ставки создает неудобства для обновления ставки налога.

Я читал в Интернете, чтобы использовать VBA, который я не знаю, и с трудом подходил к моей базе данных из примеров и/или использовал макрос данных в таблице. Я пробовал макрос, но не могу понять, как ссылаться на текущую ставку налога в отдельной таблице для формул внутри макроса. Я попытался использовать запрос, но не могу найти способ обновить поле в таблице из поля unbound в форме запроса.

Вот пример данных, хранящихся в каждой таблице

  • сервера ID - Составной ключ
  • продаж Дата - Композитный ключ
  • Количество билетов - Введенные данные
  • Grand Total - Введенные данные
  • Наконечник Итого - введенные данные
  • Продажи Всего - Общая сумма - Итого
  • Sales Amount - Продажи Итого/1,08
  • Tax Итого - Продажи Итого - Sales Amount

ответ

1

Почему не просто хранить Grand Total, TIP Total, и налоговая ставка с каждой записью? Все остальное может быть рассчитано при доступе к данным. Поскольку вы храните ставку налога с этой записью, в то время будет действовать налоговая ставка. Если ставка налога изменится, любые новые записи после этого будут иметь новую ставку налога. Когда данные используются, вы можете затем рассчитать/настроить, как вы хотите (то есть с налоговой ставкой, действующей на момент покупки, если все были с текущей ставкой налога и т. Д. И т. Д.).

+0

Спасибо за быстрый ответ ... это вызвало другой подход, который я изначально пытался избежать. Первоначально я пытался уменьшить объем ввода данных, который должны были бы выполнять мои серверы, и упростить обновление ставки налога только в одном месте внутри базы данных. С вашей идеей я могу создать поле поиска в каждой из таблиц, связанных с таблицей налога с продаж, и установить значение по умолчанию, поэтому оно все еще находится в таблице, но не обязательно должно быть выбрано каждый раз во время ввода данных. Спасибо за смещение мышления. –

+0

Итак, у меня наконец появилась возможность попробовать добавить поле поиска налога на продажу в мою таблицу и установить значение по умолчанию для значения PK для ставки налога (только 1). Я ввел одну запись в таблицу, и формула работала отлично, но затем я закрыл таблицу и обновил ставку налога и ввел вторую запись, и она обновила первую запись с новой ставкой налога. Это нехорошо ..... любые предложения? –

+0

Если вы сохраните его как ссылку или указатель в таблицу налога с продаж, она будет обновлена. Если вы просто вытащите значение из таблицы налога с продаж и сохраните ставку налога самостоятельно, она не должна обновляться при изменении таблицы поиска. – LavaSlider

Смежные вопросы