Я делаю пользовательский интерфейс в Excel, цель которого состоит в том, чтобы иметь «живую» информацию о Orders
и Order Status
между тремя пользователями, я назову их DataUser
, DashboardOne
и DashboardTwo
для примера.
Процесс заключается в том, что DataUser
будет заполнять данные о заказах, эти данные будут использоваться для заполнения информации на двух информационных панелях. Панели мониторинга будут обновляться в режиме реального времени с учетом изменений с DataUser
(количество заказов увеличивается/уменьшается) и изменений статуса заказа между DashboardOne
и DashboardTwo
. Для оперативных обновлений я думаю об использовании вызова события Application.OnTime
для обновления представления/панелей. Две приборные панели будут активны около 8 часов в день.
Там, где я изо всех сил пытаюсь понять, как и где хранить данные, у меня есть несколько вариантов, но я не знаю, чем они отличаются друг от друга, особенно с учетом того, что я намереваюсь запускать / обновлять информационные панели. каждые 30 сек. с Application.OnTime
, что может оказаться дорогим.
Варианты, о которых я думал, где:
- Основная рабочая книга, которая создаст отдельные рабочие книги для
DashboardOne
иDashboardTwo
, а также базу данных действий и основной пользовательский интерфейс дляDataUser
. - Три отдельные рабочие книги, которые все будут ссылаться на одну DataWorkbook или другой плоский файл данных (возможно, XML или JSON).
- Использование фактической базы данных для данных, хотя это повлечет за собой другие последствия (в настоящее время их нет).
Я не рассматриваю общую книгу, так как пробовал что-то подобное в прошлом (и на этот раз ^^, первые шаги), и все прошло довольно плохо, кошмар для синхронизации и плохая целостность данных.
Вкратце: какая стратегия хранения данных для Excel будет наилучшей, чтобы не ставить под угрозу целостность данных и не быть настолько дорогой, чтобы мешать безотказной работе остального кода? Есть ли лучшие варианты, которые я должен рассмотреть?