Страницы: 1
RSS
VBA Управление записями в БД через интерфейс в Excel(ADODB + MS SQL Server)
 
Всем привет.

Есть задача сделать пользовательский интерфейс для изменения данных в БД через  Excel.

Доступно: MS SQL Server+Excel +VBA ADODB

Условия:

Пользователь выгружает новые данные на лист (Данные join из нескольких таблиц БД)
- Редактирует, удаляет выгруженные записи, добавляет новые записи
- Нажимает кнопку сохранить - происходит синхронизация с таблицами в БД

Для себя выделил несколько этапов:

1) Выгрузка через хранимую процедуру с пометками записей в БД, что они сейчас заблокированы для редактирования(система многопользовательская - для избежания конфликтов необходимо применять пессимистичную блокировку)
2) Выгрузка на лист
3) Пользователь редактирует данные
4) Нажимает кнопку "сохранить" - данные проходят процедуру валидации и в виде временной таблицы сохраняются в БД
6) Запускается хранимая процедура синхронизации основных таблиц и временной, старые записи помечаются, как доступные для изменения

В этой схеме не нравится, что придётся грузить все данные, даже те которые не были изменены

Как можно грамотно вести трекинг изменений и валидацию данных прям при вводе данных ?

Думал создать коллекцию объектов в памяти(Repository) и проводить ее синхронизацию с трекингом состояний записей при срабатывании события изменения листа в Excel... но там не всё так просто


Есть у кого опыт внедрения таких интерфейсов ? Как лучше спроектировать архитектуру приложения?
 
Вы уверены, что в правильной теме задали вопрос?
"Все гениальное просто, а все простое гениально!!!"
 
Цитата
Nordheim написал:
Вы уверены, что в правильной теме задали вопрос?
Уверен. На данном форуме есть похожие темы. Кто-то из спецов мог сталкиваться с проектированием подобных решений...
Страницы: 1
Наверх