Страница: 1 |
|
Вопрос: VBA for Excel. Много юзеров. Нужна помощь!!!
|
Добавлено: 11.04.10 09:02
|
|
Автор вопроса: ofile | ICQ: 11750095
|
Ребята. Кто сталкивался, помогите, погибаю!
Имеется задача сделать БД в Excel'е (и только в нем, ибо заказчик пожелал). Табличка не хилая: 55 полей, не менее 500 записей. Справочники и все такое прочее. И все бы ничего, если бы не много сетевых пользователей.
Не буду объяснять, почему нельзя использовать стандартный совместный доступ к таблице - криво до невозможности. Постоянно туда-сюда выгружать, инициировать импорты - экспорты - очень напряжно, объем информации очень немаленький.
Пока единственное придуманное решение: прикрепляем средствами ADO табличку DBase. Пользуемся Recordset'ом. Но вот беда, в Excele нет ни одного инструмента, позволяющего зеркалировать Recordset на листе. Постоянно обновлять Recordset на листе, не зная, что именно в нем обновилось - те же 500 записей, по времени - безобразно долго, а эту операцию нужно проводить перед каждым действием пользователя, чтоб не нарушить целостность. Придумал добавить темповых табличек каждому пользователю, чтоб в них дублировались изменения, а пользователь после считывания будет эти таблички очищать. Пока особых проблем в этом решении не увидел, но все представляется довольно громоздким и чересчур навороченным...
Кто-нить подскажет альтернативное решение?
ЗЫ Прошу не высказываться в пользу ухода от Excel'а, обсуждать это времени нет, понятно, что проще и надежней сделать приложение... но заказчику нужен Excel.
Ответить
|
Номер ответа: 3 Автор ответа: ofile
ICQ: 11750095
Вопросов: 5 Ответов: 15
|
Профиль | | #3
|
Добавлено: 13.04.10 02:30
|
в любом офисе должно работать...
сначала хотел в локалку на полный доступ, но совместный доступ - не вариант, юзеры там будут постоянно тусоваться, потому принял решение размножить книгу по пользователям, чтоб они коннектились к dBase, только проблема в том, что у листа эксель нет свойства DataSource потому приходится постоянно синхронизировать лист с RecordSet'ом, а база немаленькая, ну, в принципе меня мой способ с temp-таблицей последних изменений, откуда юзеры будут дергать инфу, устраивает, но уж слишком все замудрено получается, проблемы с блокировкой, синхронизацией и т.д. все решаемо, но хотелось меньшей кровью обойтись, а то у меня и так уже почти полноценная 1С-ка в экселе получилась, со справочниками, администрированием, выгрузками отчетов и документов и прочими инструментами... а экселевский DSN в данном случае никаких преимуществ не даст, та же работа, с тем же RecordSet... потому привычную dbf пользую... извращение, конечно, но хозяин барин, зато опыта наберусь, какого ни у кого нет правда пожалел уже, что не настоял на отдельном приложении полноценном
Ответить
|
Страница: 1 |
Поиск по форуму