Учебное пособие: Технологии баз данных в информационных экономических системах

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Позволяет выбрать поля с именами и адресами, отформатировать их и создать отчет для печати почтовых наклеек.

2.4 Создание приложений.

2.4.1 Общие сведения о макросах

Функции макросов.

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

Открытие и закрытие таблиц запросов, форм или отчетов в любом доступном режиме.

Для выполнения запроса на выборку или запроса на изменение.

Для выполнения действий в зависимости от значений в форме или отчете или самой базе данных.

Для установки значения любого элемента управления формы или отчета.

Для использования фильтра и поиска данных в таблице или запросе.

Для определения специальной строки меню, заменяющей стандартную.

Для выполнения команд как стандартного, так и специального меню.

Для перемещения, изменения размеров, сворачивания или восстановления любого окна внутри рабочей области Microsoft Access.

Для вывода на экран информационных сообщений.

Для переименования любого объекта базы данных, а также для копирования объектов.

Для запуска приложения, а также для обмена данными с использованием буфера или механизма DDE.

Создание макроса.

Microsoft Access позволяет создавать макросы, состоящие как из одной макрокоманды, так и из нескольких.

Задав такую макрокоманду, присваивается имя макроса, в котором будет выполняться такая макрокоманда. Кроме этого можно задать условие, по которому будет выполняться указанная макрокоманда.

Макрос, состоящий только из одной макрокоманды, называется простым макросом.

Макрос, в котором указаны несколько команд и задан порядок их выполнения, называется сложным макросом.

При выполнении макроса Microsoft Access не всегда ждет завершения работы макрокоманды. Например, макрокоманда “ открыть форму ” может начаться открытием формы и если форма содержит большое количество информации, то не дожидаясь вывода всей информации, Microsoft Access может запустить следующую макрокоманду, т.е. макросы могут выполняться параллельно. Это позволяет сделать операционная система Windows, которая является многозадачной.

В сложных приложениях используются, как правило, сотни макросов.

Для того чтобы их сгруппировать существует две возможности:

Группировка макросов, относящихся только к одному объекту.

Группировка макросов по функциональному признаку, т.е. группируются макросы, выполняющие одни и те же действия.

Обзор макрокоманд.

Макросы подразделяются на несколько классов, сформированных по функциональному признаку:

Открытие и закрытие таблиц, форм, отчетов и запросов.

Печать данных.

Выполнение запросов.

Проверка истинности условий и управление выполнением макрокоманд.

Установка значений в элементах управления форм и отчетов.

Поиск данных.

Команда для построения специального меню.

Управление выводом на экран и активизация окон.

Выдача сообщений пользователю.

Импорт и экспорт объектов, а также их копирование, переименование и сохранение.

Запуск других приложений операционных систем MS DOS и Windows.

Обзор событий форм и отчетов.

Microsoft Access предоставляет более0 свойств событий форм и отчетов, позволяющих запускать макросы или модули:

Открытие и закрытие форм и отчетов.

Изменение данных в элементах управления форм и отчетов.

Смена фокуса элемента управления формы или отчета (переход с одного элемента управления на другой).

Использование фильтров.

При работе с мышью и клавиатурой.

Печать данных.

Активизация специального меню для формы, отчета или приложения.

При отслеживании ошибок.

По истечении промежутка времени.

2.4.2 Основные понятия процедур VBA для приложений

Применение макросов.

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

Когда не требуется отслеживать и обрабатывать ошибки.

Приложение содержит небольшое количество форм и отчетов.

Приложение будет использоваться непрофессионалами, которые сами могли бы расширить его функции за счет использования макросов.

При разработке прототипа приложения и для демонстрации проекта, когда необходимо быстро автоматизировать решение некоторых задач.

Существует две проблемы, которые чаще всего решаются с помощью макросов:

Определение альтернативных действий для определенных нажатий клавиш.

2) Управление запуском приложения при открытии базы данных с помощью макроса Autoexec.

Применение модулей.

Модули используются в следующих случаях:

Нужно отслеживать и обрабатывать ошибки в приложении.

Необходимо создать нестандартную функцию.

Во время работы приложения необходимо создавать новые объекты.

Созданное приложение должно взаимодействовать с другими приложениями Windows.

Необходимо обрабатывать отдельные записи, а не наборы записей.

Необходимо создать приложение с высокой производительностью.

Это связано с тем, что модули в отличии от макросов компилируются вместе со всей программой и выполняются быстрее.

2.4.3 Язык VBA

VBA для приложений заменил язык программирования Access Basic, использовавшийся в первых версиях Microsoft Access.

На данный момент язык VBA является общим языком программирования для приложений Microsoft Office, включая Word, Microsoft Access и Excel.

Наличие общего языка программирования для нескольких приложений обеспечивает ряд преимуществ: зная один язык программирования можно интегрировать объекты в другие приложения с помощью Visual Basic и механизма OLE.

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

Язык VBA относится к языкам объектно-ориентированного программирования и обладает всеми возможностями языков высокого уровня.

Язык VBA позволяет поддерживать2 типов данных, как простых - целое число, так и сложных - объект. Типы данных представлены в таблице3.

Язык VBA содержит инструкции описания переменных:

CONST - для описания констант

DIM - для описания локальных переменных

PUBLIC - для описания глобальных переменных.

инструкции переходов в программах:

GOTO - безусловный переход

IF…THEN…ELSE - условный переход

инструкции, задающие функции:

FUN - задание функции для своей процедуры

SUB - задание функции для всех процедур

инструкции вызова подпрограмм:

CALL - вызов подпрограммы.

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

2.4.4 Модули

Все написанные на языке VBA программы хранятся в модулях.

База данных может содержать два вида модулей:

Стандартные, являющиеся объектами самой базы данных.

Модули форм или отчетов, являющиеся частью этих объектов, иначе их называют модули класса.

Стандартные модули используются для создания и хранения процедур, выполняемых из запросов или из нескольких форм или отчетов приложения.

Процедуры, определенные в стандартном модуле, могут вызываться из любого места приложения.

Чтобы облегчить создание процедур обработки событий, возникших в форме или отчете,

Microsoft Access позволяет создать модули, относящиеся к этим формам или отчетам. В модуле класса или отчета содержаться специальным образом именованные процедуры обработки событий.

Типы данных языка VBA

Тип данных

Размер

Информация

BYTE

1 байт

Положительные целые числа в диапазоне от до55

INTEGER

2 байта

Целые числа в диапазоне от 32768 до2767

LONG

4 байта

Целые числа в диапазоне от 2147483648 до147483647

4 байта

Числа с плавающей точкой, принимающие значения от 3,4*1038 до,4*038

DOUBLE

8 байт

Числа с плавающей точкой, принимающие значения 1,79*10308 до,79*10308

CURRENCY

8 байт

Числа с фиксированной десятичной запятой и четырьмя цифрами в дробной части в диапазоне 922337203685477,5808 до

922337203685477,5807

STRING

10 байт плюс байт на символ

Любая текстовая или двоичная строка длиной примерно до миллиардов байт, включая данные полей МЕМО и фрагменты OLE. Строка фиксированной длины может содержать до5400 символов.

BOOLEAN

2 байта

0 или

DATE

8 байт

Значения даты/времени в диапазоне от января00г. до1 декабря999.

OBJECT

4 байта

Любая ссылка на объект

VARIANT

От6 байт до примерно миллиардов байт

Любые данные, включая NULL , EMPTY и даты/времени

Тип данных определяемый пользователем

Зависит от определяемых элементов

Любое число переменных с любыми из перечисленных выше типами данных

Данные процедуры могут быть двух видов:

Личные - работают только для данной формы или отчета.

Общие процедуры (методы класса) - могут использоваться для других объектов помимо данной формы или отчета.

Модули класса имеют преимущества перед стандартными модулями:

Процедуры, необходимые для автоматизации работы формы или отчета хранятся вместе с формой или отчетом и поэтому нет необходимости запоминать имя модуля, в котором находятся эти процедуры.

Microsoft Access загружает стандартный модуль базы данных при первом обращении к нему и оставляет его в памяти до закрытия базы данных. Модуль класса загружается только при открытии соответствующего объекта и убирается из памяти вместе с его закрытием. Соответственно уменьшается размер занимаемой памяти.

При экспорте вместе с формой или отчетом экспортируются все программы, содержащиеся в модуле класса.

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

3. Виды корпоративных СУБД

3.1 СУБД MS SQL Server.

3.1.1 Различие между МА и MS SQL Server.

MS SQL Server - это реляционная СУБД построенная по архитектуре клиент-сервер. MS SQL Server ориентирован на использование в операционных системах (ОС) Windows NT/2000 и использует в своей работе системные функции этих ОС, что значительно упрощает архитектуру MS SQL Server, в отличие от других СУБД вынужденных дублировать некоторые функции ядра операционной системы, для обеспечения межплатформенной переносимости. За счет такой тесной интеграции с Windows NT/2000, СУБД MS SQL Server работает на всех платформах, для которых реализована Windows NT/2000 (Intel, Alpha, PowerPC и др.), поддерживает большое количество сетевых протоколов (TCP/IP, IPX/SPX, Named Pipes (NetВEUI), Вапуап Vines, AppleTalk (ADSP), DECNet), поддерживает многопроцессорность и др.

MS SQL Server является разработкой корпорации Мiсrosоft (последней версией, на середину002 г. является MS SQL Server000, широко используется также версия MS SQL Server.0). Поскольку СУБД MS Access также является разработкой этой корпорации, то очевидно, что между этими двумя продуктами существует некоторая общность. Так интерфейс конструктора таблиц, ввода данных в них, описания схемы данных и т.д. в MS SQL Server, в значительной мере напоминает MS Access. MS Access может также использоваться и в качестве клиентской части MS SQL Server (Меню Файл/Внешние данные/Связь с таблицами/ Тип файлов: Базы данных ОDВС/Кнопка Nеw/Выбрать драйвер MS SQL Server). Впрочем, MS Access может использоваться и в качестве клиента для доступа к базе данных Oracle и др. базам данных.

Однако SQL Server - это не просто улучшенный Access. Между этими СУБД есть принципиальная разница. Если Access базируется на архитектуре файл-сервер и приемлем для небольших баз данных и небольшого числа пользователей (офисная СУБД), то SQL Server базируется на архитектуре клиeнт-сервер и применяется в базах данных среднего размера и большим числом пользователей (профессиональная СУБД). Даже по тем позициям, где возможности Access и SQL Server схожи, SQL Server значительно превосходит Access. Так, например, и в Access и в SQL Server реализована система разграничения доступа к объектам базы данных (разные пользователи имеют разные права по работе с различными таблицами, запросами и т.д.). Однако в SQL Server ограничения доступа можно выставлять не только на таблицу в целом, но даже и на отдельные ее столбцы. Также в SQL Server поддерживается механизм ролей. Роль - это набор прав доступа к объектам базы данных. Роли для каждой базы данных можно определять самостоятельно или пользоваться заранее определенными ролями. Например, роль администраторы безопасности (security admin) - это пользователи которые могут допускать других пользователей к работе с базой данных, роль создатели базы данных (db creators, database creators) - пользователи которые могут создавать и изменять структуру базы данных и т.д. Используя роли можно быстро и удобно разграничить доступ между пользователями, предоставив им только те права, которые действительно необходимы. Причем нарушения прав доступа, также как и сама работа SQL Server будут протоколироваться в специальных lоg-файлах. SQL Server также позволяет пользователям, правильно указавшим свой пароль при входе в сеть (домен Windows NT/2000), повторно не вводить пароль при доступе к базе данных (Windows authenticatio(1 mode).