Особенности проектирования приложений Access.Источник: Accessoft
Одной из причин, почему Access завоевал такую большую популярность во всем мире как средство разработки приложений баз данных, является скорость, с которой разрабатываются подобные приложения по сравнению с другими средствами. Причем, это признают и программисты, занимающиеся разработкой баз данных при помощи других пакетов. В этой статье я расскажу о некоторых особенностях Access, которые и способствуют такой «акселерации». Формы и отчеты.Как известно, основная часть приложения базы состоит из диалоговых окон, или просто форм. Обычно у каждой формы есть свой источник данных - таблица или запрос. Часто начинающие разработчики Access даже не задумываются об этом, а вот программистам, использующим другие средства разработки, не ориентированные специально на базы данных, это хорошо известно. Им приходится создавать подключение к источнику базы данных (обычно через ADO), цеплять этот источник к форме, потом цеплять к каждому контролу соответствующее ему поле таблицы. В Access все это сделано по умолчанию, что и позволяет значительно ускорить проектирование приложений. Еще большей скорости можно добиться, если использовать шаблоны - заготовки форм по умолчанию. Действительно, если Вам не нравится стандартный вид формы и контролов, предлагаемый Access по умолчанию, и Вы все время изменяете высоту полей, стиль оформления, шрифты и т. д., то можно это сделать один раз, сохранить заготовку формы и объявить ее как шаблон. Теперь при создании новой формы в Вашей базе параметры контролов в ней будут установлены по умолчанию. Итак, заходим на вкладку формы, жмем «создать в режиме конструктора». Вызываем в конструкторе панель свойств формы (двойным щелчком по форме или жмем кнопку «Свойства»). Разворачиваем панель элементов, если ее нет, то жмем кнопку «Панель элементов» - та, что с «молотками»). Теперь на панели элементов выбираем элемент, например «Надпись» и задаем параметры элемента (в форме настроек) - шрифт, высоту шрифта, выравнивание и т. д. То же самое проделывает с другими элементами. В результате получаем пустую форму, в которой заданы пользовательские параметры контролов. Чтобы убедиться в этом, закидываем какой-нибудь котрол на форму, и смотрим, какие у него параметры - как видно, те, которые задавались в настройках. Теперь, чтобы эти параметры контролов были заданы для всех будущих форм, а не только для этой, нужно созданную форму указать как шаблон. Сначала сохраним ее, например под именем «ФормаШаблон». Затем жмем Сервис - Параметры - Формы и отчеты и указываем в поле «Шаблон формы» имя нашего шаблона - «ФормаШаблон». Таким же образом можно создать шаблон настроек отчета, сохранить его и указать в поле «Шаблон отчета». Эти настройки сохраняются только для текущего проекта базы данных. В новом проекте опять появятся стандартные - тип «Обычный». Чтобы применить пользовательский шаблон в новом проекте, импортируем его в проект и укажем его имя. Запросы.В Access есть отличный мастер создания запросов. Мне лично больше всего нравится, что запрос можно редактировать в графическом режиме, что намного нагляднее, к тому же вероятность ошибки в синтаксисе SQl сведена практически к минимуму - ведь пишет мастер. Как правило, в 90% случаев его хватает, руками приходится писать только совсем уж заумные вещи, да и те обычно предварительно создаются в мастере. Как работать с мастером, думаю, нет нужды рассказывать. Остановлюсь лишь на таком моменте: иногда приходится прописывать строку SQl в модуле формы. Очевидно, чтобы избежать ошибок, а заодно ускорить процесс создания, лучше «нащелкать» запрос в мастере, проверить его, затем переключиться в режим SQL, скопировать полученные «кракозябры» в буфер и вставить в текст модуля. Такой способ позволяет, даже не понимая практически ничего в SQl, создавать достаточно сложные запросы, к тому же скорость создания запросов на порядок выше, чем вручную. Правда, синтаксис в VBA несколько отличается от того, что пишет мастер в конструкторе. Вот некоторые особенности:
Модули.Практически все начинали «творить» свои первые приложения при помощи специальных мастеров, а их в Access не мало, на каждой вкладке окна программы есть свой мастер: мастер создания таблиц, мастер создания запросов, мастер создания форм, мастер создания отчетов, мастер создания страниц доступа к данным. Среди всей этой гвардии особенно выделяется «мастер создания программ» - макрос. Часто начинающие разработчики Access не спешат «разбираться» с VBA, предпочитая пользоваться мастерами. Тем не менее, можно создавать достаточно сложные программы … практически не разбираясь в программировании! И делается это при помощи макросов. Макрос в Access представляет собой структуру, состоящую из одной или нескольких макрокоманд, которые выполняются либо последовательно, либо в порядке, заданном определенными условиями. С помощью макросов можно выполнить практически все действия над объектами Access. Каждая макрокоманда имеет определенное имя и, возможно, один или несколько аргументов, которые задаются пользователем. Например, при использовании макрокоманды ОткрытьФорму (OpenForm) в качестве аргументов необходимо задать, по крайней мере, имя открываемой формы и режим вывода ее на экран. Я бы назвал использование макросов как очередной шаг на пути к профессиональному программированию в Access. Использование макросов оправдано тем, что их легко создавать, и для этого не нужно изучать синтаксис языка программирования. К тому же в русской версии Access все макрокоманды переведены на русский язык, что еще более упрощает их применение. Если Вы решили, что стандартных возможностей мастеров Access Вам уже не достаточно, а разбираться в тонкостях VBA не собираетесь, или пока не собираетесь, и в то же время, хотите сделать свое приложение более профессиональным - то макросы помогут Вам в этом. Однако использование макросов имеет и некоторые недостатки:
Есть еще одна причина, по которой начинающим разработчикам стоит присмотреться к макросам: при помощи макросов можно… изучать VBA. Поясню на примере. Допустим, Вы хотите написать процедуру экспорта запроса в Excel, и как водится, не знаете, как это сделать. Заходим на вкладку Макросы, жмем «создать». В поле Макрокоманда выбираем «ВывестиВФормате». В аргументах макрокоманды устанавливаем параметры: тип объекта - запрос, имя объекта - (имя запроса), формат вывода - Microsoft Excel (*.xls), имя файла - (например D:/Таблица.xls), автозагрузка - нет. Сохраняем макрос. Теперь, чтобы посмотреть, как все это выглядит в VBA, выделяем в окне проекта макрос, выбираем Сервис - Макрос - Преобразовать макросы и далее по диалогу. В результате появится модуль, в котором среди прочего будет:
Таким образом, можно создавать процедуры что называется «по кусочкам», изучая заодно VBA. |