Я создал приложение MS Access 2003, настроенное как разделенная интерфейсная/конечная конфигурация, с группой пользователей, состоящей из пяти человек. Передний конец .mdb находится на сетевом файловом сервере и содержит все запросы, формы, отчеты и код VBA, а также ссылки на все таблицы в back.mdb и некоторые ссылки на источники данных ODBC, такие как AS/400. Задний конец находится на одном сетевом файловом сервере, и в нем есть только данные таблицы.Как настроить среду разработки в MS Access
Это работало хорошо, пока я не «поехал вживую», и мои горстки пользователей начали придумывать запросы на улучшение, отчеты об ошибках и т. Д. Я развертывал новый код, разрабатывая/тестируя в своей собственной копии front- end .mdb в другой сетевой папке (которая связана с одним и тем же back-end .mdb), а затем отправляйте мой завершенный файл в папку «come-and-get-it», предупреждая пользователей, и они идут копировать/вставлять новый внешний файл в свои собственные папки в сети. Таким образом, каждый пользователь может обновить свой интерфейс, когда он находится в «точке остановки», не загружая всех сразу.
Я обнаружил, что когда я сейчас развиваюсь, иногда доступ становится чрезвычайно медленным. Например, когда я разрабатываю форму и пытаюсь щелкнуть раскрывающийся список в окне свойств, стрелка раскрывающегося списка будет входить, но это займет несколько секунд, прежде чем появится список параметров. Или есть тонна отставания при выборе & элементов управления на форме. Или много отставания клавиатуры.
Затем, в другое время, нет никакого запаздывания.
Мне интересно, если это связано с тем, что я связан с тем же концом, что и другие пользователи. Я приложил разумные усилия для настройки запросов, форм, отчетов и т. Д. С минимальной блокировкой записей, если таковые вообще существуют, в зависимости от необходимости. Но я, возможно, что-то пропустил, или, возможно, есть еще одна проблема с производительностью, которую мне нужно решить.
Но мне интересно, есть ли еще лучший способ настроить мой собственный back-end .mdb для разработки, поэтому я могу тестировать свой код на «безопасные» данные, а не на те же данные в реальном времени, что и остальные пользователи. Я боюсь, что это только вопрос времени, прежде чем я испортил некоторые данные, возможно, в самый опасный момент.
Очевидно, что я мог бы просто создать отдельный back-end .mdb и вручную перенастроить ссылки на таблицы в интерфейсе каждый раз, используя Менеджер связанных таблиц. Но я надеюсь, что есть более элегантное решение, чем это.
И мне интересно, есть ли какие-либо другие проблемы с производительностью, которые я должен учитывать в этой многопользовательской конфигурации с разделенной базой данных.
EDIT: Я должен был добавить, что я застрял в MS Access (не MS-SQL или какой-либо другой «реальной» задней части); для более подробной информации см. мой комментарий к этому сообщению.
Я попытался ответить на ваш реальный вопрос ниже, но есть и встречный вопрос: можете ли вы использовать для этого другую базу данных? (SQL Server Express, MySQL и т. Д.). У доступа есть много проблем в многопользовательских ситуациях, хотя я был вынужден использовать его политикой (и политиками) до ... – mavnn
Я изгои, пользователь, не являющийся пользователем, прибегает к Access для разработки этого решения, потому что мы надеваем У вас есть доступные ресурсы IS/приоритет/деньги/политический чванз, чтобы сделать это правильно. Я надеюсь, что после того, как решение Access будет на месте и продемонстрирует четкую деловую потребность, кто-то из немногих классов зарплаты сделает его приоритетом IS. С этой целью я пытаюсь четко кодировать, чтобы облегчить боль бедному парню, которому, возможно, придется однажды отправить эту штуку. –
Приятное использование ваших мошеннических сил там, Дейв, мне приходилось прибегать к подобной тактике в прошлом. –