В книге представлено большое количество полезной информации, необходимой каждому разработчику приложений в среде Microsoft Access, Visual Basic и Microsoft SQL Server. В ней рассматриваются: объектная модель Microsoft Access, особенности создания модулей класса, проектирование форм и отчетов. Большое внимание уделено принципам и приемам проектирования приложений для баз данных и интегрированных решений на базе Microsoft Office XP, а также средствам отладки и оптимизации приложений. К книге прилагается компакт-диск с исходными текстами всех примеров и демонстрационные базы данных, а также множество процедур и модулей классов, которые можно использовать в собственных приложениях. Книга будет полезна как начинающим, так и профессиональным разработчикам настольных бизнес-приложений для индивидуальных пользователей и небольших рабочих групп.
Содержание
Введение
Глава 1. Новые возможности Access 2002
Краткая история Access
Access 2002
Программирование в Access 2002
Формы и отчеты Access 2002
Доступ к данным в Access 2002
Работа с Access 2002 в сети Интернет и корпоративных сетях
Другие усовершенствования Access 2002
Особенности Microsoft Office XP Developer
Резюме
Глава 2. Разработка многопользовательских приложений Jet
Сравнение архитектур файл/сервер и клиент/сервер
Отделение данных от приложения
Управление связанными таблицами
Интеграция связанных таблиц в приложение
Многопользовательские установки
Режимы открытия базы данных
Период обновления
Уровень блокировки
Оптимистическая и пессимистическая блокировки
Блокировка и формы
Оптимистическая блокировка в формах
Оптимистическая блокировка с пользовательской обработкой ошибок
Пессимистическая блокировка в формах
Пессимистическая блокировка и тайм-аут
Класс LockTimeout
Реализация тайм-аута блокировки в форме
Блокировка и наборы записей
Наборы записей DAO
Многопользовательские ошибки DAO
Реализация цикла повторных попыток доступа к данным посредством DAO
Наборы записей ADO
Реализация цикла повторных попыток доступа к данным посредством ADO
Обработка транзакций
Транзакции и DAO
Транзакции и ADO
Обработка транзакций в многопользовательских приложениях
Неявные транзакции
Запросы на выполнение и транзакции в многопользовательской среде
Свойство FailOnError
Использование собственного генератора значений поля счетчика
Как организовать свой счетчик
Как генерировать значения
Списки пользователей и контроль подключения
Список пользователей
Контроль подключения
Несколько замечаний напоследок
Защита
Пропускная способность сети
Тестируйте, тестируйте и еще раз тестируйте!
Резюме
Глава 3. Разработка приложений клиент/сервер
Сравнение клиент-серверных и файл-серверных систем
Преимущества архитектуры клиент/сервер
Сравнение ODBC и OLE DB
Следующее поколение ADO .NET
Обзор методов доступа к данным
Ключевые отличия клиент-серверных систем от файл-серверных
Надежность и защита данных
Обработка транзакций и целостность данных
Соображения производительности
Системный менеджмент
Уникальные возможности сервера
Понятие OLE DB
Компоненты OLE DB
Взаимодействие с поставщиками OLE DB через ADO
Понятие ODBC
Создание подключения ODBC
Обработка запросов
Источники записей
Конфигурирование ODBC
Источники данных ODBC
Запуск администратора ODBC
Создание источника данных
Доступ к серверным данным
Использование запроса Jet
Использование SQL-запроса к серверу
Непосредственное выполнение запросов с помощью ADO
Использование ODBCDirect
Какую технологию выбрать
Настройка ODBC для вашей системы
Настройка подключения к базе данных на сервере
Редактирование данных ODBC
Хорошо ли вы знаете свой сервер
Разработка эффективных приложений клиент/сервер
Выделение транзакций
Использование локальных таблиц
Разработка эффективных запросов
Разработка форм
Выбор связанных и свободных полей
Выбор подходящей структуры формы
Несвязанная главная форма и связанная подчиненная
Использование динамических источников данных
Несвязанные элементы управления в заголовке и примечании формы
Использование метода FindFirst
Разработка отчетов
Группировка и сортировка
Выбор источников данных для полей
Создание полей и выражений для верхнего и нижнего колонтитулов
Диаграммы
Проблемы перехода на платформу клиент/сервер
Необновляемые запросы
Преобразование условий проверки
Функции, определенные пользователем
Счетчики, memo-поля и поля OLE
Списки и поля со списками
Трассировка запросов Jet и ODBC
Знакомство с SQL Profiler
Мониторинг запросов Jet и ODBC
Повышение производительности приложения
Резюме
Глава 4. Создание баз данных SQL Server
Версии SQL Server
SQL Server Enterprise Edition
SQL Server Standard Edition
SQL Server Personal Edition
SQL Server Developer Edition
SQL Server Evaluation Edition
SQL Server Desktop Engine
Создание проектов Access
Подключение к существующей базе данных SQL Server
Мастер Microsoft SQL Server Database
Мастер Upsizing Wizard
Утилита импорта и экспорта
Создание таблиц и индексов
Использование конструктора таблиц
Знакомство с типами данных SQL Server
Ограничения на параметры таблиц
Создание представлений
Конструирование представления
Панель SQL
Инструкция SQL Server SELECT
Создание схем баз данных
Другие объекты SQL Server
Правила
Значения по умолчанию
Пользовательские типы данных
Управление базами данных SQL Server из Access
Резюме
Глава 5. Создание хранимых процедур и триггеров
Преимущества хранимых процедур
Работа с запросами проекта Access
Создание запросов
Редактирование запросов
Синтаксис хранимых процедур
Понятие параметров и переменных
Параметры
Объявление и использование переменных
Выполнение хранимых процедур
Выполнение хранимой процедуры из окна базы данных Access
Вызов одной хранимой процедуры из другой
Выполнение хранимой процедуры из запроса к серверу
Выполнение хранимой процедуры с помощью ADO
Выполнение хранимых процедур из DAO
Использование операторов управления потоком Transact-SQL
Оператор BEGIN...END
Комментарии
Оператор GOTO
Оператор IF...ELSE
Оператор PRINT
Оператор SET NOCOUNT
Оператор WAITFOR
Операторы WHILE, BREAK и CONTINUE
Использование встроенных переменных, функций и процедур
Системные переменные
Встроенные функции
Системные хранимые процедуры
Объединение операций в транзакции
Оператор BEGIN TRANSACTION
Оператор COMMIT TRANSACTION
Оператор ROLLBACK TRANSACTION
Как определить, успешно ли прошла транзакция
Создание функций
Скалярные функции
Встраиваемые функции, возвращающие таблицы
Многооператорные функции, возвращающие таблицы
Создание триггеров
Синтаксис триггеров
Таблицы inserted и deleted
Транзакции и оператор RAISEERROR
Как проверить, обновлен ли столбец
Резюме
Глава 6. Использование ActiveX Data Objects с серверными данными
Объектная модель ADO
Создание подключений
Подключение к серверной базе данных
Использование свойства СurrentProject.Connection
Использование объекта Command
Свойства и методы объекта Command
Метод Execute
Выполнение хранимых процедур
Входные и выходные параметры хранимых процедур
Использование подготовленных инструкций
Создание серверных наборов записей
Наборы записей на основе хранимых процедур
Взаимодействие свойств набора записей
Пессимистическая блокировка
Управление параллельной работой пользователей
Использование связанных форм
Обработка событий ADO
Процедура обработки событий ADO
Обработка ошибок
Использование коллекции Errors
Резюме
Глава 7. Разработка приложений ADP
Использование форм в проектах Access
Изменения пользовательского интерфейса форм
Новые и измененные свойства форм
Свойство InputParameters
Свойство MaxRecords
Свойство MaxRecButton
Свойства UniqueTable и ResyncCommand
Свойства ServerFilterByForm и ServerFilter
Свойство RecordsetType
Свойство FetchDefaults
Чего больше нет
Обновление данных
Использование транзакций в связанных формах
Оптимизация форм
Использование отчетов в проектах Access
Новые свойства отчетов
Свойство отчета Recordset
Использование расширенных свойств
Иерархия расширенных свойств
Интерфейс расширенных свойств SQL Server
Использование кода VBA для работы с расширенными свойствами
Блокировка записей
Использование несвязанных форм
Использование таблицы резервирования
Резюме
Глава 8. Защита приложений
Основы системы защиты Jet
Защита на основе рабочих групп
Пароли баз данных
Защита Jet на уровне рабочих групп
Составляющие системы защиты
Активизация защиты Jet
Рабочие группы Jet
Создание новой рабочей группы
Присоединение к рабочей группе
Учетные записи пользователей и групп Jet
Идентификаторы PID и SID, пароли
Группы - это не просто объединения пользователей
Особый статус: встроенные учетные записи
Предоставление разрешений Jet
Объекты и разрешения
Разрешения на новые объекты
Явные и неявные разрешения
Защита модулей
Кто может изменять разрешения
Какова судьба разрешений удаленной учетной записи
Владельцы объектов в системе защиты Jet
Кто владеет базой данных
Кто владеет объектами базы данных
Запросы OwnerAccess
Шифрование баз данных Jet
Программирование защиты Jet
Управление защитой с помощью DAO
Управление учетными записями с помощью DAO
Программирование разрешений с помощью DAO
Управление защитой с помощью ADOX
Управление учетными записями с помощью ADOX
Программирование разрешений с помощью ADOX
Управление системой защиты Jet с помощью SQL
Управление учетными записями с помощью SQL
Программирование разрешений с помощью SQL
Выбор между DAO, ADOX и SQL
Защита баз данных Jet с помощью мастера защиты Access 2000
Снятие защиты с базы данных Jet
Преобразование защищенных баз данных Jet в формат Access 2002
Защита Jet и связанные таблицы
Защита проектов Access (ADP)
Обзор системы защиты SQL Server
Схемы аутентификации
Управление учетными записями, пользователями и ролями SQL Server
Создание учетных записей
Защита объектов SQL Server
Резюме
Глава 9. Репликация
Репликация Jet: что это такое и как она работает
Репликация
Синхронизация
Устранение конфликтов
Зачем нужна репликация
Локальные сети
Глобальные сети
Сети с эпизодическими подключениями
Другие случаи применения репликации
Средства репликации
Репликация с помощью Портфеля Windows
Управление репликацией посредством меню Access
Программирование репликации с помощью объектов доступа к данным
Программирование репликации с помощью JRO
Диспетчер репликации
Топология репликации
Топологии репликации в локальных сетях
Топологии репликации в глобальных сетях
Расположение основной реплики
Изменения, вносимые в базу данных в ходе ее репликации
Новые таблицы
Изменения в таблицах
Другие изменения
Репликация базы данных
Решения, принимаемые перед репликацией
Видимость реплик
Частичные реплики
Реплики с запрещенным удалением
Репликация базы данных с помощью команд Access
Репликация базы данных с помощью диспетчера репликации
Репликация базы данных с помощью JRO
Частичная репликация
Создание пустой частичной реплики
Определение фильтров для частичной реплики
Фильтры таблиц
Заполнение частичной реплики
Пример частичной реплики
Предотвращение репликации
Обращение репликации
Синхронизация реплик
Синхронизация с помощью меню Access
Синхронизация с помощью диспетчера репликации
Синхронизация с помощью JRO
Синхронизация с учетом интенсивности обновлений
Синхронизация частичных реплик
Синхронизация по сети Интернет и корпоративным сетям
Управление конфликтами
Устранение конфликтов на уровне строк и столбцов
Единая интерпретация понятия конфликта
Приоритет реплики и устранение конфликтов
Типы конфликтов
Утилита Microsoft Replication Conflict Viewer
Создание пользовательской функции для устранения конфликтов
с помощью JRO
Другие аспекты репликации
Запросы
Преобразование набора реплик
Удаление реплики из набора
Переназначение основной реплики набора
Восстановление основной реплики
Перемещение реплик
Связанные таблицы
Вопросы защиты
Сжатие реплик
Резюме
Глава 10. Создание страниц доступа к данным
Страницы доступа к данным
Возможности, предоставляемые страницами доступа к данным
Анализ данных
Просмотр данных
Ввод и редактирование данных
Создание страниц доступа к данным
Простейший способ
Создание простой страницы
Использование ярлыков новых объектов в окне базы данных
Управление данными, представленными на странице доступа к данным
Самостоятельное создание страницы средней сложности
Работа с элементами управления
Гиперссылки на страницы доступа к данным
Элемент управления Record Navigation
Страницы доступа к данным: некоторые особенности
Свойства страницы доступа к данным
Свойства уровня группы
Свойства раздела заголовка
Свойства элементов управления
Дополнительные возможности управления данными
Управление страницами доступа к данным
Размещение станиц доступа к данным
Импорт страниц доступа к данным
Удаление страницы доступа к данным
Распространение страниц доступа к данным
Связь между файлами и данными
Изменение файла Office Data Connection
Использование кода для восстановления ссылок
Изменение пути к странице доступа к данным из базы данных
Одновременное восстановление ссылок обоих видов
Использование страниц доступа к данным без Office XP
Резюме
Глава 11. Разработка сценариев страниц доступа к данным
Хорошие и плохие новости
Редактор Microsoft Script Editor
Основные компоненты Microsoft Script Editor
Редактирование страницы в Microsoft Script Editor
Дополнение страницы кодом сценария
Просмотр страницы
Отладка страницы
Клиентские и серверные сценарии
VBScript и VBA
Использование оператора Option Explicit
Работа с объектами страниц доступа к данным
Объектная модель документов
Объектная модель документов IE
Элемент Data Source
Понятие событий страниц доступа к данным
Аргументы обработчиков событий
Использование в сценариях свойств и методов объектов страницы
Проверка вводимых данных
Выбор события
Страница dapCustomer
Динамические стили и всплывающие события
Объект Style
Объект Event и всплывающие события
Страница dapSwitchboard
Фильтрация данных
Страница dapEmploee
Удаление фильтра
Добавление элементов в список
Свойство Connection элемента Data Source
Страница dapOrderDetail
Резюме
Глава 12. Использование Web-компонентов Office
Что мы имеем
Компонент Spreadsheet
Компонент PivotTable
Компонент Chart
Элемент управления Data Source
Где и кем могут использоваться Web-компоненты Microsoft Office
Компоненты серверной части приложения
Работа со сценариями
Работа с компонентами во время проектирования приложения
Управление Web-компонентами Microsoft Office посредством VBA
Компонент Microsoft Office Spreadsheet
Использование компонента Office Spreadsheet
Работа с компонентом Spreadsheet
Программное управление компонентом Spreadsheet
Работа с Spreadsheet без применения пользовательского интерфейса
Компонент Microsoft Office PivotTable
Знакомство с компонентом PivotTable
Программное управление компонентом Office PivotTable
Работа с объектом PivotView
Сохранение установок компонента PivotTable
Что вам нужно знать о компоненте Data Source
Сохранение XML-данных
Восстановление XML-данных
Попробуйте и убедитесь!
Компонент Microsoft Office Chart
Создание простой связанной диаграммы
Терминология, связанная с диаграммами
Программное управление компонентом Chart
Обработка событий диаграмм
Резюме
Глава 13. Использование Access в качестве Web-клиента
Что такое гиперссылки
Создание гиперссылки Access: трудный способ
Создание гиперссылки Access: простой способ
Где искать гиперссылки
Использование гиперссылок для навигации по базе данных
Управление гиперссылками с помощью VBA
Использование элемента управления Microsoft Web Browser
Резюме
Глава 14. Публикация данных Access в Web
Публикация данных Access с использованием окна Export
Выбор формата публикации
Публикация объектов
Публикация страниц в HTML-формате
Публикация отчетов
Публикация в формате ASP
Настройка Web-сервера для публикации ASP-страниц
Использование шаблонов
Использование метода OutputTo
Программирование ASP-страниц
Выбор инструментария
Просмотр ASP-страниц, созданных вручную
Анатомия ASP-страницы
Сценарии ASP
Что видит браузер
Отправка информации обратно браузеру
VBScript
Автоматически выполняющиеся сценарии и процедуры
Директива Option Explicit
VBScript и VBA
Объектная модель ASP
Отправка информации браузеру с помощью объекта Response
Получение информации с помощью объекта Request
Использование коллекции QueryString
Создание глобальных переменных с помощью объекта Application
Управление состоянием приложения с помощью объекта Session
Расширение возможностей ASP-страниц с помощью объекта Server
Использование внешних файлов
Создание ASP-страниц, управляемых данными
Страница CUSTOMERTABLE.ASP
Добавление записей в таблицу базы данных
Извлечение из базы данных нужной записи
Перемещение по набору записей
Разбивка набора записей на страницы
Использование на ASP-страницах компонентов Office Web Components
Использование компонента Spreadsheet в сценарии ASP-страницы
Диаграмма Chart на ASP-странице
ASP.NET
Резюме
Глава 15. Интеграция Access и XML
Знакомство с языком XML
Файлы XML
Файлы XSLT
Файлы XSD
Импорт и экспорт данных XML
Экспорт с помощью пользовательского интерфейса
Модификация созданных файлов
Импорт с помощью пользовательского интерфейса
Импорт и экспорт программным путем
Представление данных XML
Экспорт форм и отчетов
Отчеты с обновляемыми данными SQL Server
Анализ файлов XML и XSL, создаваемых на основе форм и отчетов Access
Ограничения, связанные с экспортом форм и отчетов в формат XML
Резюме
Глава 16. Управление исходным кодом
Что такое управление исходным кодом
Поставщик средств управления исходным кодом
Проекты и исходные файлы
Контроль получения и возврата файлов
Совместная работа с файлами и слияние изменений
Синхронизация
Сравнение версий и восстановление предыдущих версий файлов
Средства управления исходным кодом в Access 2002
Надстройки для управления исходным кодом приложений
Процесс разработки приложения с использованием функций SCC
Обмен объектами
Правила получения и возврата объектов
Локальные объекты
Локальное хранение исходных файлов
Настройка параметров управления исходным кодом
Изменение объектов, используемых для управления исходным кодом
Ограничения технологии управления исходным кодом
Использование Microsoft Visual SourceSafe
Настройка программного обеспечения SCC
Создание учетных записей пользователей Visual SourceSafe
Как работать с Visual SourceSafe
Работа с VSS из Access 2002
Перевод базы данных под управление программного обеспечения SCC
Создание рабочей копии базы данных из проекта VSS
Работа с объектами в проекте VSS
Управление Visual SourceSafe из VBA
Объектная модель Visual SourceSafe
Методы Access, связанные с управлением исходным кодом
Форматы текстовых файлов объектов
Резюме
Глава 17. Установка и настройка приложений
Понятие об Access runtime
Архитектура Access runtime
Технология Microsoft Windows Installer
Пакет Windows Installer SDK
Разбиение приложения на компоненты
Использование свойства FeatureInstall
Восстановление и переустановка компонентов
Утилита Windows Installer Clean Up
Интерфейс автоматизации Windows Installer
Объектная модель Windows Installer
Получение информации о продуктах
Получение информации из базы данных Windows Installer
Мастер Packaging Wizard
Использование Packaging Wizard
Тестирование программы установки
Советы и полезные приемы
Установка проектов Access
Модификация программы установки
Редактирование файлов Windows Installer
Таблицы базы данных Windows Installer
Общие цели редактирования
Редактирование пакетов установки Windows Installer
Распространение страниц доступа к данным
Резюме
Приложение A. Соглашения о наименовании Реддика для VBA (версия 7.0)
Изменения в соглашениях о наименовании
Знакомство с Венгерской нотацией
Признаки
Признаки переменных
Признаки коллекций
Константы
Элементы меню
Создание типов данных
Перечислимые типы
Признаки для классов и пользовательских типов данных
Полиморфизм
Создание процедур
Формирование имен процедур
Присвоение имен параметрам
Присвоение имен меткам
Префиксы
Префикс массивов типа Object
Префикс индексов
Префиксы области видимости и времени жизни
Другие префиксы
Суффиксы
Присвоение имен файлам
Базовое приложение и дополнения к соглашениям
Объекты Access 2002
Объекты DAO 3.6
Объекты Visual Basic 6
Признаки объектов Microsoft ActiveX Data Objects 2.6
Как избежать накладок в ссылках на объекты
Признаки Microsoft ADO Ext. 2.5 for DDL and Security (ADOX)
Microsoft Jet and Replication Objects 2.5
Объекты Microsoft SQL Server и Microsoft Data Engine (MSDE)
Общедоступные элементы управления Microsoft
Другие пользовательские объекты и элементы управления
Резюме
Приложение Б. VBScript и VBA
Предметный указатель
ОТРЫВОК
Глава 14
Публикация данных Access в Web
Использование окна Export для публикации данных в форматах HTML и ASP
Самостоятельное создание динамических управляемых данными ASP-страниц
Создание динамических диаграмм на ASP-страницах с помощью Web-компонентов Office
Создание страницы ASP.NET
В главе 10 мы говорили о том, что у страниц доступа к данным существует несколько серьезных ограничений, не позволяющих использовать их для публикации данных. Важнейшие из этих ограничений связаны с:
совместимостью - у пользователей должен быть установлен Internet Explorer 5-й или более поздней версии;
недостаточной гибкостью - вам может потребоваться такое представление данных, которое страницы доступа к данным не поддерживают.
Однако из этой ситуации существует выход, о котором мало кто знает: данные Access 2002 можно публиковать и без помощи страниц доступа к данным. Эту главу мы начнем с рассмотрения встроенных возможностей публикации данных Access. Далее вы узнаете, как, пользуясь языком VBScript и технологией ADO, самостоятельно создавать страницы Active Server Pages (ASP). И, в отличие от страниц доступа к данным, те страницы, о создании которых рассказывается в этой главе, будут работать практически с любым браузером, поскольку весь код их сценариев выполняется на Web-сервере.
Публикация данных Access с использованием окна Export
В состав Access 97 входил мастер публикации в Web, с помощью которого можно было создать Web-документ на основе одного или нескольких объектов Access. В Access 2000 и 2002 этого мастера больше нет - его заменили страницы доступа к данным - но те функциональные элементы, которые позволяли ему выполнять свою работу, по-прежнему остались.
Выбор формата публикации
Окно Export поддерживает публикацию таблиц, запросов, отчетов и основанных на таблицах форм из баз данных и проектов Access. Для проектов Access окно Export дополнительно поддерживает публикацию представлений и хранимых процедур SQL Server. Все эти объекты можно публиковать в трех разных форматах: HTML (Hypertext Markup Language), IDC (Internet Database Connector) и ASP.
Формат HTML
Когда вы публикуете объект в формате HTML, Access делает снимок его данных и генерирует HTML-страницу с таблицей, внешне похожей на таблицы Access. Данные при этом сохраняются в виде текста в файле с расширением HTML.
Формат HTML универсален и поддерживается всеми Web-браузерами и серверами на десятках различных платформ.
Формат IDC
Когда вы публикуете объект в формате IDC (известном также как формат IDC/ HTX), Access генерирует для представления данных SQL-инструкцию. Вы же должны задать имя источника данных ODBC (DSN - data source name), которое при открытии Web-страницы будет использоваться для ее подключения к базе данных. И SQL-инструкцию, и DSN Access сохраняет в IDC-файле. Одновременно Access генерирует HTX-файл (HTML eXtension), содержащий шаблон для форматирования страницы. Получив запрос на открытие страницы, Web-сервер выполняет запрос и генерирует HTML-документ на основе файлов IDC и HTX, который и передает браузеру.
Устаревший формат IDC все еще поддерживается Microsoft и совместимыми с ее стандартами Web-серверами. Поскольку вся обработка выполняется на Web- сервере, а на выходе получается обычный HTML-документ, созданные в этом формате Web-страницы совместимы с любым браузером.
СОВЕТ. Старайтесь избегать использования формата IDC, поскольку по сравнению с форматом ASP он уже является устаревшим.
Формат ASP
При публикации объекта в формате ASP, как и в формате IDC, Access генерирует для представления данных SQL-инструкцию. И так же вы должны задать имя источника данных ODBC (DSN), которое при открытии Web-страницы будет использоваться для ее подключения к базе данных. Access сохраняет SQL-инструкцию и DSN в ASP-файле, куда она записывает сценарий на языке VBScript. В той части кода, которая отвечает за доступ к данным, используется объектная модель ADO. Получив запрос на открытие страницы, Web-сервер выполняет код ASP и генерирует HTML-документ, который затем посылает браузеру.
Формат ASP поддерживается Microsoft и совместимыми с ее стандартами Web-серверами. В связи с тем, что ASP-код выполняется на сервере, сгенерированные Web-страницы поддерживаются любым браузером.
Сравнение форматов Web-страниц
В табл. 14.1 приведены сравнительные характеристики всех трех описанных выше форматов Web-страниц.
Таблица 14.1. Форматы публикации объектов Access, доступные в окне Export
Формат Преимущества Недостатки
HTML Простота, совместимость с любыми серверами и клиентами Web. Удобен для публикации относительно неизменных данных Результатом являются статические файлы, не связанные с источником данных. Для их обновления требуется повторная публикация
IDC Динамическое подключение к базе данных. Работает практически с любым Web-браузером Необходим Web-сервер Microsoft или совместимый с ним. Ограниченные возможности обновления страниц; отсутствует поддержка языка сценариев.
ASP Динамическое подключение к базе данных. Работает практически с любым Web-браузером. Сценарии генерируются на основе VBScript и объектной модели ADO. Результирующий код можно дополнять и редактировать Необходим Web-сервер Microsoft или совместимый с ним
ПРИМЕЧАНИЕ. Функциональные возможности формата IDC значительно уже, чем возможности формата ASP, к тому же компания Microsoft прекратила его техническую поддержку. Поэтому мы рекомендуем для публикации данных в виде динамических Web-страниц использовать формат ASP. Что касается формата IDC, то он в этой главе даже не рассматривается.
Публикация объектов
Для публикации объекта Access в Web, выделите этот объект в окне базы данных и выберите команду File ? Export. Access откроет окно Export (рис. 14.1).
Окно Export позволяет экспортировать объект в самые разные форматы, большинство из которых не имеют к Web никакого отношения. Для выбора одного из Web-форматов откройте список Save as type и выберите HTML Documents (*.html, *.htm) для публикации объекта в формате HTML, Microsoft IIS 1-2 (*.htm, *.idc) для публикации в формате IDC или Microsoft Active Server Pages (*.asp) для публикации в ASP-формате.
Публикация страниц в HTML-формате
В HTML-формате можно публиковать таблицы, запросы, формы и отчеты из баз данных Access. Из проекта Access можно публиковать таблицы, представления, хранимые процедуры, формы и отчеты. При публикации формы Access публикует не саму форму, а таблицу, на основе которой она была создана. А при публикации отчета Access генерирует страницу, почти полностью соответствующую отчету.
ПРИМЕЧАНИЕ. Если вы планируете регулярно публиковать данные SQL Server, то, возможно, захотите познакомиться с мастером SQL Server Web Assistant. Этот мастер, входящий в состав SQL Server, генерирует HTML-страницы для таблиц SQL Server, хранимых процедур и SQL-инструкций.
Когда вы выбираете в окне Export HTML-формат и сбрасываете флажок Save Formatted, Access без дальнейших вопросов генерирует самую примитивную несформатированную HTML-страницу. Например, если вы попытаетесь опубликовать таблицу tblCustomer из базы данных CH14.MDB, в результате получится Web-страница, показанная на рис. 14.2. Как видите, в ней нет никаких заголовков и способ представления значения Null (в последних двух столбцах Extension и Notes), мягко говоря, не самый удобный для пользователя.
Если же установить флажок Save Formatted, Access потребует указать имя файла, содержащего HTML-шаблон. (О шаблонах мы поговорим в посвященном им разделе этой главы.) Однако это требование не должно вас смущать: для создания форматированной страницы шаблон вовсе не обязателен. Удалите имя файла шаблона, если оно будет вам предложено, и щелкните на кнопке OK, чтобы сгенерировать форматированную страницу без помощи шаблона. Если таким образом опубликовать все ту же таблицу tblCustomer, получится страница, показанная на рис. 14.3. Сравнив ее со страницей на рис. 14.2, вы оцените дос
тоинства автоматического форматирования.
ПРИМЕЧАНИЕ. Если будет установлен флажок Autostart, то сразу после создания страницы Access загрузит ее в Internet Explorer.
При публикации таблицы Access передает странице параметры цвета и форматирования, заданные при форматировании таблицы. Например, если вы задали синий цвет шрифта и зеленый цвет фона, Access при создании страницы отобразит те же цвета.
Запросы, представления, хранимые процедуры и формы публикуются в HTML- формате точно так же, как таблицы.
ПРИМЕЧАНИЕ. При публикации формы в HTML-формате Access создает Web-страницу, которая выглядит так же, как лежащая в основе этой формы таблица. На форму эта страница будет совершенно не похожа.
Публикация отчетов
При публикации отчета Access пытается создать HTML-страницу, максимально похожую на отчет. Она таким же образом размещает надписи и текстовые поля, пытается их отформатировать, используя то же выравнивание и шрифт того же вида, размера, цвета и стиля форматирования. А вот фоновые цвета разделов и элементов управления, а также линии, прямоугольники, рисунки, рамки объектов, диаграммы и пользовательские элементы управления Access воспроизвести не может. Так что результирующая Web-страница может отличаться от отчета и в чем-то вас не устроить. В качестве примера на р
ис. 14.4 показан отчет rptMenu в окне Access, а на рис. 14.5 - тот же отчет после экспорта в HTML-формат.
Для многостраничных отчетов Access генерирует набор связанных Web-страниц (по одной на каждую страницу отчета). Гиперссылки, используемые для перехода на другую страницу, она размещает внизу каждой страницы.
СОВЕТ. Для унификации внешнего вида публикуемых отчетов можно использовать файл шаблона. Более подробно об этом рассказывается далее в разделе "Использование шаблонов" данной главы.
Публикация в формате ASP
При публикации таблицы, запроса или формы в ASP-формате Access создает форматированную Web-страницу, очень похожую на получающуюся в результате экспорта в HTML-формат. Но главное отличие ASP-страницы состоит в том, что она динамически связывается с базой данных и отражает данные на момент просмотра страницы. А вот HTML-страница, как вы помните, представляет собой просто статический снимок, который отражает данные в момент их публикации.
Когда в окне Export вы выбираете в списке Save as type элемент Microsoft Active Server Pages (*.asp), Access выводит окно Microsoft Active Server Pages Output Options, показанное на рис. 14.6.
В этом окне (в области Data Source Information) вы должны задать имя источника данных ODBC (DSN), причем сделать это нужно обязательно до обращения к странице. Данное имя будет использовано во время выполнения публикации для осуществления связи с базой данных.
Если база данных не защищена, поля User to Connect и Password for User можно оставить пустыми. При публикации данных SQL Server вы должны указать в этих полях имя пользователя SQL Server и пароль.
Сгенерированная ASP-страница подключается к объектам ADO посредством объекта ASP Session. По умолчанию эти объекты сохраняются в течение 20 минут. Вы можете сократить это время, введя соответствующее значение в поле Session Timeout. Подробнее об объекте ASP Session мы расскажем в этой главе позднее. В поле Server URL ничего вводить не нужно. (Оно иногда используется при публикации форм со встроенными подчиненными формами в Access 97.)
ПРИМЕЧАНИЕ. Как и при публикации в HTML-формате, вы можете, при желании, указать имя файла шаблона, в соответствии с которым должна быть отформатирована создаваемая Web-страница.
А как насчет публикации редактируемых форм?В Access 97 мастер публикации в Web (и окно Save As) позволяли публиковать в ASP-формате редактируемые формы. Эта возможность была ликвидирована в Access 2002 - вероятно, потому, что те же функции теперь возложены на страницы доступа к данным (тем более что раньше для вывода редактируемых форм Web-браузер должен был поддерживать неиспользуемый теперь ActiveX-компонент HTML Layout).
Настройка Web-сервера для публикации ASP-страниц
В отличие от Web-страниц, в которых не применяется ничего кроме обычного HTML, и страниц доступа к данным, технология ASP требует от Web-сервера выполнения определенных операций. Поэтому для того чтобы пользователи могли открывать Web-страницы в браузере, вы должны сначала соответствующим образом настроить свой Web-сервер. Если сервер уже сконфигурирован для поддержки ASP-страниц, остается только скопировать их в предназначенную для этого папку сервера. Если нет - необходимо создать на Web-сервере папку, в которой будут храниться ваши ASP-страницы, и указать ее свойст
ва.
Чтобы настроить Web-сервер для поддержки ASP-страниц, выполните следующие действия.
1.Выберите папку, в которой вы будете держать свои страницы. Если вы хотите, чтобы они хранились в корневой папке сервера, переходите прямо к шагу 2, в противном случае с помощью Проводника Windows создайте новую папку в корневой папке Web-сервера, предназначенной для публикации. Например, если вы хотите использовать папку с именем ACCESSPAGES, а ваша корневая Web-папка называется C:\INETPUB\WWWROOT, вам нужно создать папку C:\INETPUB\WWWROOT\ACCESSPAGES.
2.Запустите программу Personal Web Manager и щелкните на пиктограмме Advanced (рис. 14.7).
3.Если вы используете корневую Web-папку, выделите в этом окне папку и щелкните на кнопке Edit Properties, чтобы отредактировать ее свойства. Убедитесь, что флажок Scripts установлен. Если же на шаге 1 вы создали новую папку, тогда выделите папку и щелкните на кнопке Add. Перейдите в папку, которую вы создали на шаге 1, присвойте ей псевдоним (обычно псевдонимом делают имя папки без пути) и установите флажки Read и Scripts (рис. 14.8). Щелкните на кнопке OK, чтобы закрыть окно Add Directory или Edit Directory, и закройте окно программы Personal Web Manager.
ПРИМЕЧАНИЕ. Чтобы вы могли выполнить описанные выше действия, на компьютере должен быть установлен и запущен Microsoft Personal Web Server под управлением или Windows 95/98, или Windows NT Workstation, или Windows 2000 Professional. Если же вы пользуетесь другим Web-сервером, действия по его настройке могут быть несколько иными.
Создание источника данных ODBC
Преобразуя объект Access в ASP-формат, вы должны задать имя источника данных ODBC (DSN - data source name). Получив запрос на открытие ASP-страницы, Web-сервер использует это имя для подключения страницы к источнику ее данных. Это означает, что указанное вами DSN должно существовать на компьютере Web-сервера.
Для создания нового DSN откройте на компьютере Web-сервера панель управления и запустите приложение ODBC Data Source Administrator. В окне этого приложения откройте вкладку System DSN, показанную на рис. 14.9, и щелкните на кнопке Add. Если публикуемые данные хранятся в базе данных Access, выберите Microsoft Access Driver и следуйте дальнейшим указаниям приложения Administrator для создания нового источника данных Access. Если же данные хранятся в базе данных SQL Server, выберите драйвер SQL Server и опять-таки следуйте указаниям Administrator.
Разработка корпоративных приложений в Access 2002. Для профессионалов (+CD). / К. Гетц, П. Литвин, М. Гунделой - СПб: Питер, 2002. - 848 с.
|