ОТВЕТ: Язык макросов – язык программирования. Макрокод обрабатывается приложением-интерпретатором, которое считывает текст программы, написанный в соответствии с определенными синтаксическими правилами, анализирует и исполняет его. Макросы Access предназначены для использовании в двух направлениях. Во-первых, с их помощью можно создавать полноценные программы для решения реальных задач либо применять эпизодически в рамках крупных проектов. Во-вторых, макросы удобны как средство обучения основам программирования и быстрого получения черновых решений. Язык макросов реализует некоторые возможности языка Visual Basic for Applications (VBA). При использовании макросов не требуются модули и тестовые функции; их удобно применять как средство быстрой реализации эскизных решений и экспериментальных образцов кода. Макросы хранятся в базе данных. Они сохраняются в виде объектов базы данных. Макросы в чистом виде редко оказываются способными обеспечить полноценное и надежное решение - так или иначе их следует дополнять программными средствами анализа ошибок и динамического изменения данных. Существенным достоинством макросов является то, что их легко записать, а затем преобразовать в VBA-код и сохранить в модуле.Access обеспечивает быстрое и простое решение для автоматического преобразования макросов в код. При этом можно сохранить библиотеку макросов как объект макроса, либо как модуль. При сохранении библиотеки макросов как модуля Access автоматически создает объект модуля в окне базы данных. Этот модуль содержит отдельную процедуру VBA для каждого макроса в исходной библиотеке макросов. ВОПРОС: Разработка форм в среде Access. ОТВЕТ: Access 2003 предоставляет такие инструменты проектирования графических интерфейсов, которые предполагают написание минимальных фрагментов кода либо вовсе исключают необходимость специального программирования. Мастера предлагают большое количество готовых стилей форм, позволяющих придать приложению унифицированный профессиональный вид за очень короткое время. Термином форма называют экземпляр (объект) класса Form. Класс Form содержит в своем составе большое количество свойств, методов и событий, определяющих внешний вид объекта формы и способы его поведения. В отличие от других классов объект класса Form обладает визуальными характеристиками и поэтому содержит много «графической» информации, которая определяет особенности его отображения на экране компьютера. Операционная система WINDOWS целиком построена на концепции окна, поэтому любые видимые объекты всегда располагаются в пределах определенной оконной формы. При создании новой формы можно воспользоваться одним из семи возможных способов, перечисленных в списке диалогового окна New Form. Accessсоздает модуль, связанный с формой. Эти модули не отображаются в списке Модули окна базы данных. Окно редактора модуля формы используется при написании кода, расширяющего возможности формы. Разновидности кода, который может присутствовать в модуле формы, являются обработчики событий и обычные процедуры. Код формы создается точно так же, как и любой другой. Код модуля формы относится только к тем объектам, которые расположены на форме. Если форме соответствует программный код, то он должен быть протестирован. Получив форму, можно , используя режим просмотра формы (команда Вид-> Режим формы), быстро оценить, что еще необходимо сделать – добавить или удалить какие-либо объекты, отредактировать их свойства, наложить условия фильтрации набора данных ( при необходимости). ВОПРОС: Объектно-ориентированное программирование и создание программных средств управления базой данных в Access. ОТВЕТ: До возникновения объектно-ориентированного подхода к созданию программных средств систем управления использовался структурный (алгоритмический) подход к программированию. В центре внимания структурного программирования находился процесс. Решая задачу, программист определял множество данных и процессов их обработки. Процедуры и данные никак не соотносились друг с другом. После определения множества процессов и круга необходимых данных создавались процедуры, поддерживающие выполнение отдельных процессов. Затем строилась главная процедура, из которой вызывались вспомогательные, решавшие частные задачи в рамках общей проблемы. Все это именовалось потоком вычислений. Сторонники структурного программирования столкнулись с трудностями, порожденными чрезвычайной сложностью задач, которые необходимо было решать. Крупное приложение могло содержать в своем составе тысячи процедур и функций, а языки структурного программирования, такие как С и Basic не поддерживали развитых средств агрегации кода. Программирование все более тяготело к решению задач, настолько сложных как сама реальность. Физический мир состоит из объектов. Каждый физический объект характеризуется определенными атрибутами, описывающими его структуру и особенности поведения. Естествоиспытатели доказали, что физический мир не может быть описан набором процессов-мир состоит из взаимодействующих между собой объектов. Это обстоятельство позволило сделать вывод, что языки программирования должны поддерживать средства создания абстракций, описываемых множествами свойств и способных к взаимодействиям. Подобные системы программирования получили название объектно-ориентированных. Простота и сложность объектно-ориентированного подхода к проектированию программных средств систем управлений заключается в огромных возможностях создания новых полезных типов данных. В отсутствие классов не было бы ADODB и компонентов, задача создания графических интерфейсов оставалась бы чрезвычайно сложной. Класс-это тип данных, определяемый пользователем-программистом. Код класса сохраняется в отдельном модуле. Классы состоят из свойств и методов, в совокупности называемых атрибутами. Свойства –это элементы данных, а методы-правила их обработки. Уровни доступности атрибутов класса задается с помощью спецификаторов доступа Public и Private. Члены класса, помеченные словом Private, доступны только для методов этого же класса, и забота о них целиком возложена на программиста. Атрибуты Public служат частью внешнего интерфейса класса. ВОПРОС: Язык запросов SQL и возможности Access создания запросов к базе данных. ОТВЕТ: Программирование для Access связано, в основном, с использованием языка Visual Basic for Applications (VBA). Язык SQL – мощный язык программирования, ориентированный на применение в базах данных. Несмотря на гибкость VBA, нередко целесообразно обращаться к мощным средствам SQL. С помощью SQL можно заставить программу выполняться на сетевом сервере. Язык SQL был создан специально для работы с базами данных. Поэтому часто проще написать одно выражение SQL вместо целого блока VBA-код, выполняющего те же действия. Одной из проблем применения SQL является существование различных диалектов SQL, которые в некоторых случаях различаются. Перенос одного диалекта из одной СУБД в другую сопряжено с внесением в текст программ изменений. Программы с SQL реализуют задачи фильтрации данных, сортировки данных, группировки столбцов, объединения таблиц, объединения запросов, переименования столбцов, добавления записей, обновления данных, удаления данных и др. С появлением средств ActiveX Data Objects арсенал программиста, использующего Access, пополнился возможностями создания и применения хранимых процедур. Хранимая процедура в SQL равнозначна функции. Аппарат хранимых процедур в таких крупномасштабных системах управления базами данных, как, например, Oracle, существует с давних пор. Среди многочисленных достоинств, присущих хранимым процедурам, достаточно отметить два основных: хранимые процедуры выполняются на серверах баз данных и позволяют определять интерфейсы. При запуске процедур на сервере прикладная программа будет выполняться существенно быстрее. Этот вывод справедлив даже в том случае, если Access работает на том же компьютере, на котором находится приложение, поскольку хранимые процедуры выполняются непосредственно ядром Access. ВОПРОС: Архитектура распределенной базы данных. ОТВЕТ: В клиент - серверной вычислительной среде две или более сетевых рабочих станции могут иметь совместный доступ к централизованному источнику данных. Приложение разделено на два компонента: клиентский и серверный. Клиентский компонент обычно устанавливается на рабочей станции пользователя и включает функции интерфейса пользователя: кнопочные формы, формы, отчеты и пр. Серверный компонент, как правило, находится на сетевом сервере, в нем хранится только данные из базы данных. Серверная база данных выполняет функции, которые не видимы для пользователя: передает данные в клиентскую часть приложения на форме или в отчете, получает обновленные данные от клиента, ограничивает доступ к данным посредством методов защита баз данных. Microsoft Data Engine 2000 (MSDE 2000)- клиент-серверный механизм баз данных, который входит в состав Access 2003. Это уменьшенная версия Microsoft SQL server 2000, оптимизированная для работы на персональном компьютере или в небольшой сетевой среде. MSDE 2000-удачное решение разработки приложений для рабочей группы, состоящей в данный момент из нескольких пользователей, но которая, как ожидается, в перспективе вырастет до тысяч пользователей. MSDE 2000 спроектирован с использованием того же механизма баз данных, что и SQL Server 2000. В настоящее время MSDE 2000 имеет ограничения на размер базы данных (не больше 2 Гбайт), возможность использования не больше двух процессоров и неспособность поддерживать все функции репликации баз данных. Основным аргументом в пользу работы с MSDE 2000 является то, что разработчик не должен соединяться с SQL Server 2000 при создании приложения. И клиентскую часть приложения, и базу данных можно разрабатывать с использованием Access и MSDE 2000. Серверную часть базы данных не сложно перенести в SQL Server для тестирования пользователями, а в последствии – для реализации приложения. ВОПРОС: Возможности Visual Basic for Application (VBA) ОТВЕТ: Несмотря на то, что Microsoft Access позволяет создавать процессно-ориентированные программы с использованием макросов, VBA предоставляет неограниченные возможности. Существует ряд задач, которые не могут быть решены с помощью макросов. В общем виде эти задачи можно представить как следующие: -
Создание процедур перехвата ошибок и выполнение процессов на основании ошибки -
Использование многократного цикла или инкрементация переменных -
Принятие сложных решений -
Замена параметров в ходе выполнения программы для изменения внешнего вида формы Создать процедуру или функцию VBA сложнее, чем макрос. Однако VBAпредлагает более полный набор команд и обеспечивает больший контроль при обработке ошибок пользователя, которые могут произойти в работе приложения. VBA является лучшим решением в следующих случаях: -
Создание собственных функций -
Обработка ошибок и отображение окон сообщений -
Автоматизированная интеграция с другими приложениями, например, с Microsoft Word, Microsoft Excel -
Вызов функций Windows, например, диалоговых окон открытия и сохранения файлов File Open и File Save -
Перебор группы записей в таблице -
Работа с объектами приложения -
Отображение панели состояния Таким образом, VBA делает приложение более профессиональным, обеспечивая широкие возможности обработки ошибок и большую мощность функций. ВОПРОС: Работа баз данных (СУБД Access) с внешними источниками данных. ОТВЕТ: Возможности коммуникации между разными приложениями стали стандартным компонентом в разработке современных прикладных продуктов. Access содержит встроенные возможности импорта и экспорта. Можно импортировать или экспортировать данные в другую базу данных, в электронные таблицы или базу данных SQL. Кроме того, Access делает возможным обмен данными со стандартными текстовыми файлами, что значительно расширяет функции приложений. Access поддерживает более 20 различных файловых форматов при импортировании и экспортировании данных. В Access можно выполнять два типа импорта данных: собственно импорт (когда данные копируются в базу данных) и создание связанной таблицы. При импорте данных информация копируется в существующую базу данных и становится ее частью. Данные могут образовать новую таблицу или присоединиться к существующей таблице. Второй тип, связанная таблица, означает, что информация остается внешней для базы данных и не будет в действительности импортирована в базу данных. Метод создания связанных таблиц предпочтителен в следующих случаях: -
В структуре приложения есть таблицы баз данных из базы данных, которая хранится отдельно от базы данных приложения -
Необходима постоянная возможность обновления данных, а исходные данные должны быть доступны другим приложениям -
Информация часто обновляется из других приложений -
Размер файла базы данных превышает установленный в Access предел для локальных таблиц-1Гбайт Импорт данных - несложный процесс. Трудности могут возникнуть не в том, как перенести данные в Access, а как проверить, что данные в локальных таблицах обновляются правильно. Импорт данных можно разбить на следующие этапы: -
Организация данных -
Формат данных -
Создание соответствий данных -
Присоединение записей На первом этапе собирают информацию из соответствующих таблиц. Когда информация будет собрана, переходят к ее форматированию. Исходя из возможности чтения файловых форматов, первым шагом для импорта данных в Access является получение файла данных в формате, который может читать Access. Этот формат зависит от типа внешней программы, из которой будут получены данные. На следующем этапе – создание соответствий данных означает установление соответствий поля во внешней таблице с полем в целевой таблице, а также внешней таблицы с целевой таблицей. На последнем этапе, указав соответствия данных, присоединяют или записывают импортируемые данные. Процесс экспорта данных во многом подобен процессу импорта данных. Экспорт данных состоит из аналогичных этапов организации данных, форматирования, установления соответствий и, наконец, непосредственно экспорт или запись данных во внешний файл. ВОПРОС: Модули – объекты базы данных Access ОТВЕТ: Модуль – это объект Access, в котором хранится коллекция процедур. Существует четыре типа модулей Access: модули форм, модули отчетов, стандартные модули и модули классов. Модули форм и отчетов. Все процедуры событий для формы или отчета хранятся в модуле формы или отчета. При создании первой процедуры события для формы или отчета Access автоматически создает модуль формы или отчета. Чтобы просмотреть модуль формы или отчета, необходимо открыть форму или отчет в представлении конструктора. Затем выбрать команду Вид ->Программа (View->Code). Стандартные модули. Стандартные модули позволяют хранить процедуры, которые следует использовать в любой форме или отчете приложения. Стандартные модули хранятся на вкладке Модули в окне базы данных Access. Чтобы просмотреть процедуры в модуле, необходимо выбрать один из модулей и представить его в режиме конструктора. Модули классов. Модули классов позволяют создавать новые специальные объекты для приложения. Для большинства приложений встроенные объекты интерфейса пользователя обеспечивают основу всех необходимых объектов. Однако для разработки более сложных приложений может понадобиться создание собственных объектов. Модули классов хранятся на вкладке Модули окна базы данных. Чтобы просмотреть процедуры в модуле класса, необходимо представить его в конструкторе. Модуль класса cls_Setup используется для работы с объектами начальных параметров приложения. Этот объект можно использовать в любом приложении, в котором может понадобиться информация о компании и значения данных, отображаемых по умолчанию. Этот модуль класса применяется во всех приложениях, поскольку он включает ссылки на какую-либо конкретную форму или отчет приложения. ВОПРОС: Программирование форм-мастеров для ускорения обработки данных ОТВЕТ: Microsoft Access содержит несколько встроенных мастеров, которые предоставляют пользователю инструкции на каждом этапе выполнения той или иной задачи. Эти мастера обеспечивают пошаговый интерфейс пользователя с кнопками навигации. Программу - мастер можно создать разными способами, для этого используются различные объекты Access. Например, можно использовать одну форму и элементы управления (страницы), чтобы разделить страницы мастера. Либо можно применить главную форму с подчиненными формами для каждой страницы мастера. Кроме того, можно задать отдельную форму для каждой страницы мастера. Рассмотрим подход к разработке форм – мастера, отличающийся от выше указанных. Будем использовать одну форму и элемент управления Tab(вкладка). Данный подход имеет следующие преимущества: -
Весь мастер хранится в одном объекте Access – в форме -
Элемент управления Tab предоставляет свойства и методы, упрощающие программирование. Например, в программе можно установить фокус на определенную страницу, скрыть страницу и т.д. -
Корешки вкладок в элементе управления Tab можно отобразить или сделать невидимыми, в зависимости от необходимости. Их можно даже оформить в виде кнопок. -
Необходим только один набор кнопок навигации. Приведем пример удачного построения мастера с вкладками, предназначенного для формирования новых банковских счетов. Мастер содержит общие элементы управления и спроектирован таким образом, что можно дополнять, копировать и изменять его для дальнейшего использования в других приложениях. Программ также структурирована так, чтобы достичь большой гибкости и легкости в использовании. Программное обеспечение мастера управляет тем, какая страница вкладок отображается , а также какие кнопки навигации активны или отключены. В обычном режиме, когда форма открыта, вкладки скрыты, но в представлении Конструктор они видны. В нижней части формы располагаются четыре кнопки навигации: Отмена, Назад, Вперед, Финиш. Они используются для перемещения по страницам мастера. Формы – мастера обычно проектируются со свойством «Тип границы»(Bolder Style), чтобы диалоговое окно отображалось без полос прокрутки и элементов выбора записей. В данном примере мастер содержит девять страниц. По мере надобности количество их может быть увеличено. Рассмотренный пример, позволяет проследить основные рекомендации проектировщику с точки зрения удобства пользования этой программой. К этим требования следует отнести следующие: -
Мастер проектируется таким образом, чтобы пройти по всем этапам процесса, причем каждый шаг мастера приближает пользователя к завершению процесса. При этом порядок действий должен быть строго определённым -
Дизайн интерфейса должен быть одинаковым для всех страниц мастера. -
Для мастера может использоваться элемент управления набора вкладок, где каждая страница вкладки представляет страницу мастера. При этом вся программа – мастер будет содержаться в одной форме Access. Элемент управления вкладки должен обеспечивать свойства и методы, упрощающие программирование функций интерфейса. |