Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 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  

Номер ответа: 1
Автор ответа:
 ofile



ICQ: 11750095 

Вопросов: 5
Ответов: 15
 Профиль | | #1 Добавлено: 12.04.10 16:33
Гляжу, форум совсем замер... печально...

Ответить

Номер ответа: 2
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #2 Добавлено: 13.04.10 00:56
Просто никто ещё не занимался таким извращением :).
Жаль щас времени нет.
Офис 2003?
Всё должно быть в одной книге открытой в локалку на полный доступ?

А если сделать две книги, 1я с базой, 2я клиентская?
Есть такой стандартный DSN "Файлы Excel", может его както припахать.

Ответить

Номер ответа: 3
Автор ответа:
 ofile



ICQ: 11750095 

Вопросов: 5
Ответов: 15
 Профиль | | #3 Добавлено: 13.04.10 02:30
=) в любом офисе должно работать...
сначала хотел в локалку на полный доступ, но совместный доступ - не вариант, юзеры там будут постоянно тусоваться, потому принял решение размножить книгу по пользователям, чтоб они коннектились к dBase, только проблема в том, что у листа эксель нет свойства DataSource =) потому приходится постоянно синхронизировать лист с RecordSet'ом, а база немаленькая, ну, в принципе меня мой способ с temp-таблицей последних изменений, откуда юзеры будут дергать инфу, устраивает, но уж слишком все замудрено получается, проблемы с блокировкой, синхронизацией и т.д. все решаемо, но хотелось меньшей кровью обойтись, а то у меня и так уже почти полноценная 1С-ка в экселе получилась, со справочниками, администрированием, выгрузками отчетов и документов и прочими инструментами... а экселевский DSN в данном случае никаких преимуществ не даст, та же работа, с тем же RecordSet... потому привычную dbf пользую... извращение, конечно, но хозяин барин, зато опыта наберусь, какого ни у кого нет =) правда пожалел уже, что не настоял на отдельном приложении полноценном

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам