Введение

Глава 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

Предметный указатель