Я хотел бы добавить здесь некоторые другие вопросы и ответы, связанные с тем же вопросом. Указатели могут привести к моему собственному ответу на эти вопросы, но не стесняйтесь просматривать другие ответы!
MS Access as enterprise software
Best way to test an MS-Access application
Working with multiple programmers on MS-Access
Recommendations on using SQL server GUIDS from MS-Access
должен признать, что одна из главных ограничений доступа является ограниченная модель объекта. Меня особенно раздражало отсутствие возможностей для добавления моих собственных свойств и методов в объект Form.Недавно я нашел эффективный поворот этой проблемы путем создания 2 дополнительных объектов:
«AllMyForms» объект, который на самом деле поддерживать 2 коллекции объектов: один стандартный сбор форм доступа, другой является сбор всех экземпляров объекта «customForm». Обе коллекции индексируются с помощью свойства hwnd открытой формы (или, более конкретно, свойства hwnd экземпляра формы, что позволяет мне открывать несколько экземпляров одной и той же формы).
«customForm» объект, который перечисляет свои собственные свойства и методы экземпляра формы в
Таким образом, я могу сослаться на такие свойства, как:
accessForms: ссылка к стандартным свойствам и методам
AllMyForms.accessForm(hwnd).name
относится к .nam е свойство формы доступа через его .hwnd значение
Кстати, следующий Debug.Print затем дать мне тот же результат:
? screen.ActiveForm.name
? AllMyForms.accessForm().name 'default value for hwnd is screen.activeForm.hwnd'
Пользовательские формы: свойства
AllMyForms.customForm(hwnd).selectClause
будет ссылаться на предложение SELECT, используемое для создания базового набора записей экземпляра формы
Настраиваемые формы: методы
Метод .agregate, доступный для настраиваемого объектаForm, рассчитает сумму/min/max/avg формы «столбец» (т.е. сумма значений для элемента управления в непрерывной форме) :
AllMyForms.customForm().agregate("lineAmount","sum")
даст мне сумму всех значений «lineAmount» отображается на текущем/активный экземпляр формы.
Я просто хочу сказать, что это большой вопрос. Требуется много дисциплины, чтобы избежать DRY в доступе, но это можно сделать. Но нет абсолютно никаких препятствий для смешивания логики ui и biz. Но я думаю, что важно помнить, что точка доступа чрезвычайно быстро развивается. Access - это самая быстрая платформа разработки приложений для Windows. Так что у него есть место. Seth –