Настольная СУБД Access 2002

Предметом обсуждения является настольная СУБД Access 2002, которая входит в состав широко распространенного семейства офисных приложений Microsoft Office XP. Microsoft Access на сегодняшний день является одним из самых распространенных настольных приложений для работы с базами данных. Это связано с тем, что Access обладает очень широким диапазоном средств для ввода, анализа и представления данных. Эти средства являются не только простыми и удобными, но и высокопродуктивными, что обеспечивает высокую скорость разработки приложений. Изначально Access имела ряд уникальных возможностей, таких как умение сводить воедино информацию из самых разных источников (электронных таблиц, текстовых файлов, других баз данных), представление данных в удобном для пользователя виде с помощью таблиц, диаграмм, отчетов, интеграция с другими компонентами Microsoft Office. Совершенствуясь от версии к версии, Access стала инструментом, который может удовлетворить потребности самых разных категорий пользователей: от новичка, которому нравится дружественный интерфейс системы, позволяющий ему справиться с задачами, до профессионального разработчика, который имеет весь необходимый инструментарий для построения уникального решения для конкретного предприятия среднего бизнеса.

Введение
Авторы уже в течение нескольких лет используют эту популярную СУБД в своей профессиональной деятельности. И мы надеемся, что наш опыт создания самых разных приложений как с точки зрения проблемных областей, так и с точки зрения сложности разработки, будет полезен читателям.

Общие сведения о Microsoft Access
Система управления базами данных Microsoft Access является одним из самых популярных приложений в семействе настольных СУБД. Все версии Access имеют в своем арсенале средства, значительно упрощающие ввод и обработку данных, поиск данных и предоставление информации в виде таблиц, графиков и отчетов. Начиная с версии Access 2000, появились также Web-страницы доступа к данным, которые пользователь может просматривать с помощью программы Internet Explorer. Помимо этого, Access позволяет использовать электронные таблицы и таблицы из других настольных и серверных баз данных для хранения информации, необходимой приложению. Присоединив внешние таблицы, пользователь Access будет работать с базами данных в этих таблицах так, как если бы это были таблицы Access. При этом и другие пользователи могут продолжать работать с этими данными в той среде, в которой они были созданы.

Использование внешних данных
При работе с любым приложением обработки данных всегда является актуальным вопрос, как использовать те данные, которые уже были накоплены раньше другими программными средствами и, следовательно, имеют другой формат. Access 2002 позволяет решить эту проблему стандартным способом — путем импорта существующей таблицы базы данных, рабочего листа электронной таблицы или текстового файла, созданных приложениями MS-DOS или Windows, во внутренний формат базы данных Access (MDB). Естественно, что Access 2002 может также экспортировать данные из таблиц базы данных формата MDB в любой формат, из которого можно импортировать данные.

Отбор и сортировка записей с помощью запросов
Запрос на выборку содержит условия отбора данных и возвращает выборку, соответствующую указанным условиям, без изменения возвращаемых данных. В Microsoft Access существует также понятие фильтра, который в свою очередь является набором условий, позволяющих отбирать подмножество записей или сортировать их. Сходство между запросами на выборку и фильтрами заключается в том, что и в тех и в других производится извлечение подмножества записей из базовой таблицы или запроса. Однако между ними существуют различия, которые нужно понимать, чтобы правильно сделать выбор, в каком случае использовать запрос, а в каком — фильтр.

Создание и печать отчетов
Одной из основных задач создания и использования баз данных является предоставление пользователям необходимой информации на основе существующих данных. В Access 2002 для этих целей предназначены формы и отчеты. Отчеты позволяют выбрать из базы данных требуемую пользователем информацию и оформить ее в виде документов, которые можно просмотреть и напечатать. Источником данных для отчета может быть или запрос. Кроме данных, полученных из таблиц, в отчете могут отображаться вычисленные по исходным данным значения, например итоговые суммы. Отчеты и формы Access имеют много общего. Однако, в отличие от форм, отчеты не предназначены для ввода и правки данных в таблицах. Они позволяют лишь просматривать и печатать данные. В отчете невозможно изменить исходные данные с помощью элементов управления, как это мож-но сделать с помощью форм. Хотя в отчетах можно использовать такие же элементы управления для указания состояния переключателей, флажков и списков.

Новые возможности Microsoft Access
В настоящее время информационные технологии бурно развиваются, и за последний год произошло немало революционных изменений в этой области. Поддержка больших объемов данных и интеграция с Интернетом уже стали нормой. Microsoft Access на сегодняшний день является лучшей настольной СУБД, отвечающей современным требованиям к программному обеспечению такого рода: с одной стороны Access предоставляет удобный интерфейс, с другой — мощные средства по представлению и обработке данных с применением самых последних достижений в области информационных технологий. В этой главе мы рассмотрим основные новшества очередной версии Access. Хочется отметить, что по сравнению с предыдущей версией Access 2000 изменений в Access 2002 не так много и что добавлены не совершенно новые средства, а лишь недостающие. Возможно, каких-то кардинальных изменений в Access следует ожидать в будущей версии пакета Microsoft Office.

Редактирование и анализ данных с помощью запросов
С помощью этого вида запроса вы можете выбрать нужные данные из уже существующей таблицы с помощью обычного запроса на выборку, а затем поместить их в новую таблицу, структура которой определяется структурой записей результирующего множества запроса. Таким образом, процесс создания таблицы с помощью запроса состоит из трех шагов

Создание составных форм
Формы являются основным объектом, который обеспечивает пользователю удобный доступ к данным, поэтому им уделено большое внимание в настоящей книге,-В первой части мы показали несколько способов создания форм и детально описали основной инструмент разработки форм — Конструктор. Вы убедились, какое многообразие возможностей предоставляет этот инструмент для того, чтобы формы получились удобные и красивые. Однако в гл. 5 "Создание форм для ввода данных" мы рассмотрели лишь самые основные вопросы, относящиеся к работе с формами и элементами управления. Здесь мы поговорим об этом более подробно и обсудим более сложные вопросы, касающиеся создания и оформления составных форм — многотабличных и многостраничных, и рассмотрим применение элементов управления всех типов. Материал этой главы является продолжением гл. 5, поэтому рекомендуется ознакомиться с ней прежде, чем переходить к дальнейшему изучению.

Подготовка составных отчетов
Одной из важнейших функций, которые обычно предоставляют настольные СУБД, является возможность создания различных отчетов — документов, содержащих дан--ные из таблиц базы данных. Отличительной особенностью Microsoft Access является наличие очень мощного генератора отчетов, который позволяет создавать отчеты высокого качества. Наличие мастеров, генерирующих автоматически или при помощи диалога с пользователем самые разнообразные отчеты, значительно облегчает трудоемкий процесс их создания. В гл. 6 мы уже рассматривали основные вопросы, касающиеся создания отчетов в Access. В этой главе мы поговорим о них более подробно, ориентируясь на профессиональное использование средств Access 2002. В частности, покажем, как с помощью Мастера отчетов или в режиме Конструктора создавать достаточно сложные по структуре отчеты, включающие подчиненные отчеты или имеющие несколько уровней группировки записей. А также обсудим здесь многие другие вопросы о работе с отчетами, не вошедшие в гл. 6.

Работа с макросами
Основной набор средств Microsoft Access, который мы рассматривали в предыдущих главах книги, ориентирован на пользователей, не владеющих языками программирования. Для программистов же к этим средствам добавлены макросы (небольшие программы на языке макрокоманд системы Access) и модули (процедуры на языке Visual Basic for Application, VBA). С их помощью можно существенно расширить функциональные возможности создаваемого вами приложения и настроить его на нужды конкретных пользователей. В этой главе мы познакомимся с одним из этих средств — макросами и одним из языков программирования Access — языком макрокоманд.

Публикация данных в корпоративной сети и Интернете
В течение последних нескольких лет мы стали свидетелями сильного развития технологии публикации информации, которое может иметь столь же большое значение, как и изобретение печатного станка. Причина сегодняшнего сдвига в публикации информации — создание сети Интернет, World Wide Web и совершенных средств просмотра и хранения данных, которые существенно облегчают сбор и представление информации. World Wide Web связывает большое количество ресурсов, имеющихся в сети Интернет. Используя World Wide Web, можно перемещаться между тысячами компьютерных узлов, системными приложениями, файлами и документами. Простота перемещения между документами и возможность читать их, используя любую компьютерную систему, позволили внедрить технологию Web в организациях. Многие организации разрабатывают собственные сети (интранет), чтобы размещать в них свою информацию для сотрудников.

Программирование в Access
Для того чтобы использовать написанную вами процедуру или функцию, необходимо вызвать ее. Как же осуществляется вызов процедур и функций? Процедуру с непустым списком аргументов можно вызвать только из другой процедуры или функции, использовав ее имя со списком фактических значений аргументов в качестве одного из операторов VBA. Функцию же можно вызвать не только с помощью отдельного оператора VBA, но и поместив ее имя со списком фактических значений аргументов прямо в формулу или выражение в программе на VBA или, например, прямо в формулу в вычисляемых полях запросов, форм и отчетов Access. Процедура с пустым списком аргументов (так называемый командный макрос) может быть вызвана не только из другой процедуры или функции, но и с помощью комбинации клавиш быстрого вызова, команд раскрывающихся меню или кнопок панелей инструментов. Можно также связать такую процедуру с выполнением самых различных событий: например, с открытием формы или отчета, со щелчком мышью по кнопке в форме, с воздействием на элементы управления форм, в частности элементы управления ActiveX.

Настройка пользовательского интерфейса
Для того чтобы создать приложение Access, требуется решить две важнейшие задачи: спроектировать эффективную структуру таблиц и их взаимосвязей (модель данных) и обеспечить удобный пользовательский интерфейс. О том, как эффективно спроектировать базу данных, мы рассказали в гл. 2, первые главы книги были посвящены разработке основных объектов Access: форм, отчетов, страниц доступа к данным. Чтобы создать единое целое из набора отдельных объектов базы данных, используются макросы и процедуры VBA, разработка которых рассматривалась в гл. 11 и 13. Для того чтобы приложение было законченным, применяются дополнительные элементы, такие как специальное меню команд или заменяющая его Главная кнопочная форма, панели инструментов, контекстное меню, а если вы любите пользоваться клавиатурой и готовы запомнить десятка полтора комбинаций клавиш, нужно создать клавиши быстрого вызова.

Интеграция Access с другими компонентами Office
Хотя СУБД Access является прекрасным инструментом для создания различных приложений, выполняющих обработку данных в связанных таблицах, однако некоторые операции с данными гораздо эффективнее решаются другими приложениями, входящими в семейство Microsoft Office 2002. И при разработке приложения возникает желание создать запросы и формы Access, добавить к ним аналитические возможности Excel, обеспечить редактирование отчетов Access в редакторе Word, связать все это с текущей таблицей контактов Outlook или личным календарем и т. д. То есть, чтобы получить приложение для офиса, удовлетворяющее современным требованиям, необходимо обеспечить совместное функционирование различных приложений Microsoft Office. Оказывается, данное желание вполне осуществимо, и в настоящей главе мы покажем это.

Особенности сетевых приложений Access
База данных Access может использоваться одним пользователем на локальном компьютере или несколькими пользователями в сети. Использование базы данных в сети имеет ряд особенностей. Чтобы подготовить базу данных для использования в сети, необходимо выполнить специальную настройку среды Access, параметров базы данных и ее объектов и реализовать особенности общего доступа к данным в программном коде приложения. Об этом и пойдет речь в настоящей главе. Чтобы рассказ не был слишком абстрактным, мы рассмотрим основные вопросы на примере сетевого приложения Access "Игра в доминирование".

Проекты Microsoft Access
В данной главе мы постараемся показать, что Microsoft Access 2000, будучи настольной СУБД, не ограничивает пользователя в разработке приложений различной сложности и масштабируемости. Кроме создания достаточно сложных многопользовательских приложений, Access может использоваться в качестве средства для разработки клиентской части приложения с архитектурой "клиент-сервер". С помощью объектов Access может быть создан интерфейс к базам данных, которые размещаются на мощных серверах баз данных, таких как Microsoft SQL Server, Oracle и т. д.



Репликация баз данных
Портфельная репликация является удобным способом поддержания файла базы данных в обновленном состоянии при работе с ним на разных компьютерах, которые лишь иногда соединяются посредством кабельного соединения (локальной сети или прямого кабельного соединения), или обмен данными между ними выполняется с помощью переносного диска. В этом случае файл базы данных можно поместить в Портфель, чтобы потом поместить его на переносной компьютер. При этом создается новая реплика, которая может быть синхронизирована с базой данных на стационарном компьютере. Предположим, вы ведете на своем персональном компьютере список контактов с помощью базы данных "Контакты". Вас отправляют в командировку на несколько дней, но вам необходимо постоянно использовать эту информацию, сохраненную на вашем компьютере. В этом случае следует применить средства портфельной репликации.

Миграция приложений
В данной главе будут рассмотрены вопросы, касающиеся преобразования приложений Access с целью переноса их в другую среду эксплуатации. Для обозначения таких преобразований мы будем применять термин миграция. Под миграцией приложений понимается целевое преобразование приложения с изменением его внутренней структуры и сохранением внешнего интерфейса. Таким образом, к миграции относится как преобразование приложений, созданных в более ранних версиях Access, в среду Access 2002, так и преобразование приложения, созданного в среде Access 2002, в двухуровневое клиент-серверное приложение, в котором обработка данных выполняется сервером базы данных.

Администрирование баз данных
Коллективное использование базы данных требует административного контроля. Необходимо поручить эти обязанности одному или нескольким сотрудникам, которые будут исполнять роль администраторов базы данных. Некоторые ошибочно полагают, что использование базы данных небольшим коллективом пользователей не требует специального обслуживания, и считают нецелесообразным выделение специальных средств на административную поддержку приложения, аргументируя это отсутствием свободных штатных сотрудников и нехваткой служебного времени. Однако если этот вопрос будет проигнорирован, рано или поздно такое положение дел приведет к нежелательным последствиям. Однажды база данных может быть испорчена и не окажется резервных копий. Невозможно будет решить некоторые часто возникающие задачи администрирования, требующие определенной квалификации, которой пользователи обычно не имеют. При этом может возникнуть такая ситуация, что не будет возможности немедленно связаться с разработчиками или база данных просто была приобретена без заключения договора о сопровождении.

Глоссарий

В данном приложении приводятся определения терминов, употребляемых в книге. Если не найдете интересующий вас термин здесь, обратитесь к справочной системе Access или электронным словарям в Интерне

Сетевое приложение "Игра в доминирование"
В целях демонстрации применения средств Access для разработки и использования сетевых баз данных и иллюстрации примеров к гл. 16 книги был разработан пример сетевого приложения "Игра в доминирование". Установка и интерфейс этого приложения описаны в разд. "Установка сетевого приложения" и "Интерфейс пользователя" данного приложения.

Профиль стандартов и спецификаций инфо-образовательных сред

Применение принципов открытых систем при создании, сопровождении и развитии современных информационных систем(ИС), вне зависимости от уровня их сложности или масштаба, позволяет достичь компромисса в противоречивости всех требований, предъявляемых на всех этапах жизненного цикла ИС. Постулат не новый, но всё более актуальный. Реализация таких основных свойств открытых систем, как расширяемость (или изменяемость) состава прикладных функций ИС, интероперабельность (способность к взаимодействию приложений разных подсистем в пределах одной интегрированной ИС или нескольких ИС между собой), переносимость приложений между разнородными аппаратно-программными платформами, масштабируемость (при изменении размерности - решаемых задач, числа пользователей ИС), дружественность пользовательского интерфейса, неразрывно связана с применением соответствующих стандартов.

Введение

Работа в Microsoft Access XP

Внешне база данных, которая содержит только одну таблицу, похожа на обычный список, представленный на бумаге. Но поскольку информация хранится в электронном формате, ее можно сортировать и отображать различными способами, используя с максимальным эффектом.
Так, например, с помощью телефонной книги можно найти любой телефон, если известна фамилия абонента или название организации, поскольку информация в телефонной книге организована в соответствии с этими критериями. Но если вам требуется список телефонов ваших однофамильцев или вы забыли вторую цифру в номере телефона соседа, едва ли вы найдете ответ в справочнике. Для этого необходимо изменить принцип организации данных.

Создание базы данных простейшим способом
В этом упражнении вы воспользуетесь мастером, чтобы создать структуру базы данных, предназначенной для хранения сведений о контактах компании. В качестве рабочей будет использоваться папка Office XP SBS\Access\Chap10\CreatingDb. Выполните следующие шаги. Если панель задачи Создание файла (New File) не отображается, откройте ее, щелкнув на кнопке Создать (New)

Совершенствование отображения данных в таблице
Поскольку мастер Создание баз данных (Database Wizard) не обеспечивает подобную комбинацию, в этом упражнении вы создадите базу данных GardenCo, начав с пустой структуры, а затем добавите в нее несколько таблиц с помощью функции Мастер таблиц (Table Wizard). В качестве рабочей будет использоваться папка Office XP SBS\Access\Chap10\CreatingDb.

Создание формы с помощью мастера
В списке Таблицы и запросы (Table/Query) щелкните на Таблица: Клиенты (Table: Customers), чтобы отобразить поля этой таблицы в списке Доступные поля (Available Fields).Щелкните на кнопке , чтобы переместить все поля таблицы Клиенты в список Выбранные поля (Selected Fields), и щелкните на кнопке Далее (Next). Вторая страница мастера позволяет выбрать внешний вид формы. Если щелкнуть на одном из вариантов, представленных справа, в левой части страницы отобразится соответствующий макет.Щелкните на варианте В один столбец (Columnar), а затем щелкните на кнопке Далее (Next).

Добавление элементов управления в форму
Откройте базу данных GardenCo, расположенную в рабочей папке.Откройте форму Клиенты в режиме Конструктор (Design).Укажите на горизонтальную линию между селекторами разделов Заголовок формы (Form Header) и Область данных (Detail) и, когда указатель примет форму двуглавой стрелки, перетащите селектор области данных вниз на 2,5 см.

Создание главной и подчиненной форм с помощью мастера
На панели объектов щелкните на пункте Формы (Forms), а затем щелкните на кнопке Создать (New) на панели инструментов окна базы данныхЩелкните на Мастер формы (Form Wizard), выберите базовую таблицу и щелкните на кнопке ОК.Убедитесь, что в поле Таблицы и запросы (Tables/Queries) указана выбранная вами таблица, и щелкните на кнопке , чтобы включить все поля в новую форму.

Сортировка данных
Откройте базу данных GardenCo, расположенную в рабочей папке. Откройте таблицу Клиенты в режиме таблицы. Чтобы отсортировать таблицу по полю Штат, щелкните в любом месте столбца Штат, а затем щелкните на кнопке Сортировка по возрастанию (Sort Ascending)

Создание запроса в режиме конструктора
Запрос на действие вносит множественные изменения за одну операцию. Собственно, это запрос на выборку, который выполняет определенные действия над результатами отбора. Возможны четыре типа действий: обновление, удаление и добавление записей и создание таблицы. В двух последних случаях результаты запроса на выборку либо добавляются в существующую таблицу, либо для них создается новая таблица.