Главная » 2012»Октябрь»7 » Разработка настольных приложений в Access 2002. Для профессионалов (+CD)
16:24
Разработка настольных приложений в Access 2002. Для профессионалов (+CD)
В книге представлено большое количество полезной информации, необходимой каждому разработчику приложений в среде Microsoft Access, Visual Basic и Microsoft SQL Server. В ней рассматриваются: объектная модель Microsoft Access, особенности создания модулей класса, проектирование форм и отчетов. Большое внимание уделено принципам и приемам проектирования приложений для баз данных и интегрированных решений на базе Microsoft Office XP, а также средствам отладки и оптимизации приложений. К книге прилагается компакт-диск с исходными текстами всех примеров и демонстрационные базы данных, а также множество процедур и модулей классов, которые можно использовать в собственных приложениях. Книга будет полезна как начинающим, так и профессиональным разработчикам настольных бизнес-приложений для индивидуальных пользователей и небольших рабочих групп.
Название: Разработка настольных приложений в Access 2002. Для профессионалов (+CD) Автор: Литвин П., Гетц К., Гунделой М. Издательство: Питер, Издательская группа BHV Год: 2002 Страниц: 1008 Формат: DJVU Размер: 20,8 МБ ISBN: 5-94723-499-8 Качество: Отличное
Содержание:
Благодарности Об авторах Предисловие Введение Глава 1. Новые возможности Access 2002 Краткая история Access Access 2002 Средства программирования Формы и отчеты Доступ к данным Работа в сетях Интернет и корпоративных сетях Другие усовершенствования Особенности Microsoft Office Developer Резюме Глава 2. Модель событий в Access Событий так много, а времени так мало Использование событий События формы Отменяемые события Последовательность событий Регистрация событий Работа программы регистрации событий Операции с формой События клавиатуры Назначение свойства KeyPreview Отмена нажатия клавиш Использование параметров KeyCode и Shift Сравнение событий KeyDown и KeyUp Повторяющиеся события клавиатуры События мыши Двойной щелчок мышью События, связанные с данными События обработки ошибок Обязательное событие по таймеру Неблокируемые события Резюме Глава 3. Использование модулей класса VBA Зачем нужны модули класса Создание собственных объектов Описание сложных процессов с помощью классов Классы упрощают разработку Как работают модули класса Модули класса -это форма для приготовления печенья Экземпляры объектов - это само печенье Простой пример: класс «текстовый файл» Создание класса Использование класса объектов Применение процедур Property Получение значений свойств с помощью процедуры Property Get Установка значений свойств с помощью процедуры Property Let Присваивание свойствам значений с помощью процедуры Property Set Пример простой базы данных Дополнительные сведения о работе с модулями класса Перечисляемые типы Иерархия объектов Создание свойства Parent Коллекции объектов Создание собственных коллекций Определение и применение пользовательских событий Резюме Глава 4. SQL Access Где можно использовать SQL SQL Access: основные сведения Инструкция SELECT Предложение SELECT Предложение FROM Предложение WHERE Предложение ORDER BY Объединение таблиц Предикаты ALL, DIST1NCTROW и DISTINCT Предикат ТОР Объявление WITH OWNERACCESS OPTION Агрегатирование данных Итоговые запросы, не использующие предложение GROUP BY Использование предложения GROUP BY Использование предложения HAVING Создание перекрестных запросов при помощи инструкции TRANSFORM Запросы на объединение Использование опции TABLE Опция ALL Сортировка результатов Совместимость запросов Подчиненные запросы Проверка значений с помощью таблицы просмотра Сравнение значений Проверка наличия строк Использование подчиненных запросов в предложении SELECT Пример: использование подчиненного запроса для нахождения повторяющихся строк Передача параметров в SQL Использование внешних источников данных Применение связанных таблиц Применение предложения IN Применение прямых ссылок на таблицы Обновление данных при помощи SQL Инструкция UPDATE Инструкция DELETE Инструкция INSERT INTO Инструкция SELECT INTO Определение данных при помощи SQL Инструкция CREATE TABLE Предложение CONSTRAINT Инструкция CREATE INDEX Инструкция ALTER TABLE Инструкция DROP Создание SQL-запросов к серверу Расширения Jet 4 ANSI SQL-92 Установка режима запросов ANSI SQL-92 Дополнительные операции над таблицами в Jet 4.0 Поддержка Jet 4 представлений и хранимых процедур Обработка транзакций в Jet 4 Защита данных в Jet 4 Различия между SQL Access, SQL-92, Jet SQL-92 и T-SQL Резюме Глава 5. Объекты данных ADO ADO? А как же DAO? Создание ссылок Выбор библиотеки Исследование иерархий объектов ADO, UDA и OLE DB Правила синтаксиса Свойства и методы Использование объектных переменных Объект Connection Ссылки на объекты Что использовать: восклицательный знак, точку или кавычки? Положение объекта в коллекции Коллекции, используемые по умолчанию Перебор объектов в коллекции Свойства объектов Типы свойств Перебор свойств Определение данных с помощью объектов ADOX Создание объектов Наборы записей Знакомство с курсорами Создание наборов записей Непосредственный доступ к таблицам Согласованное и несогласованное обновление данных Месторасположения курсора Взаимное влияние свойств объекта Recordset Метод Supports Способы создания объектов Recordset Перемещение по набору записей Определение числа строк в наборе записей Определение границ набора записей Проверка наличия записей в наборе Просмотр всех записей Использование массивов для хранения данных набора записей Создание объекта Recordset с помощью объекта Command Поиск конкретных записей Использование закладок Метод Сюпе Сортировка наборов записей Фильтрация записей Обновление наборов записей Редактирование данных в наборах записей Постоянные наборы записей Использование наборов записей вместо массивов Использование объекта Command для выполнения групповых операций Наборы записей схем Использование коллекций, входящих в объекты CurrentProject и CurrentData Пример использования коллекций Проектирование формы frmDBC Выбор операции и типа объекта Отображение списка объектов Заполнение списка объектов Получение информации об опциях, выбранных пользователем в окне Options Формирование списка объектов Включать ли объект в список Добавление объекта в список И наконец Использование формы frmDBC в приложении Резюме Глава 6. Элементы управления Элементы управления и их использование Код, связанный с формами: модули классов Группировка элементов управления Свойства стандартных элементов управления Применение свойства Tag для создания пользовательских свойств Свойство ControlType Свойства ControlTipText и ShortCutMenuBar Свойства TabStop и Tablndex Свойство DisplayWhen События Dirty и Undo Управление выводом текста Применение надписей Свойство Parent Текстовые поля Перенос значений полей в новые записи Свойство ControlSource и вычисляемые элементы управления Элементы управления с двумя состояниями Кнопка-выключатель Переключатели Флажки Группы переключателей Добавление элементов управления в группу переключателей Присвоение и извлечение значений Группы переключателей и возвращаемая ими информация Коллекция Controls элемента управления Списки и поля со списками Различия между списком и полем сослиском Основные свойства списков и полей со списками Выбор нескольких элементов списка Особенности использования свойства LimitToList Событие NotlnList Самораскрывающиеся поля со списком События BeforeUpdate и AfterUpdate Программное заполнение списка или поля со списком Множественный выбор в списке Как и когда используются подчиненные формы Создание подчиненной формы Связь родительской формы с дочерней Извлечение вычисляемых значений из подчиненных форм Вложенные подчиненные формы Элемент управления Command Button Свойства командной кнопки События командной кнопки Элемент управления Tab Control Что позволяют и чего не позволяют наборы вкладок Как работает элемент управления Tab Control Где я? Использование набора вкладок Модификация вкладок во время выполнения приложения Использование набора вкладок в качестве контейнера Замена многостраничных форм Замена прямоугольников и групп переключателей Настройка стандартных значений свойств элементов управления Использование метода DefaultControl для установки стандартных значений свойств Программное создание элементов управления Функции для создания форм и элементов управления Элементы управления и Windows Использование функции SendMessage для ограничения числа вводимых символов Резюме Глава 7. Разработка и применение форм Новые режимы представления формы в Access 2002 Введение в модули класса Управление закрытием окон Существует ли данная форма Загружена ли данная форма Создание всплывающих форм Применение всплывающих форм Как работают наши формы-примеры Использование форм-примеров Создание пользовательских свойств Использование общедоступных переменных Использование процедур Property Let/Get/Set Использование процедур форм в качестве методов Фильтрация данных Свойство Filter Свойство FilterOn Событие Filter Событие ApplyFilter Настройка фильтра по форме Сортировка записей Работа с данными форм На новой записи? Какая запись является текущей и сколько строк в наборе записей Изменены ли данные формы Какие записи выделены Использование свойств Recordset и RecordsetClone Свойство RecordsetClone Проблема, связанная со свойством RecordsetClone Использование свойства Recordset Recordset или RecordsetClone? Условное форматирование Задание условий Задание условий форматирования в режиме конструктора Условное форматирование во время выполнения приложения Обработка ошибок на уровне формы Защита от нестандартных действий пользователя Использование свойства Cycle Свойство KeyPreview Вывод нескольких экземпляров формы Что происходит при создании нового экземпляра формы Как создать новый экземпляр формы Лучшее решение Закрытие экземпляра формы Закрытие всех экземпляров формы Использование экземпляра формы в роли диалогового окна Использование подчиненных форм Вложить одну форму в другую или просто их синхронизировать? Использование синхронизированных подчиненных форм Загружена ли форма как подчиненная Как связать формы самостоятельно Создание самоотключающихся навигационных кнопок Подчиненные формы и транзакции Дескрипторы окон, классы окон и многодокументный интерфейс Дескриптор окна Классы окон Многодокументный интерфейс Управление формами Демонстрация возможностей класса Formlnfo Члены класса Formlnfo Как это работает Удаление строки заголовка формы Сохранение и восстановление координат формы Что дальше? Автоматическое изменение размеров форм Понятие разрешения экрана Масштабирование форм при их загрузке Использование класса FormResize Управление масштабированием отдельных элементов Как это работает Программирование новых режимов представления формы Новые представления занимают всю форму Свойства и события формы, поддерживающие представления PivotChart и PivotTable Обработка событий представления PivotChart Резюме Глава 8. Разработка отчетов Сравнение отчетов и форм Фильтрация отчетов Управление сортировкой и группировкой Свойство Section Ссылки на разделы по их именам Работа со свойством Section Доступ к уровням группировки Свойства уровня группировки Свойства раздела, задаваемые в режиме конструктора Свойства CanGrow и CanShrink Свойство NewRowOrCol Свойство ForceNewPage Свойство KeepTogether Свойство RepeatSection События отчета и его разделов События отчета События раздела Свойства раздела, доступные только во время выполнения Свойства MoveLayout, NextRecord и PrintSection Свойство FormatCount Свойство PrintCount Свойства WillContinue и HasContinued Примеры использования событий и свойств отчетов и их разделов Печать произвольного числа наклеек Печать почтовых наклеек, начиная с заданной позиции Вставка пустых строк Четные и нечетные страницы Установка номера начальной страницы Нумерация различных элементов в отчете Несколько примеров простых отчетов Отчет о продажах Телефонная книга Компании, контакты и аппаратное обеспечение Программное изменение отчета Создание отчета на основе перекрестного запроса Получение настоящих имен полей Вычисление количества выводимых полей Настройка надписей и текстовых полей Наведение порядка Несколько заключительных рекомендаций Распространение отчетов Access Резюме Глава 9. Управление печатью Выбор выводного устройства Формирование списка установленных принтеров Изменение принтера, используемого по умолчанию Изменение выводного устройства Настройка параметров печати Изменение параметров страницы Получение информации о возможностях принтера Использование класса PrinterCapabilities Демонстрация класса PrinterCapabilities Как мне Как просмотреть список установленных принтеров программными средствами Как определить, используется ли принтер по умолчанию Как заполнить список или поле со списком перечнем установленных принтеров Как заменить принтер, устанавливаемый по умолчанию Как заменить выводное устройство отчета Как изменить параметры печати формы или отчета Как настроить параметры страницы при печати формы или отчета Как определить возможности принтера Резюме Глава 10. Использование Access в качестве клиента автоматизации Основы технологии автоматизации Терминология Значение технологии автоматизации Классы объектов Библиотеки типов: ключ к классам Просмотр объектов в Object Browser Создание экземпляров классов Раннее и позднее связывание Простой пример раннего связывания Когда создавать объекты Функции CreateObject и GetObject Классы серверов автоматизации Управление другими приложениями Изучение объектной модели приложений Различия в поведении приложений Память и ресурсы Создание интегрированных решений на базе Microsoft Office Объектные модели Office Пример: запись отчета в Word Создание шаблона Word Формирование заказа Пример: фиксация времени в Outlook Outlook и Exchange Взаимодействие с Outlook Внесение в дневник новых записей Загрузка информации из дневника Пример: создание презентации PowerPoint Понятие слайда PowerPoint Работа с элементами слайдов PowerPoint Создание простейшей презентации Применение эффектов Пример: заполнение таблицы Excel Использование существующего файла Наш сценарий Создание объекта на основе существующего документа Обновление электронных таблиц и диаграмм Использование элементов ActiveX Регистрация элемента ActiveX Включение элемента ActiveX в приложение Настройка свойств элемента ActiveX Использование событий элементов ActiveX Использование связанных элементов ActiveX Пример использования календаря Использование элементов ActiveX из других продуктов Перехват событий с помощью переменных, объявленных с WithEvents Что значит WithEvents Использование ключевого слова WithEvents Перехват событий в формах Резюме Глава 11. Access как сервер автоматизации Использование Access в качестве сервера автоматизации Использование библиотеки типов Access Обычное программирование в Access: в чем разница? Как ведет себя Access в качестве сервера автоматизации Специальный класс для автоматизированного управления Access Начало сеанса автоматизации Загрузка базы данных или проекта Защищенное подключение Управление видимостью окна Определяем, загружен ли проект Выгрузка Access Создание отчета с помощью Access Приложение-пример Начало сеанса автоматизированного управления Access Открытие базы данных Получение списка отчетов Предварительный просмотр отчетов Вызов пользовательских функций из приложения-клиента автоматизации Глобальные функции Функции уровня формы Разработка приложений Access, поддерживающих автоматизацию Свойство UserControl Главное окно Access Как помешать пользователю закрыть базу данных Учитывайте действия программы, требующие пользовательского ввода Создание собственного стека ошибок Переключение в приложение-клиент Резюме Глава 12. Обработка ошибок и отладка кода Синтаксические ошибки Ошибки времени выполнения Активизация обработчика ошибок с помощью оператора On Error Создание интеллектуальных обработчиков ошибок Генерация ошибок Упрощенная обработка ошибок Иерархия обработчиков ошибок Свойство On Error и событие Error Обработка ошибок доступа к данным Создание процедуры, сообщающей об ошибках Реализация стека вызовов Борьба с логическими ошибками Методы уменьшения количества ошибок в программном коде Устраняйте ошибки сразу Использование комментариев Удалять или не удалять комментарии Организация программного кода Модуляризация программы Требование явного описания переменных Старайтесь избегать переменных типа Variant Аккуратно используйте передачу параметров по значению Будьте осторожны с операторами Dim Объединяйте операторы Dim в группы Используйте как можно более узкие области определения переменных Применение согласованных правил присвоения имен Ваш друг - функция MsgBox Средства отладки программ в Access Использование окна отладки Использование точек останова Методы отладки Систематизированная отладка Трудности отладки Восстановление состояния среды программирования после останова программы Использование утверждений Резюме Глава 13. Оптимизация приложений Оптимизация приложений Access Как Jet выполняет запросы Определение запроса Компиляция запроса Оптимизация запроса Выполнение запроса Как заставить Jet повторно откомпилировать и оптимизировать запрос Преимущества технологии Rushmore Точность статистических данных Настройка Jet Использование метода DAO SetOption Свойства объекта ADO Connection, предназначенные для настройки Jet Средства оптимизации Jet, официально не поддерживаемые Microsoft Опция ShowPlan Метод ISAMStats Ускорение процессов выполнения запросов и обработки наборов записей Повышение быстродействия форм Ограничение набора записей формы Повышение быстродействия полей со списками, содержащими большое количество строк Другие способы повышения быстродействия форм Повышение быстродействия отчетов Оптимизация и компиляция модулей VBA Как VBA загружает программный код Зачем нужно компилировать код Что сохраняется при компиляции кода Когда следует выполнять компиляцию Зачем нужна опция Compile On Demand Из-за чего декомпилируется код Как компиляция влияет на использование памяти и дискового пространства Удаляются ли модули из памяти Как оптимизировать использование модулей Циклические ссылки в библиотеках Что еще вы можете сделать Повышение быстродействия кода: тестирование усовершенствований Создание таймера Получение точных результатов Как это работает Советы по оптимизации кода VBA Резюме Глава 14. Доступ к DLL и Windows API Библиотеки динамической компоновки Вызов DLL-процедур из VBA Использование оператора Declare Передача аргументов функциям DLL Возврат строк из DLL Использование константы vbNullString Передача DLL данных пользовательского типа Передача массива Использование библиотек типов с функциями DLL Распространение приложений, использующих библиотеки типов Разработка классов-оболочек для DLL-функций Использование буфера обмена Использование класса CCIipboard Структура оператора Declare Public против Private Задание имени процедуры Предложение Lib Предложение Alias Описание аргументов Преобразование объявлений С в объявления VBA Более подробные сведения о вызовах DLL-функций Передача параметров по ссылке и по значению Передача строк в DLL: как это происходит Что собой представляет константа vbNullString Unicode - ANSI - Unicode Использование типа данных Any Использование Err. LastDLLError Использование функций с обратным вызовом Выравнивание структур по границе двойных слов Конвертирование вызовов Windows API, написанных для 16-разрядной Windows Резюме Глава 15. Секреты мастеров Использование процедур Функции для работы с файлами Проверка существования файла Разделение полного имени файла на элементы Получение полного имени файла Использование диалоговых окон Windows Использование класса CommonDIg Использование стандартных диалоговых окон открытия и сохранения файла Изменение внешнего вида окна открытия или сохранения файла Выбор цвета Выбор шрифта Использование класса ShellBrowse Чтение и запись данных системного реестра Получение информации о разделе реестра Получение имени параметра Чтение значения из реестра Запись значения в реестр Получение имени подраздела реестра Создание нового подраздела Эмуляция функций VBA, предназначенных для работы с реестром Функции для управления шрифтами Получение списка шрифтов Получение списка размеров шрифта Получение информации о шрифтах в ваших проектах Использование класса Screenlnfo Что еще может класс Screenlnfo? Сколько места займет на экране текст, выведенный данным шрифтом Функции для работы с объектами Access Получение списка имен объектов Сортировка массива строк Получение списка объектов и их типов Сортировка массива структур adhDBObj Разные функции Определение национального языка Получение полной информации о файле Рисунки для кнопок Использование функции adh_accGetTBDib Несколько интересных замечаний Резюме Глава 16. Создание надстроек Библиотеки, мастера, построители Точки входа надстроек Доступ к данным и надстройки Надстройки и системный реестр Создание библиотечных баз данных Структурирование модулей библиотечных баз данных Использование библиотечной базы данных Ссылки на библиотечные базы данных Access Запрет использования циклических ссылок Редактирование кода загруженной библиотеки Запуск процедур с помощью метода Application. Run Использование раздела реестра LoadOnStartup для управления загрузкой библиотек Всегда компилируйте создаваемые библиотеки Надстройки меню: простейшие из надстроек Создание собственных построителей Пример построителя Написание функции построителя Записи в реестре, связанные с построителями Внесение в реестр записей для новых построителей System Color Builder Разработка мастеров Функции мастеров Access Общая структура мастера Пример мастера форм Способы использования таблицы состояний мастера Главная форма мастера Программный код главной формы Пример главной формы мастера Глобальные функции мастера Создание страниц мастера Завершение процесса Создание форм и элементов управления Использование таблицы Access для хранения программного кода Загрузка мастера Записи реестра о мастерах Шаблон мастеров - заключение Мастер элементов управления Функция мастера элементов управления Элементы системного реестра для мастера элементов управления Мастер элементов управления ActiveX Распространение и установка надстроек Использование диспетчера надстроек Создание таблицы USysReglnfo Дополнительная информация о надстройках Восстановление ссылок с помощью VBA Создание MDE-файлов Надстройки СОМ Надстройки СОМ: за и против Диалоговое окно надстроек СОМ Интерфейс IDTExtensibility2 Коллекция COMAddlns Создание простейшей надстройки СОМ Резюме Предметный указатель