Я знаю, что эта тема не слишком свежа, но только некоторые дополнительные объяснения:
Если вы хотите эффективно использовать MS Access, особенно с большими многопользовательскими базами данных, сделайте следующее:
разделите ваш MDB на файлы внешнего и внутреннего приложений (только данные) - тогда у вас будет два отдельных файла MDB.
перенести все таблицы с данными и структурой во внешнюю базу данных. Это может быть: MySQL (работает очень хорошо, без ограничений размера базы данных, требует некоторых дополнительных навыков, поскольку это не технология MS, но во многих случаях это хороший выбор - более того, вы можете масштабировать свой бэкэнд с большим количеством оперативной памяти и дополнительными процессорами, так что зависит от ваших потребностей и возможностей оборудования); Oracle (если у вас достаточно денег или какая-то корпоративная лицензия) или Oracle 10g XE (если это не проблема, размер базы данных ограничен 4 ГБ, и он всегда будет использовать 1 ГБ ОЗУ и 1 ЦП), MS SQL Server 2008 (это отличная пара, чтобы иметь внешний интерфейс MS Access и внутренний сервер MS SQL во всех случаях, но вы должны платить за лицензию! - преимущества: тесная интеграция, обе технологии от одного поставщика; MS SQL Server очень легко поддерживать эффективную одновременно) или экспресс-версию (та же история, что и в Oracle XE - почти те же ограничения).
свяжите ваш MS Access с базой данных. Если вы выбрали MS SQL Server для бэкэнда, это будет так же просто, как использовать мастер из MS Access. Для MySQL - вы должны использовать драйверы ODBC (это просто и работает очень хорошо). Для Oracle - не используйте драйверы ODBC от Microsoft. Они от Oracle сделают свою работу намного лучше (вы можете сравнить время, необходимое для выполнения SQL-запроса от MS Access к Oracle через драйверы Oracle ODBC и MS Oracle ODBC). На этом этапе у вас будет надежная база данных и полнофункциональный интерфейс MS Access - файл MDB.
скомпилируйте ваш MDB-интерфейс в MDE - он даст вам большую скорость. Более того, это единственная разумная форма распространения приложения MS Access среди ваших конечных пользователей.
для повседневной работы - используйте файл MDE с веб-интерфейсом MS Access. Для дальнейшей разработки внешнего интерфейса MS Access используйте файл MDB.
не используйте плохо написанные компоненты ActiveX для расширения возможностей веб-интерфейса MS Access. Лучше напишите их сами или купите нужные.
не верьте в мифы о том, что существует много проблем с MS Access - это отличный продукт, который может помочь в любых случаях. Проблема в том, что многие люди считают, что это игрушка или что MS Access в общем прост. Обычно они порождают много ошибок и проблем сами по себе и из-за недостатка знаний и опыта. Чтобы быть успешным с MS Access, важно понимать этот инструмент - это то же правило, что и с любой другой технологией.
Я могу вам сказать, что я использую довольно продвинутый MS Access, выходящий на бэкэнд MySQL, и я очень доволен (как разработчик, который поддерживает это приложение). Мои друзья, пользователи также довольны, поскольку они чувствуют себя очень комфортно с GUI (внешний интерфейс), скоростью (MySQL), у них нет проблем с блокировкой записей или производительностью базы данных.
Кроме того, важно много читать о хороших практиках и опыте других людей. Я бы сказал, что во многих случаях MS Access является хорошим решением. Я знаю много специализированных систем, созданных по индивидуальному заказу, которые начинались как эксперимент в форме частной базы данных MS Access (файл MDB), а затем развивались до: разделенного MS Access (MDE - внешний интерфейс, MDB - внутренний интерфейс) и, наконец, до: MS Access внешний интерфейс. (MDE) и «серьезная» база данных (в основном MS SQL Server и MySQL). Также важно, что вы всегда можете использовать свое решение MS Access в качестве рабочего прототипа - вы готовы использовать бэкэнд в своей базе данных (MySQL - давайте предположим) и вы можете переписать веб-интерфейс для выбранной вами технологии (веб-решение? Может быть, настольный C # приложение - что вам нужно!).
Надеюсь, я помог некоторым из вас задуматься о работе с MS Access.
С уважением,
Wawrzyn
http://dcserwis.pl