/
Теги: система управления базами данных (субд) компьютерные технологии
ISBN: 978-5-9518-0221-7
Текст
Access 2007 B.E. Кошелев Эффективное использование Разработка проекта электронной библиотеки ч I Базы данных Microsoft Office Access 2007 Планирование баз данных Создание баз данных и таблиц Запросы, формы, отчеты, макросы Защита данных Совместное использование данных БИНОМ
Access 2007 Эффективное использование
В.Е. Кошелев Access 2007 1 Би блиотека СЕВМАШВТУЗА П ИТИ —ruwcninr^^—7 ---.. Москва Издательство БИНОМ 2008
УДК 004.65 ББК 32.973.26-018.1 К76 Кошелев В.Е. Access 2007. М.: ООО «Бином-Пресс», 2008 г. — 592 с.: ил. Программа баз данных Microsoft Office Access 2007 рассматривается на примере раз- работки и создания проекта электронной библиотеки. Книга содержит большое количест во иллюстраций и подробные описания процедур выполнения конкретных заданий. Ос новное внимание уделено таким вопросам, как планирование баз данных, разработка таб- лиц, запросов, форм, отчете и макросов. Отдельно рассматриваются новый интерфейс программ Microsoft Office 2007, а также вопросы анализа, совместного использования11 защиты данных, экспорта таблиц в списки SharePoint и базы данных Microsoft SQL ServJ (проекты Access). Книга предназначена для пользователей, имеющих определенный навык работыс приложениями в среде Windows и желающих освоить программу Access 2007. ISBN 978-5-9518-0221-7 © Кошелев В.Е., 2008 © Издательство Бином, 2008
Содержание 1 Содержание................................................................5 Введение............................................................. 13 О содержании книги................................................ » 15 Что нового в Microsoft Office Access 2007?.........................16 Глава 1. Общие сведения о базах данных и электронных библиотеках . ... 29 Как устроены базы данных и как они работают........................30 Что такое электронные библиотеки и для чего они применяются........35 Форматы файлов электронных документов............................ 42 Глава 2. Планирование баз данных....................................... 47 Таблицы — основа реляционной базы данных...........................48 Типы данных . . . .............................................. 50 Ключевые поля................................................. 51 Создание проекта базы данных.......................................56 Целостность базы данных............................................59 Целостность данных в Access.................................... 60 Каскадное обновление и удаление записей..........................61 Нормализация..................................................... 62 Постановка задачи: проект электронной библиотеки...................64 Глава 3. Знакомство с программой Microsoft Office Access 2007............73 Окно программы Access .......................... . . . ...........73 Работа с файлами баз данных........................................76 Открытие базы данных........................................... 76 Удаление файла базы данных Access................................79 Переименование, перемещение и копирование файла базы данных......79 Удаление личных сведений из файла базы данных....................79 Меню кнопки «Office» . .......................................... 80 Панель быстрого доступа.......................................... 82 Лента............................................................ 84 Область переходов . ...............................................89 Представление объектов в области переходов..................... 90 Открытие объекта базы данных................................... 90 Поиск объектов в области переходов............................. 91 Удаление и переименование объектов..................♦............92 Копирование, вырезание и вставка объектов . . . .................93 Группировка объектов........................................... 93 Отмена отображения области переходов для текущей базы данных.....96 Рабочая область ................................................. 97 Параметры командной строки для запуска Access......................97 Параметры настройки программы Access............................. 99 Факторы, оказывающие влияние на быстродействие баз данных Access. . . . 101
6 Access 2007 Глава 4. Справочные и информационные ресурсы Access............... 103 Получение справки по работе в Access.......................... 103 Расположение окна справки поверх остальных окон .................108 Информационные ресурсы Access.................. . .............. 109 Справка по свойствам или событиям объектов базы данных.......... 110 Сочетания клавиш................................................ 111 Пользовательская справка................................... .....112 Создание всплывающих подсказок для элементов управления форм и отчетов. 112 Пользовательская справка в собственном окне .................. 113 Глава 5. Создание баз данных и таблиц............................... 115 Создание базы данных............................................ 115 Создание пустой базы данных.................................... 118 Создание новой базы данных с помощью шаблона....................120 Преобразование формата базы данных............................... 121 Файлы блокировки.............................................. 122 Создание таблиц...................................................123 Создание таблицы путем ввода данных.............................. 123 Автоматическое задание типа поля . ............................ 125 Явное задание типа данных в режиме таблицы.................... 125 Переименование полей.......................................... 126 Удаление полей в режиме таблицы............................... 126 Добавление полей в режиме таблицы. ........................* ... 128 Режимы отображения таблиц....................................... 129 Режим таблицы.....................................................131 Макет таблицы...................................................133 Поля итогов................................................... 134 Закрепление полей............................................. 136 Конструктор таблиц.............................................. 136 Создание таблицы из шаблона.................................... 141 Импорт и связывание таблиц........................................143 Импорт таблиц................................................. 143 Связывание таблиц...............................................148 Создание таблиц: проект электронной библиотеки . ............. 151 Глава 6. Работа с таблицами................................ - 155 Поиск и замена данных........................................... 155 Средство поиска и замены........................................ . 156 Фильтры....................................................... 159 Простой фильтр................................................ 161 Фильтр по выделенному.......... -............................ 164 Обычный фильтр.............................................. 167 Расширенный фильтр .......................................... 168 Сортировка записей.............................................. 171 Проверка правописания...............................................174 Просмотр, печать и экспорт таблиц.....„.......................... 177 Печать таблицы............................................... 181 Экспорт таблицы.............................................. 182 Индексирование полей.............................................. 187 Выбор полей для индексирования................................. 188 Индексированные поля: проект электронной библиотеки..... 188 Создание индекса.............................................. 189 Составные индексы............................................. 190 Задание связей между таблицами......................................191 Два способа реализации связи типа ♦ многие-ко-многим» в Access 2007; проект электронной библиотеки.................................. 191 Схема данных.................................................... . 193 Как установить связи между таблицами........................... 195 Как удалить связь между таблицами............................ 198
Содержание Подтаблицы..................................................... 198 Вставка и изменение подтаблицы................................. 199 Отображение и скрытие полей в подтаблице....................... 201 Задание свойств полей таблиц.......................................202 Изменение типа данных............................................203 Изменение размера числовых и текстовых полей.....................205 Формат поля.................................................... 206 Значение по умолчанию............................................209 Наложение ограничений и условий на вводимые данные ............. 210 Условия на значения.......................................... 210 Маска ввода .....................................................212 Обязательное поле................................................215 Предотвращение ввода повторяющихся значений......................215 Подпись..........................................................215 Создание поля со списком подстановок или списком значений........216 Задание полей с несколькими значениями...........................220 Форматированный текст в полях МЕМО............................. 222 Поля гиперссылок................................................. 223 Внедрение и связывание данных в поле таблицы.......................225 Вложения. . . .....................................................229 Печать макета базы данных и характеристик таблиц...................233 Анализ таблиц; проект электронной библиотеки.......................235 Автозамена имен полей. . ........................................236 Мастер анализа таблиц.......................................... 23" Анализ быстродействия.......................................... 240 Глава 7. Запросы ................................................ 243 Типы запросов ..................,..................................244 Запросы на выборку и его разновидности...........................246 Запросы с параметрами....................................... .... 24' Перекрестные запросы.............................................248 Запросы на изменение........................................... 248 Запросы SQL ................................................... 249 Мастер создания запросов......................................... 250 Конструктор запросов............................................. 254 Добавление в запрос таблиц................................ . . . 254 Объединение данных ............................................ 256 Отображение полей в запросе..................... . .............257 Свойства запроса...................................................260 Использование выражений в запросах и фильтрах......................261 Операторы...................................................... 262 Константы ..................................................... 264 Функции..........................................................264 Ссылки на объекты и их свойства................................ 264 Построитель выражений............................................265 Примеры выражений................................................210 Вкладка Конструктор (Работа с запросами) 1енты.....................274 Создание запросов в Access . . ....................................275 Создание запроса на выборку................. . , .............. 276 Создание перекрестного запроса...................................281 Создание запроса с параметрами ..................................285 Запросы на удаление записей.................................. 288 Запросы на обновление записей.................................. 291 Запросы на добавление записей ...................................292 Запросы на создание таблицы..................................... 294 Использование полей с несколькими значениями в запросах....... 295 Изменение данных из запроса в режиме таблицы.......................296 Просмотр зависимостей запроса......................................297 Создание основных запросов: проект электронной библиотеки..........299
8 Access 2007 Глава 8. Формы..................................................... 303 Режимы формы....................................................... 305 Режим формы и режим таблицы.................................... 307 Режим конструктора............................................ 309 Вкладка Конструктор (Инструменты конструктора форм) Ленты.....331 Вкладка Упорядочить (Инструменты конструктора форм) Ленты.....323 Режим макета....................................................329 Создание форм.................................................... 330 Предварительное планирование форм: проект электронной библиотеки .... 332 Оформление форм............................................... 333 Автоформы или формы на основе шаблонов содержания ..............334 Мастер форм................................................. 334 Создание формы в режиме конструктора............................338 Выбор источника записей для формы........................... 339 Настройка разделов формы ................................. 342 Добавление полей данных в форму............................. 343 Настройка свойств формы.......................................344 Добавление кнопки закрытия формы............................ 346 Создание формы в режиме макета................................... 34“ Настройки окна формы........................................... 349 ч Свойства окна формы...................................................349 Размеры и положение окна формы................................ 349 Формы со вкладками и разрывами страниц .......................... 352 Создание и настройка вкладок.............................. 353 Добавление к форме разрыва страниц..............................358 Проверка данных в формах и ограничение доступа............ 362 Маска ввода для элемента управления формы..................... 362 Условие на значение для элемента управления.....................363 Блокировка или отключение элемента управления ................ 364 Отключение режимов для формы....................................365 Запрет пользователям перемещать окно формы или изменять его размеры (для оконного представления форм) ............................ 365 Запрет на отображение существующих записей..................... 366 Форма с атрибутом «только для чтения»......................... 366 Подчиненные формы..................................................366 Создание подчиненных форм. .................................... 368 Создание связанных подчиненных форм из таблиц: проект электронной библиотеки................................... . 368 Одновременное создание главной и подчиненной форм на основе связанных таблиц.................................. 369 Создание форм путем добавления одной формы в другую ............371 Создание формы с вложенными подчиненными формами . ....... ...... 374 Создание сложной формы........................................ 376 Связанные формы................................................... . 379 Кнопочные формы.............................................. 381 Кнопки........................................................ 381 Диспетчер кнопочных форм...................................... 382 Всплывающие формы..................................................384 Немодальные всплывающие формы................................. 385 Модальные всплывающие формы..............н......................385 Создание всплывающих форм................................... 386 Открытие формы как диалогового окна........................... 390 Добавление рисунков и объектов................................. 39^ Проверка ошибок в формах........................................ 393 Главная кнопочная форма: проект электронной библиотеки.............395 Формы для ввода данных: проект электронной библиотеки............ 396 Формы для просмотра и поиска данных: проект электронной библиотеки . . 398
Содержание _ 9 Глава 9. Отчеты. .............................................................401 Режимы отчета...........................................................402 Режимы предварительного просмотра и представления отчета..............402 Режимы конструктора и макета отчета............................. 404 Группировка записей...................................................406 Создание отчетов........................................................409 Создание простого отчета на основе таблицы или запроса................410 Мастер отчетов...................................................... 411 Мастер иаклеек........................................................414 Создание отчета в режиме конструктора...................... 417 Источник записей отчета......................................... 418 Разделы отчета......................................................419 Добавление к отчету титульного листа: проект электронной библиотеки.420 Нумерация страниц.............................................*. 422 Поля с вычислениями............................................... 423 Свойства отчета................................................. 424 Создание отчета в режиме макета.......................................425 Подчиненные отчеты......................................................426 Создание подчиненного отчета........................................ 427 Вычисления в отчетах. ..................................................431 Объединение и обработка текстовых значений............................431 Вычисление значений................................................. 431 Снимки отчетов..........................................................434 Создание ртчетов: проект электронной библиотеки....................... 435 Глава 10. Макросы........................................................... 437 Создание макросов. .....................................................438 Свободные и внедренные макросы .......................................438 Конструктор макросов..................................................440 Макрос с проверкой условия............................................442 Группа макросов................................................... 447 Задание значений свойств с помощью макроса............................449 Макросы AutoExec и AutoKey ........................ .....451 Выполнение макросов................................................ .454 Отладка макросов . ................................................... 455 Преобразование макросов в процедуры Visual Basic...................... 456 Уровни безопасности макросов.................................... . 457 Добавление кнопок макросов в панель быстрого доступа....................460 Макросы: проект электронной библиотеки................................ 460 Глава 11. Сводные таблицы и диаграммы....................................... 463 Макеты сводной таблицы и сводной диаграммы..............................465 Сводная таблица.......................................................466 Сводная диаграмма................................................... 470 Настройка сводной таблицы............................................. 475 Отображение структурных элементов сводной таблицы.....................477 Группировка полей .............................................. 478 Фильтрация и сортировка значений .....................................478 Обновление данных и экспорт сводной таблицы...........................481 Кнопки для работы с нолями.......................................... 481 Средства вычисления, отображения и задания свойств полей сводной таблицы 481 Форматирование сводной таблицы........................................484 Настройка сводной диаграммы.............................................485 Отображение в диаграмме значений вместо итогов...................... 489 Добавление подписей данных и условного форматирования............... 490 Добавление заголовка к элементу сводной диаграммы.....................491 Поворот или отражение области построения..............................492 Изменение размера свободного пространства между элементами данных в линейчатых диаграммах и гистограммах................................492 Изменение сетки................................: . . .................493 Добавление диаграмм в формы и отчеты............................. . 494
10 Access 2007 Глава 12. Защита данных и безопасность......................................499 Защита данных.....................................................• • - 499 Резервное копирование базы данных.............................. 500 Открытие базы данных в режиме исполняемой версии программы.........502 Разделение базы данных.............................................503 Использование пароля для шифрования базы данных ...................505 Шифрование базы данных с использованием пароля .................506 Открытие зашифрованной базы данных............................... 506 Удаление пароля..................................................506 Защита на уровне пользователей для баз данных .mdb.................507 Мастер защиты................................................ 508 О разрешениях .............................................. 512 Организация учетных записей................................. .... 513 Вход в базу данных............................................. 514 Создание новой учетной записи группы............................ 515 Создание новой учетной записи пользователя.......................515 » Добавление пользователей в группы............................. 516 Присваивание или удаление разрешений на доступ к базе данных и ее объектам . 517 Отключение вывода диалогового окна Вход........................ 519 Снятие защиты на уровне пользователей.......................... 519 * Совместное использование данных ....................................... 520 Совместное использование базы данных ........................... 520 Настройка блокировки записей........................ ...........522 Обновление записей............................................... - 523 Работа с репликами баз данных .mdb.................................521 Изменения, вносимые в базу данных при репликации.................524 Создание реплик базы данных .mdb................................. . 525 Наборы реплик.................................................. 527 Синхронизация и устранение конфликтов реплик................... 52' Частичные реплики............................................ 529 Преобразование реплицируемой базы данных к обычному состоянию ...... 530 Как найти основную реплику................................... 530 Восстановление основной реплики.................................. . 530 Система безопасности Access 2007 в.................................. 531 Центр управления безопасностью.................................... 53 2 Использование базы данных в надежном расположении..................531 Упаковка, подпись и распространение базы данных ..............- . . 534 Создание сертификата с собственной подписью........................536 Создание файлов базы данных формата .accde . ......................537 Глава 13. Интеграция данных между Access и узлом SharePoint.................539 Способы совместной работы с данными в Access 2007 и SharePoint Services 3.0........................................... 539 Экспорт таблиц и запросов на узел SharePoint...................... 541 Подготовка к экспорту..............................................541 Экспорт данных . ................................................ 543 Сохранение настроек экспорта..................................... 545 Настройка задачи Outlook....................................... 546 Перемещение базы данных на узел SharePoint.......................... . 546 Использование мастера переноса на узел SharePoint...................54 7 Связывание таблиц и списков SharePoint................................54 Подготовка к связыванию............................................548 Связывание...............................................‘.........549 Публикация базы данных на узле SharePoint........................... 550 Публикация базы данных............................................ 550 Повторная публикация............................................ .551 Автономная работа с таблицами, связанными со списками SharePoint .... 551 Переход в автономный режим работы со списками.................. ... 551 Синхронизация автономных списков с данными на сервере..............552 Устранение конфликтов данных..................................... 552 Повторное подключение связанных таблиц после автономной работы.....552 Сбор данных по электронной почте ................................... 552 Мастер сбора данных............................................... 553
Содержание 11 Глава 14. Проекты Access.................................................555 Создание проекта Access............................................556 Резервное копирование проекта и базы данных...................... 559 Создание таблиц базы данных SQL Server.............................560 Связывание таблиц в проекте Access с помощью мастера связывания таблиц. 567 Создание запросов................................................ 569 Представления................................................ 572 Хранимые процедуры.............................................. 574 Определяемые пользователем функции...............................575 Преобразование базы данных Access в формат SQL Server..............577 Создание нового приложения.......................................578 Связывание таблиц SQL Server с существующим приложением..........579 Преобразование данных............................................579 Подготовка к преобразованию.................................... 580 Мастер преобразования в формат Microsoft SQL Server............ 581 Файлы .ade....................................................... 585 Преобразование в формат SQL Server: проект электронной библиотеки .... 585 Предметный указатель......................................587
Введение Программа Microsoft Office Access 2007 предназначена для создания и управ- ления базами данных. Кроме четкого контроля над большим объемом информа- ции, она обеспечивает возможность совместной работы пользователей и реали- зует разнообразные способы представления и использования собранных дан- ных. В последние годы популярность баз данных возрастает, а области их применения расширяются. Одновременно повышается и интерес к программе Access, которая входит в состав самого известного и наиболее распространенно- го пакета офисных программ Microsoft Office. Пользователю, уверенно работающему в Windows с какой-либо прикладной программой (например, Microsoft Office Word 2007 или Microsoft Office Excel 2007), освоить программу баз данных Microsoft Access 2007, будет отнюдь не так уж и сложно, как может показаться на первый взгляд. Сильными черта- ми программы баз данных Access по сравнению с другими аналогичными про- граммами всегда были, с одной стороны, удобный набор средств разработчика и интуитивная понятность работы, а с другой — возможность получить профес- сиональный результат, высокая совместимость и интеграция ее баз данных с другими программами и форматами файлов. Работая в Access 2007, вы будете иметь удобную рабочую среду, позволяю- щую контрол ировать данные на различных уровнях: от содержания конкретной записи в самой «маленькой» таблице до схемы межтабличных связей, от запро- са, отображающего данные одного поля, до средств, создающих новые таблицы или заменяющих в них все данные. Дойдя до создания структурно продуманных и красиво оформленных форм, вы получите законченное приложение, надежно сохраняющее и защищающее информацию, обеспечивающее совместную работу пользователей, внешне не отличающееся от любой другой программы Windows. В данной книге подробно рассмотрены базы данных Access 2007, а также их объекты. Для практических примеров выбрано создание проекта электронной библиотеки, в которой могут содержаться файлы документов, сохраненных в вашем компьютере, в сети, в Интернете, на сменных носителях. Эта база дан- ных представляет собой электронный каталог, обеспечивающий хранение и об- работку свойств документов, выборку документов по запросу «читателя» и пре- доставление к ним доступа. Создание баз данных в Access 2007 рассматривается последовательно: от планирования структуры базы данных и ее таблиц до созда- ния набора форм, обеспечивающих интерфейс пользователя, от ввода данных в ячейки таблиц до печати сложных отчетов и защиты данных, от совместной работы с данными до преобразования ее информационной части в списки Windows SharePoint Service и базы данных Microsoft SQL Server.
14 Введение В книге, однако, не рассматриваются элементарные вопросы работы в графи- ческой операционной среде, которые пользователь должен просто знать перед тем как начинать что-то делать на компьютере. Также не нашлось места таким вопросам, как создание и ведение списков Windows SharePoint Service на серве- ре и программирование на языках VBA (Visual Basic for Application) и SQL (Structural Query Language), которые в той или иной мере могут «быть причаст- ны* к созданию сложных проектов в программе Microsoft Office Access 2007. Дело в том, что «на элементарном уровне» их применение полностью автомати- зируется оболочкой программы, а подробное изучение этих тем выходит за рамки формата данной книги. Работая на компьютере, многие действия и команды можно выполнить не- сколькими способами. Кто-то предпочитает работать указателем и использовать элементы управления, кто-то чаще пользуется контекстными меню и его коман- дами, кто-то старается как можно больше пользоваться сочетаниями клавиш. Это относится к «индивидуальному подчерку» пользователя. Автор в этой книге не ставил своей целью перечислять все возможные способы выполнения тех или иных действий. В книге там, где описаны методики выполнения конкретных за- даний, выбран, как правило, один из способов, ориентированный на «среднего» пользователя. Главное — знать, с каким объектом, и какие действия нужно выполнить. А самый удобный способ пользователь сможет подобрать себе сам. В тексте книги приняты условные обозначения, традиционные для компью- терной литературы. Жирным шрифтом выделены команды и их последователь- ности, например, Сохранить как База данных Access 2000, а также параметры, свойства, их значения и т.п., например, «измените значение свойства Обяза- тельное поле с Нет на Да». Курсивом выделены имена объектов базы данных, а также их элементов (полей, списков и др.), например, «данные в таблице Ав- торы были отсортированы по возрастанию в полях Имяу Отчество и Фамилия*. Замечания и предупреждения выделены специальным оформлением. ЗАМЕЧАНИЕ Здесь содержится полезная информация, советы, способы быстрого выполнения заданий — все то, что можно считать дополнительными сведениями, которые могут вам пригодиться при последующей самостоятельной работе. ВНИМАНИЕ Содержащиеся здесь замечания предупреждают о возможных ошибках, неверных действиях. С ними рекомендуется внимательно ознакомиться. Отзывы и предложения по содержанию книги можно направлять в адрес из- дательства «Бином пресс» по электронной почте: info@binom-press.ru. Автор
О содержании книги 9 Книга состоит из 14 глав. Первые две из них непосредственно не касаются программы Access 2007, а посвящены теоретическим вопросам: общим сведени- ям о базах данных и электронных библиотеках (глава 1) и планированию баз данных (глава 2). Заканчивается вторая глава конспектом проекта электронной библиотеки, который в дальнейшем будет рассматриваться и реализовываться в примерах. Третья глава книги посвящена знакомству с программой Microsoft Office Access 2007. В ней описывается ее настройка, а также интерфейс. Четвертая глава в краткой форме знакомит читателя с информационными ресурсами программы: ее справочной системой, способами получения информа- ции о свойствах объектов и элементов управления, а также способами создания пользовательской справки, добавляемой к формам и отчетам. В пятой главе рассказывается о создании баз данных, преобразовании их форматов, а также о добавлении к нйм таблиц. Последующие шесть глав подробно знакомят читателя с объектами баз дан- ных Access 2007, способами их создания и работы с ними. Глава 6 посвящена таблицам, глава 7 — запросам, глава 8 — формам, глава 9 — отчетам, глава 10 — макросам, а глава 11 — сводным таблицам и диаграммам. В главе 12 рассматриваются вопросы защиты данных и система безопасности программы Access 2007. Глава 13 посвящена работе со списками Windows SharePoint Service. Глава 14 рассказывает о создании проектов Access, а также о способах преоб- разования баз данных Access в формат SQL Server. В конце книги приведен предметный указатель.
Что нового в Microsoft Office Access 2007? Некоторым пользователям, знакомым с предыдущей версией программы Access 2003, небезынтересно будет узнать о «нововведениях 2007 года*. Те, кто только начинает знакомиться с программой Access и не работал с ее предыдущи- ми версиями, могут пропустить материал этого раздела без всякого ущерба «для дела». Интерфейс пользователя В программе Access 2007 используется новый (удобный и логично построен- ный) интерфейс пользователя, который обеспечивает, в конечном итоге, высо- кую эффективность и производительность работы. Главным элементом интер- фейса является особая панель — Лента — заменившая все меню и панели инст- рументов, которые были в предыдущих версиях программ Office. главная Создание Внешние данные Работ» < базами данных "П Таблица Т"1 Шаблоны таблиц _ Конструктор ДО Списки SharePoint • таблиц 1аб/тцы 1^3 Форма Й Разделенная форма ГП [*3 Несколько элементов Форш Конструктор форм 1 На Ленте собраны вместе все команды, которые вы можете выполнять. Он и сгруппированы по тематическим вкладкам. Например, чтобы добраться до средств создания любых объектов базы данных всеми доступными для этого спо- собами достаточно на Ленте открыть вкладку Создание. Лента имеет вклалки двух типов: U Основные (Главная- Создание. Внешние данные, Работа с базами данных), на которых собраны команды и инструменты, доступные «в любой мо- мена ».
Access 2007 17 □ Контекстные (например, Конструктор, Режим таблицы, Формат, Упоря- дочить и т.д.), которые появляются на Ленте «по мере необходимости». Ко- личество отображаемых контекстных вкладок и их названия связанны с те- кущим (выделенным) объектом базы данных, его режимом или задачами» которые можно выполнить. Начинается работа в программе Access 2007 со страницы Приступая к работе с Microsoft Office Access. hihi 1; Lii ПШ1:. Ш Локалв’Ш luatoMt Дапо»* । Уч«внм ѫ ‘ Mi rtkreacftOffcaOnNM BiMnm PraoMi Sample Eoucatwn Приступая к работе с Microsoft Office Access. Новы* •DiMONMOciM Даем 2007 JMS 2BH Обновлвнивя програыиа Accaii 2001 одср**0 мощные epeamx *t рые «.алвег вьстро oi<j»e<**im Дачные. работать • м-<- ц Jtsii 1о,мвли 0 * ссад»»«п1з втмстм • у-рввлвшт) Р«дя Двпо>ч .гелжны* wMT”[ШМ <в вданна о чоаыкаазмежнеепшыулучшения» о>чры гь вежлннэао tuv лммых t? Други*.. Эяет решил МЬмютмя ЖЛш! ?? 05.200 г АДВыбор жомовая общйМпЛ Бмвда«нпм1лоо* H.SJ 2QW \_\Эткт*юшн*Мм1втемя- 12 012007 V-VJncwTixN'MH бявлмлеи _ 05 Од 2901 ЗД £oprfX»7L*ccd6 01 OS 2007 Получение новейшего одержимого при работе с выпуском 2001 системы Micici«n OfTk« • Р^оводтс «в ыктевфвку лсямоввтапя Ассем 2901 # O^n'xmetpii acv обш*то» с лоыац1но иоеой, легжо доступ»* ей р&лесты периодов Ниже на веб-рло Office Online Уче4я«>й «ypt | UlBfijrorBt I Звплпвя Ка ’ ь гадив «афммм . . .А. ? ^1-1 lilt • ъ Здесь вы не только можете создать новую базу (из шаблона или пустую), от- крыть существующую базу данных, но также просмотреть информацию из спра- вочной системы или из Интернета. К этой странице вы будете возвращаться вся- кий раз, когда закроете базу данных, с которой работали. Единственная «традиционная» панель инструментов, которая осталась в Access 2007 — это панель быстрого доступа. На ней расположены кнопки чаще всего используемых команд (Сохранить, Отменить и др,)* Вы можете добавить на нее кнопки любых команд «по своему усмотрению». Библиотека СЕВМАШВТУЗА
18 Что нового в Microsoft Office Access 2007? «Плавающее» окно базы данных было заменено областью переходов — пане- лью, прикрепленной к левому краю окна программы. Таблицы ___________________¥ Запросы____________________¥ Формы ¥ Отчеты t М 10 самых крупным мшэов И Адресная книга клиентов И Адрескм книга поставщиков М Адресная книга сотрудников И Годовой отчет о продажах И Квартальный отчет о продажах В Месячный отчет о продажах В Объемы продаж товаров по сотру. В Продажи категорий товаров по м.. В Продажи товаров по категориям В Продажи товаров по общему дохо... В Счет В Те-ефомкм книга клиентов В Телефонная книга поставщиков В Телефонная книга сотрудников Макросы А £2 Autoexec Х2 Удалить все данные Модули У Область переходов можно сворачивать. Она содержит все объекты текущей базы данных, но в ней не осталось средств для создания объектов и управления ими (кроме, естественно, контекстного меню, которое можно открыть для любо- го объекта). Способ отображения объектов может быть настроен. Из области пе- реходов можно открыть любой объект базы данных в любом режиме представления. Наконец, объекты базы данных открываются на вкладках в рабочей области (а не в отдельных окнах). Вверху вкладки каждого открытого объекта отображается его ярлык. Это позволяет легко видеть все объекты, с которыми вы работаете, и «не те- рять» из виду те, которые закрыты другими. Однако остается возможность вер- нуться к старому, «оконному» способу отображения объектов.
Access 2007 19 Новые форматы баз данных Формат баз данных программы Access 2OO7.accdb (и «производные» форма- ты .accde, .accdt, .accdc и .accdr) обеспечивают поддержку новых возможностей программы. При этом «старые» файлы (.mdb и др.), как и их «упраздненные» возможности (например, репликация, доступ на уровне пользователей и др.), продолжают полноценно работать в новой версии программы. Более того, в Access 2007 вы можете создавать базы данных и проекты Access в старых фор- матах. Работа с базами данных .accdb в более ранних версиях программы не обеспечивается. Тематические шаблоны нового типа Новые шаблоны баз данных доступны непосредственно со страницы Присту- пая к работе с Microsoft Office Access. Проекты по маркетингу С Poourendind сокупентъД уму Wlndowi gwePoktt Service, Они позволяют быстро создавать структурно-законченные тематические базы данных формата Access 2007 (.accdb). Каждая база данных включает в себя таблицы, формы, отчеты, запросы, макросы, и межтабличные связи, но не за- полнена никакими данными. Некоторое количество шаблонов входит в установ- ку программы Access 2007. Большое количество шаблонов, сгруппированных по темам, следует искать на сайте Microsoft Office Online, куда можно перейти непосредственно со страницы Приступая к работе с Microsoft Office Access.
20 Что нового в Microsoft Office Access 2007? Фильтры и средства сортировки Значительно переработаны и стали удобнее в применении фильтры и средст- ва сортировки записей. Они позволяют легко анализировать данные таблиц (за- просов), выбирая в них определенные вами числовые или текстовые значения. Средства фильтрации и сортировки унифицированы в программах Access 2007 и Excel 2007. || £ортировм от А до Я f | £ортиро»х* от Й до А ..»« * - «ММ14О1П I . .If.: £г1«гь фильтр с Выржжснм! Хекстрам филырм Е (Пустм») Е Борисе» Д В. В Гврм&ш В В. В Гнесин* Г Х р КружилииАВ. Е Ларин и и Е Морозом ЬГ. Е Никмфороа В Н. -Е Лион ГЛ. ____—J L- <*—I Clow».. Еване, да рввмо... Цачнимтся с. Це квчикмтса с Содержит Це содержит. . Заин< имется из... Це эаяанчимета на... Параметры настройки «быстрых» фильтров выбираются непосредственно из контекстного меню- Новый режим форм и отчетов — режим макета Введен новый режим представления форм и отчетов — режим макета. Он по- зволяет редактировать структуру формы или отчета «вместе с данными». Здесь легко добавлять элементы, выравнивать и форматировать их, применяя специ- ально предназначенные для этого средства. Элементы управления можно объе- динять в макеты двух типов: в столбик или ленточный. Средства редактирования применяются сразу ко всему макету. Гиперссылм источника: Переходя источнику: В программе также остался и «привычный» режим конструктора, а его сред- ства и инструменты стали удобнее в применении.
Access 2007 21 Интерактивный календарь Для удобства задания дат поля и элементы управления, которые содержат данные этого типа, «оборудованы» интерактивным календарем. «Календар- ная» кнопка появляется справа от такого поля. Если ее щелкнуть, откроется па- нель, выбор в которой объединен со значением поля или элемента управления. Можно отключить календарь для поля или элемента управления, задав соответствующее свойство. ( Январь 2007 I л в сипев 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17®W 20 21 22 23 2* 21ф 27 28 29 30 31 1 2 3 4 5 б 7 В 9 10 11 Сохранение форматированного текста в полях МЕЛЛО В полях MEMO Access 2007 теперь можно сохранять форматированный текст (RTF). К сохраняемым элементам форматирования относятся, например, шрифты, их размеры, полужирное или курсивное начертание, цвет. Для этого к типу полей МЕМО добавлено новое свойство — Формат текста, которое может иметь одно из двух значений: Обычный текст или Формат RTF. От значения это- го поля зависит вид текста в таблицах и в полях элементов управления. Гвердая копия ШшМРВСф1ИЙ. • '• Ю18Ж1В9 в местной биопиоте-се Новая копия от 11.11.06j 1 Ж20Х!98е местной Mg Нет Д0ЯЮЯ9 в местной библиотеке Нет 1Й Неизвестно. В напмч «и НТМЬфаЛп Her1 I ’ Неизвестно. В <iuiv ООСХ-фаАл Р09Ю098 в местной библиотеке 5ИЯ '♦ Неизвестно В наличии 1-ГМ1-ф0йл зет В умными ООРгфайл Нет т! Нрипарстнп В наличии ГХТ-фа*л Нет * Неизвестно В наличии DOC-файд Нет 1 _ [ ® Нет I овая копия >т 1 Н Ц И 1 и *Нет «е/п _ ’ Неизвестно Нет : Неизвестно Ч&п .(Тнн Hfvn Нрювестно Нет • |* 1 * * 4 5 Неизвестно Ьфет , 1“Неизвестно Нет i! Неизвестно Нет и В библиотеке организации. Инв № ГРП-Г |Н <1 кол^ ~ ОТ 11.11.06. # > в библйотАце пргзнм1лции Икв № ПИСИ и г [Новая копия от 11.11,06. | |»i -
22 Что нового в Microsoft Office Access 2007? Средства быстрого создания объектов Вкладка Создание Ленты «собрала» все средства (в том числе и вновь появив- шиеся) для создания объектов базы данных (таблиц, форм, отчетов, запросов, макросов, модулей, списков SharePoint и др.). Средства для создания объектов значительно улучшены и хорошо согласованы. Например, если открыта или вы- делена таблица, то создать на ее основе форму можно всего лишь двумя щелчка- ми мыши. Автоматически созданные формы и отчеты получают «единообраз- ный» вид, включающий, например, общую эмблему, цветовой стиль, дату и т.д. I Со1д»нм» 'ТЗтжвлич* ЗПиЬНИонм таблиц • *«нстру»тар [ < Слиоси Shw< Point • «книц > , Ъйлищы З^ФОрШ 1^1 форм " Форш» Гемггруктор Отчет фори d Нмлгйки О йусгай oinrr Конструктор Щмвперотмгто» оТче1вв Моггер Конструктор Мвкро< млрясож мпросов Быстрое заполнение таблиц Программа Access 2007 «научилась» автоматически распознавать данные, которые вводятся в бланк таблицы, и на основе этого задавать тип данных для нового поля. Поэтому во многих случаях процесс создания таблиц значительно упростился — таблицу можно создавать сразу в режиме таблицы, минуя режим конструктора. Также средство распознавания типа данных работает при вставке таблицы из программы Excel. 3 ТМмцв! Кад ’Iftone _ Попе? -Добавить попе 1 Иванов 10Р... 2 Петров 50 И—ж г ~ } Новые поля можно также просто перетаскивать из панели Список полей, в которой перечислены поля имеющихся таблиц» В этом случае программа Access 2007 создаст все необходимые связи и списки подстановки, выводя дл я их настройки вопросы в диалоговых окнах. Строки итогов в таблицах Еще одна новая возможность заключается в следующем. В режиме таблицы можно добавлять строки с итоговыми значениями полей. В ячейках итогов мо- гут размещаться суммы, средние значения, количества значений, максималь- ные и минимальные значения, стандартные отклонения и дисперсии. Это удобно для быстрого анализа данных таблиц.
Access 2007 23 Готовые шаблоны полей Пользователи могут *не утруждать себя» созданием полей и заданием их свойств — в программе Access 2007 есть панель Шаблоны полей, в которой име- ется 70 готовых полей в 7 различных категориях. Выберите поле в панели и перетащите его в таблицу, которую вы создаете. Та- кой способ гарантирует единообразие полей. Поэтому его удобно принимать для «обязательного применения» при совместной деятельности в составе рабочей группы. Разделенная форма В Access 2007 добавлен новый тип форм, который создается автоматически — разделенная форма. Она комбинирует в себе для одной и той же таблицы (или за- проса) режим таблицы и режим фирмы. Такой тип формы удобно использовать для ввода данных в таблицу. С помощью специального свойства формы можно задать, где должно распо- лагаться табличное представление: слева, справа, сверху или снизу.
Что нового в Microsoft Office Access 2007? 24 < 6 w ____ _ ^аньянски^ финский >MiMCfa < « *Юв > M > немецкий французским японский английский mi Пои» _:__i__!__*!_! Поля с несколькими значениями Появилась возможность создания в таблицах полей, которые могут иметь сразу несколько значений. Йй JD редааора -1Ю языка Копин 'й. 11 12 , ___2 217 n&33J4 18 1 286 16 J 7 ______ 2 314___ 4 13,14________________1_1В_ ioj3___ 1 211___ |fjffi 10* 1 333 Предположим, что вам нужно хранить в одном поле идентификаторы всех ре- дакторов, которые «приложили руку» к документу. В большинстве систем управления базами данных (и в более ранних версиях программы Access I для этого необходимо было моделировать связь «многие-ко-многим», а затем реали- зовывать ее с помощью вспомогательной таблицы. Па самом деле, и в Access 2007 это делается точно так же, но большая часть работы выполняется автоматически («незаметно» для пользователя). Достаточно просто задать свой- ство для такого поля. Поля с несколькими значениями часто используются при обмене данными с помощью списков SharePoint, где они весьма распространены. Новый тип данных Вложение В Access 2007 добавлен новый тип данных — Вложение. В полях такого типа информация храниться в двоичной кодировке и в сжатом виде. Таким образом в базе данных удобно сохранять изображения, графику, файлы программ Office ил и любые другие типы файлов. В одной записи может быть несколько полей с этим типом данных. В каждом поле может храниться несколько файлов. Из своей ячейки файл легко открывается и обрабатывается в Windows в той про-
Access 2007 25 грамме, в которой он был создан (или к которой он приписан). В такие поля удоб- но, например, «сбрасывать» промежуточные файлы, при совместной работе над проектом. с в .........................................................• ...........I елйаеяиь (лрссляи - йнфймсЯ i ш глки l.doc Глава 2.doc Глава 3.doc Глава 4. doc Глава 5сюс Дополнительный цвет фона В таблицах, отчетах и формах можно задавать дополнительный (чередую- щийся) цвет фона, который настраивается независимо от обычного цвета фона, С его помощью легко выделить строки, расположенные «через одну». Также легко задать цвет тени любой линии. Благодаря этому таблицы выглядят краси- вее, аккуратнее, их легче просматривать. Внедренные макросы Теперь объекты базы данных могут иметь собственные, внедренные в .них макросы. Каждый внедренный макрос имеет состояние доверенного и принад- лежит только своему объекту. Внедренный макрос хранится в виде свойства и является частью объекта, к которому он принадлежит. Его можно модернизи- ровать, не опасаясь, что сделанные изменения затронут каким-либо образом другие объекты, в которых используются аналогичные макросы. Эффективный и безопасный обмен данными Программу Access 2007 можно использовать для эффективного и безопасного обмена данными. Базы данных с общим доступом могут основываться на Access 2007 и Windows SharePoint Services, Данные сохраняются под контролем серверов в списках SharePoint веб-сайтов, которые могут быть связаны с таблицами базы данных Access 2007.
26 Что нового в Microsoft Office Access 2007? Экспорт объектов базы данных в форматы PDF и XPS После установки в Access 2007 дополнительных модулей (add-ins) можно экс- портирова гь объекты базы данных (таблицы, формы, отчеты) в известные фор- маты: PDF (Portable Document Format) и XPS (XML Paper Specification), а затем использовать их для печати и рассылки (в том числе и по электронной почте). Форматы PDF и XPS дают качественные, независимые от средства просмотра, копии документов, а также обеспечивают защиту содержимого от копирования электронным способом. Такой способ полностью сохраняе7 содержание и фор- матирование ваших объектов и не требует от получателя, чтобы на его компьютере была установлена программа Access 2007. Для поиска дополнительных модулей справочная система программы рекомен- дует посетить страницу: http://r.office.microsoft.com/r/rlidMarketplacePDFXPS. Большинство продуктов, которые там могут быть предложены, платные. Сохранение настроек операций импорта и экспорта Так как многие операции импорта и экспорта данных приходится многократ- но повторять, в Access 2007 добавлена возможность сохранения их настроек.
Access 2007 27 Дополнительные режимы для работы с отчетами Дл$г подготовки отчетов введены два новых «мощных» режима: представле- ние отчета и режим макета. Перейдя в любой из них, с отчетом, отображаемым с полным форматированием и всеми данными, можно работать интерактивным способом. Первый режим допускает применение фильтров, поиск значений» ис- пользование буфера обмена для редактирования, а также переход по гиперссыл- кам. Второй режим позволяет работать с макетом отчета, например, добавлять поля перетаскиванием из панели Список полей, выравнивать и форматировать элементы, сортировать записи, изменять группировку и др. Режим конструкто- ра по-прежнему доступен для выполнения более «тонкой» работы, он также был усовершенствован и теперь поддерживает работу с макетами. Средства группировки, сортировки и вычисления итогов в отчетах В отчетах Access 2007 появилось новое, улучшенное средство группировки и сортировки данных и добавления итогов. Оно имеет простой пользователь- ский интерфейс, а сделанные с его помощью изменения сразу отображаются в макете отчета. Простые функции итогов больше не требуют создания вычис- ляемого поля вручную. Теперь нужно лишь выбрать пункт в списке. Годмдлдмня Надванме Документы издательств ви|Я — ГЬггтмхжлв Год1пдк— сортмраекл Нвмамае миГ *7iva,g«il ia । '•! । .и ъ»1 .а5 рупнпроем, 3t)pf*K>aaK* и итоги |М?0ГМ Авторы Федченко Е£. м до. 2001 1. Минск "Сотрудничество1 2003 2. М "Эсомом. кя м мир" 2 Heecrecmeмегермдлмш Гуляев Петро» ММ, в искусстве Рудаков Ю.Ю. I "Горы* современной материи Кудоян* /| у цу L1 Пскам’ноЬщлй итог «песен? ажьеЦсю ' Q Пвсметъ итоги "о трут», км % ег обшег о м-сге С Пвяамггьв мголмм rmrtы . С Поммтъ егюичмжмгртггш ’ • : Л "(КMUI FW &
28 Что нового в Microsoft Office Access 2007? Проверка орфографии Во всех программах пакета Microsoft Office 2007 работают универсальные средства проверки орфографии. Это означает, например, что настройки средств проверки и пользовательские словари, которые вы используете в Office Word 2007, будут автоматически применимы и в Office Access 2007. в- Что случилось со страницами доступа к данным? . * Программа Access 2007 не поддерживает страниц доступа к данным. Если форму для ввода данных в Access нужно развернуть в Интернете, можно создать базу данных на сервере Microsoft Windows SharePoint Services и использовать для работы средства, предоставляемые этой службой. Если база да нны х создана в более ранней версии Access (.mdb) и содержит страницы доступа к данным, эти страницы можно просмотреть в обозревателе Internet Explorer; Однако с этими страницами нельзя выполнить никаких действий.
Глава 1 Общие сведения о базах данных и электронных библиотеках Среди пользователей компьютера трудно найти человека, который ничего не слышал о базах данных и не имеет о них определенного представления. Непо- священные люди, которые с доверчивостью смотрят детективы по телевизору, иногда думают, что достаточно нажать несколько клавиш, и компьютер выдаст из полицейской базы ответ «кто преступник?», распечатает его досье и укажет, куда ехать на его задержание. Но, на самом деле, даже в полицейской работе не все так просто. Любая, даже самая полная информация, может быть полезной только тогда, когда она должным образом подобрана и организована. Базы данных содержат и управляют большими объемами специально собран- ной информации. От того, как эта информация структурирована, надежно ли хранится, насколько доступна, допускает ли текущее обновление, зависит эф- фективность применения базы данных. Современные базы данных способны удовлетворять всем этим требованиям. Поэтому они и получили такое большое распространение в нашей жизни. И не только в деятельности правоохранитель- ных органов, но и в государственных, научных и учебных учреждениях, в спра- вочных службах, транспортных компаниях, в магазинах, на складах и т.д. и т.п. Базам данных постоянно находятся новые применения. Примером этому мо- гут служить электронные библиотеки, интерес к созданию которых в последнее время значительно возрос, а возможности программного обеспечения позволя- ют заниматься ими не только профессионалам, но и обычным пользователям. Базы данных могут быть основой построения электронных коллекций докумен- тов. Количество и объем документов, содержащихся в электронных архивах пользователей, непрерывно и повсеместно возрастает. Если пользователь рабо- тает на компьютере достаточно продолжительное время, у него начинает скап- ливаться большое количество «нужных ему» файлов, а с какого-то времени мо- гут начаться проблемы сих поиском и хранением. Почти всегда собранные фай- лы бывают самых различных форматов, они могут открываться разными приложениями, а способы группировки файлов заранее не определены (или слишком многообразны). В учреждениях и организациях, где файлы докумен- тов не только создаются, но и собираются из разных источников, проблема мо-
30 . Глава 1. Общие сведения о базах данных и электронных библиотеках «II ' I — —и—м1— Т - ~ « V'l I 1-*»..^—» I жет усугубиться в несколько раз. Простое «раскладывание» документов по пап- кам компьютера, если и может смягчить ситуацию, то лишь до определенного предела. Простая аналогия с книгами, разложении ми по полкам, но не имею- щими каталога, здесь настолько же уместна, насколько она выглядит дикой в обычной, пусть даже районной или школьной, библиотеке. Благодаря своей универсальности и гибкости в работе, электронные библио- теки, построенные на основе баз данных, могут считаться в настрящее время од- ним из наиболее перспективных способов организации, хранения и работы с большими наборами электронных документов. Такой подход не связан с огра- ничениями на размер и форму представления документа. Bcujee того, он может обеспечить удаленный доступ к любым электронным документам по сетя м пере- дачи данных. В одной электронной коллекции могут быть собраны текстовые документы, изображения, видео- и аудио-фрагменты. Главное, чтобы докумен- ты допускали свое описание однотипными свойствами, что для компьютерного файла совершенно очевидно. Современные программы, например, Microsoft Office Word и др., могут автоматически сохранять описательные свойства вместе с документами, которые в них создаются. Прежде, чем перейти к более подробному рассмотрению вопросов разработки и использования баз данных и электронных библиотек, их возможностей и огра- ничений» обратимся к общепринятому определению, которое приведено в начале следующего раздела, а Как устроены базы данных и как они работают Большой российский энциклопедический словарь дает такое толкование: «база данных (БД) — упорядоченная совокупность данных, предназначенных для хранения, накопления и обработки с помощью ЭВМ. Для создания и веде- ния баз данных (их обновления, обеспечения доступа по запросам и выдачи дан- ных по ним пользователю) используется набор языковых и программных средств, называемых системой управления базами данных (СУБД)». Отметим, что люди в разговорах часто смешивают понятия БД и СУБД . В этом нет ничего удивительного. Упорядоченную (структурированную) сово- купность данных нельзя создать «вручную», без помощи специальной програм- мы. Но, с другой стороны» БД, однажды созданная, может быть открыта (или подключена) и использоваться с помощью различных СУБД. С названием Access связано и то, и другое ( БД и СУБД). Поэтому ниже, там, где их можно спу- тать, будут даваться полные названия, принятые в литературе: «база данных Access» или «программа Access». За долгие годы существования и развития информационных компьютерных систем было предложено множество моделей организации данных. В настоящее время в большей степени распространены две из них — иерархическая и реляционная. Для иерархической модели характерно наличие жестких (организующих) связей между отдельными наборами данных. Кроме хорошо знакомой всем фай- Впрочем, как и понятия ♦информация» и ♦данные», но это другая тема.
Как устроены базы данных и как они работают 31 ловой системы компьютера (рис. 1.1), она может встречаться в «интернетов- ских* или просто больших документах, которые можно найти, например, на компакт-дисках, в справочных системах больших программ и т.п. И в электронных библиотеках (рис. 1.2) она тоже встречается! Рис.1.1 Дерево папок компьютера организовано по иерархической модели Рис.1-2 Электронная библиотека Максима Мошкова (lib.ru) «структурирована» по иерархической модели
32 Г лава 1. Общие сведения о базахданных и электронных библиотеках В иерархической модели каждый набор данных может иметь только одного владельца и много подчиненных наборов. Связь между ним и определ яется запи- сями, содержащимися в самом наборе. Такая модель очень просто реализуется с помощью гиперссылок. Очевидным недостатком этой модели является относи- тельная сложность и трудоемкость настройки структурных переходов. Разра- ботчик должен явно прописывать логические цепочки и, при необходимости, «вручную» их корректировать. Тем не менее, для готового электронного доку- мента такая операция или крайне редка, или вообще не требуется. Поэтому ие- рархические электронные документы встречаются довольно часто. Особенно, если для их построения используется язык HTML (Hypertext Makeup Language — язык разметки гипертекста), а для отображения применяется встроенная в Windows программа просмотра Microsoft Internet Explorer. Язык HTML позволяет создавать очень компактные документы, которые, по сущест- ву, являются текстовыми файлами с добавлением указаний на способы форматирования строк. При создании тематических наборов документов малый размер смайлов HTML-документов может считаться существенным преимуществом. Однако для баз данных, подразумевающих обработку и изменение содержа- щейся в ней информации, а также поиск данных по совокупности самых разно- образных свойств, такая модель абсолютно не подходит. Почти все современные профессиональные базы данных (в том ч исле и Access) используют реляцион- ную модель. Согласно самому общему определению реляционной модели базы данных: П Вся информация в базе представляется в виде таблиц. □ Структура базы данных поддерживает три реляционных оператора, кото- рые могут выполняться с данным и из таблиц — выбор, проектирование и объединение. Фактически здесь применяются мощные методы из матема- тического аппарата теории множеств. С их помощью информация, содер- жащаяся в таблицах, может быть организована самыми разными способа- ми, а также отобрана по запросу. Операции обработки данных выполняют- ся без требования от системы физической записи получаемых с их помо- щью данных в каком-либо определенном виде. Простейшая база данных может состоять из одной таблицы. Но, на самом деле, база данных обычно образуется набором связанных таблиц. При этом все таблицы базы полностью равноправны. Между ними нет никакой иерархии. Од- нако, чем больше таблиц в базе, тем более сложную структуру она может иметь. Каждая таблица базы данных состоит из строк и столбцов (рис. 1.3). Как пра- вило, таблица описывает отдельную информационно значимую группу объек- тов. Такими группами в базе данных магазина могут быть могут быть, напри- мер: заказы, заказчики, товары, поставщики, клиенты и т.д. В базе данных электронной библиотеки это могут бы гь: документы, авторы, издательствам т.д. Каждая строка описывает конкретный объект. Для электронной библиотеки это конкретный файл документа, человек-автор документа или документов, со- держащихся в библиотеке, издательство (например, «Бином пресс*) и т.д. На- конец, каждый столбец таблицы описывает одно свойство (характеристику) конкретных объектов. Эч о может быть количество страниц в документе, фами- лия человека, город, в котором находится издательство, и т.д. На пересечении столбца и строки таблицы располагаются значения данных, которые и составля- ют элементарный «кирпичик* управляемого хранилища информации.
Как устроены базы данных и как они работают 33 Рис. 1.3 Каждая таблица базы данных состоит из столбцов и строк [стсл^ц таблицы База структурно организует данные, устанавливая и поддерживая связи ме- жду объектами-таблицами. Например, за любым документом, представленным в одной таблице, «закрепляется» определенный автор и издательство, представ- ленные в двух других таблицах. У каждого автора и издательства может быть много документов, которые с ним связаны. Предположим, что у издательства изменился контактный телефон. Тогда, если бы номер телефона хранился вместе с данными о документе, для обновле- ния данных в базе его пришлось бы менять по всей таблице документов, то есть там, где находятся документы, выпущенные этим издательством. А если хра- нить номер контактного телефона, как свойство, описывающее издательство, то достаточно изменить его только в таблице издательств (и только один раз!), а база данных, в которой установлена связь всех документов со своими издатель- ствами, «отыщет» для любого документа «свежий» контактный телефон по свя- зи таблиц документов и издательств. Аналогичная картина будет наблюдаться и с телефонными номерами авторов. То есть в современной базе данных достаточно обновить информацию только в одном месте — реляционная модель обеспечит ее согласованное «обновление» во всех остальных местах. Формализация модели данных — это математическая процедура. Поэтому она не может быть осуществлена без определенного языка, на котором пользова- тель в дальнейшем мог бы «разговаривать» с базой данных. Для реляционных баз данных таким языком является SQL (Structured Query Language — язык структурированных запросов). Язык SQL предназначен для управления реляционными базами данных, их обновления, а также для создания запросов на извлечение информации. В на- стоящее время, подавляющее число СУБД используют этот язык. В Access язык SQL использован в «неявном» виде. Все действия по управлению базой данных выполняются пользователем с помощью элементов интерфейса программы, ко- торые отвечают за «автоматическую запись» операторов SQL. Пользователь даже не должен задумываться о том, чтобы корректно и аккуратно записать опе- ратор SQL (порою, они могут быть очень длинными!). При этом в программе все гда можно отобразить окно, в котором в явном виде записан выполняемый опе- ратор (рис. 1.4). При необходимости пользователь может сам составлять или изменять операторы SQL, обратившись к этому окну. Кроме баз данных Access в программе Access можно создавать так называемые ♦проекты», кото- рые подключаются к базам данных Microsoft SQL Server — профессиональной СУБД, обладаю- щей широкими возможностями. 2 Access 2ПП7
34 Глава Общие сведения о базах данных и электронных библиотеках Рис. 1.4 Простой запрос в программе Access отображен в режиме SQL Язык SQLZ используемый в Access 2007 с небольшими исключениями соответству- ет стандарту ANSI-89 SQL Level 1. Подробнее об особенностях встроенного в Access 2007 языка можно узнать в справочной системе программы. База данных Access включает в себя не только таблицы с данными, но также набор сохраняемых вместе с ней объектов, предназначенных для ввода инфор- мации, ее просмотра, выборки и изменения. Внутри файла базы данных Access могут содержаться следующие созданные и поименованные разработчиком объекты: Таблицы, предназначенные для упорядоченного хранения данных. Дан- ные сохраняются один раз в одной таблице, но могут просматриваться из различных мест за счет того, что между таблицами устанавливаются специ- альные связи. Запросы, специально создаваемые для поиска и извлечения данных (за про- сы на выборку), выполнения вычислений, добавления таблиц и даже для удаления специально отобрайных данных (запросы на изменение). Запро- сы может создавать пользователь базы данных в соответствии с его по греб- ностями во время текущего сеанса работы. В любое время «удачные» запро- сы можно добавлять в файл базы данн ых. Также можно редактировать су- ществующие запросы. Запросы часто служат исходным материалом для создания на их основе форм и отчетов базы данных. Формы, предназначенные для удобного просмот ра, добавления и измене- ния данных, содержащихся в таблицах. Они помогают избежать ошибок ввода данных, вводить данные сразу в несколько таблиц. Формы могут со- держать кнопки, открывающие другие объекты базы данных, запускаю- щие печать отформатированных отчетов или автоматическое выполнение других задач и т.п. На формах может быть построен защищенный от оши- бок пользователя и удобный в работе интерфейс базы данных. Отчеты, которые используются для анализа и печати данных в заданном пользователем формате. Отчеты могут быть распечатаны в любой момент и будут содержать текущее состояние данных.
Что такое электронные библиотеки и для чего они применяются 35 Макросы, используемые для выполнения часто встречающегося набора макрокоманд, осуществляющих обработку данных. Макрос может быть «прикреплен» к кнопке, расположенной в форме, чтобы он выполнялся при щелчке этой кнопки, к самой базе данных, чтобы выполнялся при ее от- крытии и др. Модули, представляющие собой описание инструкций и процедур на языке VBA. Открыть файл базы данных Access можно с помощью разных программ, но «полноценно» работать со всеми ее данными и объектами можно только в программе Access. Что такое электронные библиотеки и для чего они применяются1 1 Электронные библиотеки (иногда говорят также «цифровые библиотеки») являются специфическим, относительно новым типом информационных баз данных. Они создаются на основе какой-либо программы управления базами данных (ее средствами обеспечивается электронный каталог и средства поиска), а также хранилища информации, которое создается на базе какой-либо опера- ционной системы и имеющихся аппаратных и программных средств. Кроме того, существуют реализации электронных библиотек на основе специально на- писанных для этой цели программ, а также «выстраиванием» файлов документов по иерархической модели организации данных. Электронные библиотеки отличаются от известных автоматизированных библиотечно-инфомационных систем, отслеживающих движение «бумажных томов» литературы в обычных библиотеках, прежде всего, тем, что их объекта- ми являются не бумажные, а электронные документы. Поэтому они не связаны стандартами библиотечного дела, вопросами учета материальных ценностей, их относительно несложно создавать, объединять, копировать и применять. Основные отличия электронных библиотек от обычных могут быть описаны следующим: Различными носителями информации, которые определяют различия в типе информации, ее составе (в цифровых библиотеках на универсальных носителях могут содержаться тексты, иллюстрации, аудио и видеомате- риалы. программы, проекты, результаты научных измерений, рентгено- граммы и т.д. и т.п.). Формами организации (обычная библиотека обязательно является юриди- ческим. хозяйственным субъектом или подразделением). Способом формирования и эксплуатации (электронную библиотеку может создать и содержать всего лишь один пользователь компьютера). 1 Данный раздел содержит краткий обзор электронных библиотек. Его материал не имеет непо- средственного отношения к программе Access 2007.
36 Глава 1 Общие сведения о базах данных и электронных библиотеках Различными правами собственности на электронную информацию (элек- тронная библиотека, в принципе, может содержать только ссылки на ис- точники, не претендуя на право обладания информацией). * Оперативностью поиска информации и средствами работы с ней (в элек- тронных библиотеках оперативность выше, а средства для работы значи- тельно шире). В отличие от, образно говоря, «хаотичного» Интернета, у коллекций доку- ментов цифровых библиотек всегда имеются владельцы. Это могут быть: любители-энтузиасты; образовательные (рис. 1.5), академ ические и научно-исследовательские ор- ганизации или учреждения; музеи и библиотеки; общественные организации: частные, коммерческие компании и др. Рис. 1.5 Домашняя страница библиотеки Университета Южной Каролины Этот список может быть продолжен. Но важно подчеркнуть другое: электронные библиотеки. за= рождаясь, в определенном смысле, на опыте обычных библиотек, сейчас дополняют их, расши- ряя функции и нформациооного обеспечения. Цифровые библиотеки выглядят более «гармонич- но» в современном обществе.
Что такое электронные библиотеки и для чего они применяются 37 Фонды электронных библиотек могут формироваться одним из следующих способов: Стихийно (такова, например, электронная библиотека Максима Мошкова, см. рис. 1.2). Она развивается благодаря деятельности добровольцев, кото- рые бесплатно набирают или сканируют тексты, а затем присылают их вла- дельцам библиотеки. Авторски, то есть в соответствии с личными вкусами и пристрастиями со- ставителей (это большинство любительских «тематических» библиотек, которые можно найти в Интернете). Планомерно, то есть на основе продуманной концепции отбора документов и в соответствии с программой их публикации, учебными программами или программами научных исследований (например, «Русская виртуаль- ная библиотека» (рис. 1.6), учебные или профессиональные библиотеки в вузах и научных организациях). Рис.1.6 Домашняя страница Русской виртуальной библиотеки Существует три основных способа доступа пользователей к документам, со- держащимся в электронной библиотеке: свободный доступ (любой пользователь может бесплатно пользоваться ус- лугами и материалами электронной библиотеки); ограниченный доступ (например, только с определенных компьютеров или под парольной защитой); платный доступ.
38 Глава 1. Общие сведения о базах данных и электронных библиотеках Можно разделить библиотеки также по источникам финансирования. Необ- ходимо отдельно рассматривать затраты на их создание и функционирование. Фундаментальные электронные библиотеки могут быть очень дороги, а учебные или любительские — практически бесплатны. Например, бюджет Националь- ной цифровой библиотеки США в 1996-2000 годах составлял 60 млн. долларов (среди спонсоров этой электронной библиотеки — Конгресс США, а также многочисленные коммерческие компании и благотворительные фонды). Малые и средние электронные библиотеки, использующиеся в учебных це- лях, финансируются и управляются за счет имеющихся ресурсов: из внутренне- го бюджета учебного учреждения или из его коммерческой деятельности. Некоторые, уже созданные, библиотеки имеют проблемы с постоянным фи- нансированием. Примером может служить Научная электронная библиотека зарубежной периодики (elibrary.ru), имеющая большую популярность среди отечественных ученых (рис. 1.7). Очевидно, что на базе такой библиотеки могли бы быть сформированы научные периодические журналы нового типа. Рис. 1.7 Домашняя страница Научной электронной библиотеки зарубежной периодики
Что такое электронные библиотеки и для чего ониприменяются 39 Можно добавить еще несколько примеров электронных библиотек различ- ных типов: Фундаментальная электронная библиотека ♦Русская литература и фольк- лор» (ФЭБ). Она открылась для пользователей 1 июля 2002 года (feb-web.ru). Ее спонсорами являются ведущие российские научные учреж- дения, общественные фонды и коммерческие организации. Библиотека со- держит точно воспроизведенные академические издания собраний сочине- ний русских классиков и фольклора (рис. 1.8). ГЬжси, а* « .Фундом *й14льшм 1пем1№^гн«мбм»л*игЕк<* Рутном ж гературл* фильК'Чр*" Мб г<кЬО Еп|епм?1 Exptorw *еЬ-«уеЬ.1ц/ Л ФУНДАМЕНТАЛЬНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА" Ш РУССКАЯ ЛИТЕРАТУРА И ФОЛЬКЛОР ЭБ ьПгрыГ. 1 ЧИП • 2002 1>1$Я^1Ш^0рМй15»Я Новости j О проекте j Фонд «ФЭБ» | Помощь | Контакты | Гостам а Ссылка дня ftulkwtfa. Фпязя а чйсжийсай* .'чФм^ы русской гмтдот'урь! Тартускор 4 - <• <• . г 1>х' университет» jri днивьиСТФ f^marwremrttO гадательсгвв uutMris»;>v подробнее* •ngjlih varuon* посп«дн«« о6ноал«мя« 1? «н»«ря ДОГ? год. Что гаков ФЭБ Фундште»гталькая злектоомная библиотека Туеска* гмтеретура и фольклогГ (ФЭ6) - погтютексгоеая »ыформахгкпыая civ г(ч»4 по пронэеедетжая русской ешмкнкти. библиограф**!, научный иа гмдемиыян м •ктор»*:о-биогрвф»1ческ^н рвботвн. Осмовж» содержание ч>ЭВ лоещствеляется в тлактоо»** к научнк изданиях £31т»4\ каждое из которых поевлиено отдельному автору (Пушкин, Перномтос ж««у (былялы, гасни,...)илипрошведтвжю(Хловос полкуИгореал" ..). Оаэбе^нсггн вэб: точность поедставпакид и опнеаник информация октвтессть фармлроеани развитые Средстве шеи ж1ии и поиска. 1ЛГ«р -ГФ» и фвлъклот Xi-XVUe* IXVUIb IXTXMXXe IФольклор- 1 Цитата дня Рвшяшдо* 4UWV5J3M ₽зы?«с*и*»ад?а Ji (Гри6с«яо> Д. € Твря ВТ у*»л - Йн H«yK»*lTW . Пушон I Бв'тгашков j Г рибоедов | борвтьиосий | Тютчев | Лврнхгое t Гомчарсе | Пев 5 опт той Чехов | Есенин 1 Шолохов | Слово о полку Иг орем [ Бы/ы<м I Ск«жн 1 Жмт*ч протопопе Аввдеуна ( .дыдоздыр разделы Наука Словари, зкиь.лопедзы I Каталог ссылок Рвгяпава | ГИтдотурмая энциклопедия I Сппмоь литературных тернжое I юрпокговская зшмх поле дня 3» шкгопедия “Слове о полку Игареее41 Новости ФЭБ 17.01 2007: 1 В разделе «Словари, эмцмиюпедмо* *36 открыто новое ЭМИ «Толковый словарь Ушакова» «Толковый спеварь русского тыка» в 4-х тс*их вышел под редакцией Л Н. Ушакова в 1934—1940 гг Словарь юент мерматммшй 'Доктер и на претендует на полный охвап всех слое- «кажи оуожсго яздеа однако я пгмке коррегтъостч дефмьешнй и по сей де*в> остается лучшим то • кsetк словарей русского «зеке, нювмснки.» тдово'-мнкоя при работе с тек: rat*i XIX — первой полое***. XX в В настоамее аренд в Xi представлены первые два тона -«варя (более 44 тысяч статей) Реализован пыхмчеехмй поиск в nat»*ix текстах статен и отдельно в зонах толкссаннй н лдоароо. Поеду» огр* г т зкже атрнбу»**Д поиск по мголсеоччьы с«1ван и по пврамтра «часть речи». 2. В ЭЧ4 «Лев Толстой»* опублгвеаио издание Ромам Л. Н Толстого «воскресение»: Иггшьвсо функци лнальиос исследовазые (М.: Наука, 1991) — асегп около200 с, 3 В ЭНИ ИТуажин» опуб' нмвлчы изджыч: Путеводитель по Пушкину (Г ; И.: Гос. мзд-во худо», iw 1931): ГукаястийГ Л Луымв-i игахзбмны ревяисгичеаи>~0 сгняя (М -.Гослитиздат, 1957); ГукоккийГ. А. Пуаымм и русски* романтивм (м.; Худпш. лит., 1965) — всего бог«в 110D с. 4. В ЭНИ (Известия АН» спу’емкомкы *рн* XXVHI, 36 и 39 пврмодичйсг"^» «Известия Акеде»ын Рис.1.6 Домашняя страница фундаментальной электронной библиотеки «Русская литература и фольклор» (ФЭБ) Собрания электронных диссертаций (в США, Германии, Франции, России и др. странах). У нас эта библиотека формируется на основе фонда Российской Государственной библиотеки: с определенного времени автореферат диссерта- ции должен поступать на хранение в РГБ в электронном виде. Адреса: http: / /www с umi. com/hp/ Support/Dservices; http://alcme.oclc.org:4342/ndltd/AuthLinkahtml; http://www.sudoc.abes.fr; http: / / www. univm Iv. f r; http: //www’. library л i nsw. edu. au/thesis/thesis, html и http://www.dissonline.de.
40 Глава 1. Общие сведения о базах данных и электронных библиотеках В качестве примера создания коллекций электронных учебных материалов можно привести примеры из опыта работы ведущих российских вузов. На- пример, в Уральском Государственном университете был реализован про- ект, цель которого формулировалась следующим образом: студент универ- ситета должен иметь возможность в начале учебного годя получить на руки компакт-диск, на котором представлен ы все материалы, необходимые для изучения определенного курса, а именно: учебники, методические посо- бия, хрестоматии, научные монографии, статьи из периодики. Объем мате- риалов для одного курса подбирался преподавателями и оценивался при- близительно в 15 тыс. страниц формата PDF. В 2003 году в течении летних каникул силами студентов вуза были подготовлены материалы для двух учебных курсов: «История отечественной журналистики» и «Введение в литературоведение». Ежегодно эти два курса изучало около 1400 студен- тов пяти специальностей на трех факультетах университета. Дефицит литературы для этих учебных курсов в библиотеке университета был максимален. Для первого названного курса было отсканировано 44 книги ш и 16 статей, для второго — 38 книг. Однако до сих пор достаточно сложной проблемой, тормозящей развитие и широкое использовайие электронных библиотек, является отставание их пра- вовой и организационной базы. В сфере электронных библиотек переплетаются интересы трех субъектов: авторов документов, их владельцев и потребителей информации. С переходом к информационному обществу проблемы, возникаю- щие между этими субъектами, значительно усложнились. А решить их пока удается только в отдельных вопросах. Если говорить более конкретно, то нерешенной проблемой в функционирую- щих электронных библиотеках является, в первую очередь, авторское право. Существующее законодательство фактически требует от владельцев электрон- ных библиотек выполнения издательских фуи кций, то есть заключен ия пись- менных договоров с обладателями авторских прав на произведения, размещае- мые в библиотеках. Эту роль публичные электронные библиотеки выполнить практически не могут — им не хватит ни финансовых, ни технических возмож- ностей. Существует модель коллективного управления правами, но она пригодна в основном для коммерческих библиотек, предоставляющих платный доступ к своим фондам. Если библиотеки создаются для личного использования или для внутреннего применения в организации (например, с целью применения в учебном процессе вуза), а также основываются на собственных информационных ресурсах, про- блемы регламентирования использования документов может и не возникать. Заинтересованные стороны находятся в непосредст венном контакте, и при их согласии все вопросы могут быть решены внутренними договоренностями. Но при размещении электронной библиотеки в Интернете (или даже в локальной сети) учесть интересы авторов документов может оказаться довольно трудно. Один из подходов, который представляется в настоящее время, наиболее пер- спективным, — это приобретение прав на некоммерческое использование про- изведений в публичных электронных библиотеках государством или некоммер- ческими фондами, участвующими в финансировании создания произведений. Этот подход широко используется за рубежом, особенно применительно к науч но-образовательным источникам. Однако в нынешних условиях возможно при- обретение таких пряв только на часть социально значимой информации. Тем не менее, развитие этого подхода следует рассматривать, как на иболее перспективный путь урегулирования правовых проблем.
Что такое электронные библиотеки и для чего они применяются 41 Еще одна важная проблема, даже к осознанию которой общество только при- ступает, — это обеспечение сохранности цифрового культурного наследия. Дей- ствительно, высокая динамика и массовый характер создания электронных ин- формационных ресурсов, особенно в Интернете, приводит не только к появле- нию, но и к быстрому исчезновению множества ценных и социально значимых источников. По оценке специалистов, средняя «продолжительность жизни» Интернет-ресурсов не превышает двух лет. Эта проблема пока еще была только рассмотрена ЮНЕСКО, которая приняла хартию «О сохранности цифрового на- следия*. Документ подписан и Россией, однако никаких практических шагов в этом направлении пока еще сделано не было. Все теоретические и практические вопросы развития электронных библио- тек в нашей стране, в той или иной мере, рассматриваются и обсуждаются в рам- ках информационного портала (рис. 1.9) «Российские электронные библиотеки* (elbib.ru). Рис. 1.9 Домашняя страница информационного портала «Российские электронные библиотеки»
42 Глава 1. Общие сведения о базах данных и электронных библиотеках Форматы файлов электронных документов Существует огромное количество форматов файлов электронных докумен- тов, и их выбор для единицы хранения в электронной библиотеке может ока- заться не таким простым вопросом, как может показаться на первый взгляд. Возможны два различных подхода: Документ поступает на хранение в том виде, в котором он был получен владельцем электронной библиотеки (это разумно, если передача докумен- тов осуществлялась официально от его автора или владельца). Таким обра- зом обеспечивается отсутствие какой-либо потери информации в процессе & хранения, но такой вариант может потребовать дополнительный затрат при выборе документа и просмотре его содержания. Перед поступлением на хранение документы приводятся к единообразно’ * му виду (типу файлов), ч го потребует дополнительных затрат. При этом вы- бирается определенная программа (программы), используемые для ото- бражения документа. Это удобно, например, в учебных библиотеках, где важно обеспечить одинаковое (в первую очередь, по «качеству*) отображение текстов на экранах, с которых они будут читаться. Где хранить документы? I----------------------------------------- В Access 2007для хранения документов внутри базы данных могут использоваться поля типа Вложение. Для указания внешнего места расположения документов используются поля типа Гиперссылка. «Промежуточным» вариантом является Поле объекта OLE, где может содержаться как сам документ, так и его связь (но сама технология OLE предназначена для работы с файлами, их редактирования, а не для их хранения). Внутреннее хранение, в определенной мере, гарантирует сохранность документов, но ограничивает общим размер «хранилища» размером файла базы данных Access . Внешнее хранение практически не ограничивает об- щего объема библиотеки, но требует обеспечения специальных мер по их сохран- ности (например, можно использовать оптические диски, файлы на которые «ис- портить» нельзя). В настоящее время наиболее распространенными и приемлемыми для ис- пользования в электронных библиотеках являются следующие форматы файлов документов: Обычный текст («Text only», .txt). Этот формат пригоден для передачи только содержимого документа. До сих пор он используется во многих ба- зах данных текстовых документов. Благодаря компактности формата даже 1 Очевидными «кандидатами» на эту роль могут быть программы Microsoft Internet Explorer и Adobe Acrobat Reader. Тем не менее, такой вариант выбирается достаточно часто. Например, разработанный ЗАО «Глас- нет» тройной компакт-диск «Большая советская энциклопедия», выпущенный в 2003 году, по- строен на основе трех файлов базы данных Access с внедренными документами. В файлах, общим объемом около 2 Гбайт, поместились тридцать томов (содержащих свыше 95 000 статей, почти 30 000 иллюстраций, более 500 цветных карт).
I Фооматы файлов электронных документов I очень большой документ можно «запихнуть* внутрь одной из ячеек табли- цы. Допускает копирование текста. Но в дальнейшем с ним трудно работать в текстовых редакторах, поддерживающих форматирование. Формат, с оп- ределенными оговорками, пригоден для просмотра, чтения и распечатки текстов (рис. 1.10). Рис. 1.10 Текстовый документ Формат HTML (Mml, Мт), «гипертекст». Этот формат имеет относи- тельно «бедную» разметку, передающую только отдельные особенности форматирования текста, а также способы отображение рисунков. Он ис- пользуется в веб-доку ментах и в большом количестве «интернетовских» электронных библиотек. С помощью гиперссылок, которые можно добав- лять к тексту документа, часто создают достаточно объемные (структури- рованные) документы (рис. 1.11). Этот формат удобен для просмотра доку- мента на экрана компьютера, но при копировании фрагментов, а также при печати, могут возникнуть те же проблемы, что и с форматом «Text only». Возможно использование этого формата для приведения всех документов к «единому виду» на экране компьютера. Формат PDF. Этот формат (иногда его называют «факсимильным») с высо- кой точностью воспроизводит как форматированный текст, так и графиче- ские изображения (рис. 1.12). Он удобен для просмотра документа на экра- не компьютера, дает распечатки высокого качества, позволяет защитить документ от копирования. Однако файлы этого формата имеют относитель- но большие размеры. Аналогичными свойствами обладает относительно новый формат XPS (XML Paper Specification). Форматы изображений (.tiff. .gif, .jpeg и др.). Они обеспечивают точную пе- редачу внешнего вида документа, но не позволяют редактировать текст. Видео- и аудио-форматы (.mov, .mpeg, .mpg, .avi, .wmv, .mp3, .wav и др.). Форматы документов программ пакета Microsoft Office.
44 Глава к Общир сведения о базах данных и электронных библиотеках г И.И. ИВАНОВ. д.ю.и.. профессор Ы2 ? Методы м техмг^смме сред<4 «4 т^моженмго дооидтн * mwo Microsoft letemei Exatoter fel--------------- ф^йл Пр*»*» £И0 эСр*4*>е сере» Сг^мкв “ » г Mow кяяпыс ер. Рис.1.11 Документ в формате HTML Учебное пособие СОДЕРЖАНИЕ 3 h .Ьдш описаны ляп урнмы дана uY И^«Ш1 «t.‘.'_!..♦,.•• -- -?д»| $UJ«W«T 5V* ?*oow*o> #?> jH :-':3* / ? /• г;' k •! J -<; :• •:. ? I1 Рис. 1.12 Документ в формате PDF обЬ йея Wirtdow -«»• /М^оЬм*- ДмЯм ГМлшдимк 2 Г ИИ КСШ^ I!5ЫМ вЛКХ тахнА «Л *»ГмйМ ч*£Ша? '10П< t “ F- Ц^— Ч1г;р аий«А -ш Irt «иртвавИ MTjwsfw •Игвжп **<!«♦. •*» tl f Ми4аг -»и'ММя '•fc- rni WaMlW IP И l^'BfBliliBli аЛгаЛ|в <Им—141,1» У*««М (HI. ым«А «с«мтинн • tail* -ii N»-iiTC Ы u ! !• tu M idT u :* ' » 1!.*U *.1«4 ’.OHO “Klltu к>МЕМ<МИ |11..|<Ю!Ь.а -1 IMWIUWfllacbrtnl fanOlTIMHUniii aMimaitw* Иш«» шишшмн тияижн Мятр>и Лип в Мяч 1М>лг«<ивЛ Нажшваиасшаетнкаич
Форматы файлов электронных документов 45 Специальные форматы. Они разрабатываются вместе с программным обес- печением, позволяющим проводить специфическую обработку докумен- тов. Чтобы оценить размеры текстовых документов, сохраненных в различных форматах, можно сравнить данные, приведенные в таблице 1.1. Таблица 1.1. Размер файла одного и того же документа, сохраненного в различных форматах Формат файла Размер файла, кбайт Размер, в % от исходного Приложение для работы с файлом PDF 632 100 Adobe Acrobat Reader DOC 248 39 Microsoft Office Word RTF 107 17 Microsoft Office Word, Microsoft WordPad HTML 154 25 Microsoft Internet Explorer и др. 1 TXT 80 13 Блокнот и др. Видно, что размеры файлов существенно (почти на порядок) различаются. Следовательно, с помощью выбора формата, можно экономить место, но нельзя не подчеркнуть, что нет запрета на использование в одной и той же библиотеке разных форматов файлов. А окончательный выбор зависит от создателя библио- теки.
Глава 2 Планирование баз данных Без какого-либо преувеличения можно сказать» что планирование базы дан- ных — очень ответственный и важный процесс. Перед началом работы необхо- димо иметь как можно более подробный план базы данных. Совершенно очевид- но, что это поможет сэкономить силы и время ее разработчику. Однако в практике программирования (и не только баз данных) часто бывает так, что разработчик, дойдя до середины, бросает сделанное и начинает всю ра- боту заново. Это естественный процесс, и связан он может быть с одной простой причиной — заранее не были продуманы (или были неизвестны) конкретные шаги и действия. В физике и математике это называется «постановка задачи». Ей часто уделяется не меньше внимания, чем самому процессу решения. Исход- ные условия и желаемый результат должны «вписываться» в известные зако- ны, математический аппарат и доступные способы достижения поставленной цели. Решение начать все заново означает, чаще всего, не ошибки, допущенные разработчиком, а изменения в постановке задачи. В программе Access в вашем распоряжении имеются несколько способов соз- дания базы данных. Вы можете делать это полностью самостоятельно, как гово- рят, «вручную» или «с нуля». Можете воспользоваться встроенными шаблона- ми для построения структуры базы, а затем наполнить ее данными. Также вы можете взять за основу «чужую >, созданную другим разработчиком, базу, а за- тем модифицировать ее. Какой путь вы выберите для себя, зависит, главным об- разом, от вашего предпочтения и опыта. Если начинать с уже имеющейся базы данных (или с шаблона), вам дополни- тельно придется подробно изучить ее структуру, сравнить ее с тем, что вы хотите создать, а также запланировать конкретные шаги по ее модернизации. В сумме эта работа может оказаться не легче и не быстрее, чем создание той же базы дан- ных «с нуля». Главным образом, этот способ может быть предпочтительным при недостатке опыта, или если найденный шаблон для вас вполне удовлетворите- лен. Однако всегда гораздо более ценного результата можно достигнуть при ра- боте с самого начала «вручную». Если недостаточно встроенных в Access шаблонов, можно поискать что-нибудь бо- лее подходящее в Интернете. Но при этом не следует забывать важное правило: шаблонами из непроверенных источников пользоваться не рекомендуется из-за повышенной опасности заражения компьютера вирусами.
48 Глава 2. Планирование баз данных Таблицы — основа реляционной базы данных Таблица (рис. 2.1) — это объект базы данных, в котором данные сохраняются в виде записей (строк) и полей (столбцов). Каждый элемент данных содержится в отдельной ячейке, на пересечении записи и поля. В одной таблице обычно со- держатся данные, относящиеся к определенному объекту* например, автору, хсниге, издательству и т.д. Рис. 2.1 Таблица Авторы базы данных Электронная библиотека 2007, в которой выделены: завись 7 (вверху) и поле Фамилия (внизу) * _ ДО»: ' L; - - — - - —гт—’ £ 4 б*» _ гиН». п.й.ддоч** • 4* ’ » *1 <П J.L. • Л 1 ав Аинмнмв Jhr*M F^aSi** а|таГ111 ТТН 3 вв Лманнг Виктор Витальевич 51г Ролъск, а?я 2?5 Л вв вереею j Вячеслав В» нпьешгг э|чероз СмвфномАА 4 . _л ИИ Гончарский Иван Иванович Г.ЬвгцЙтл^ ги . ' х _ с г ГТ Ровот • ГуПЯе» Давыдова Тениям, in 1ймфоррви’ . _2 и Гатом Павляяи SjduvytJcrvaju в НС Да» илов Николой Гергееяцу 1 4 danik)@mai ги П 10 FT Дреес-м» .Роман 4ч 1 втел 111-11 12 F 11 ГА Дутдосквй ! Герма» Алекследро^ ©ЗЕгоужеиет. ~~ 12 И U Егоров Иван Михай ювич фОнкалеясФмннездеимае'гя I 13 ВЛ Жепезод Виктор Андреев и ч ФТерешел в другую оранизац»® 14 ЮА Члчигшшмм К>РИЙ Андреевич 4, zaztngOmaj ш Л < 15 СС З^а -Семен Семенович . ©Izvfiynercornfu 16 ВВ Иванов Валерий Владимиров. 51 Персии iri в другую ир>т»«сжра мзмеж и не загамаетсг уляеваНН г* л 17 и.о Истомин №ан Олегович 9^ Он не г 16 ЕЛ Казакова ^катерм ацдорн»» 71ч^р<пГ i 1” 1S Г *7 ил к »’ ‘ 4.сн<иим iW&* L идит™рая1 як—•: л _^е№ уг. а/я 276 _ - • - • -W • - w* V .• . * Г X к - ма. &: >> J ♦ < .«J -Ц-. ! Л. ’ Им» Ор^с пс 1 * * . ♦- 1|иГ ' Лож и К ГГлгеноаач ?Ч"рел Г»плева КН ДД.В Aneti*wV />ы»м Him.; j(X*u згтеу ik-it-ii -FP Аманян Витальевич iff Рольг< 9/в Вячеслав Васильевич Знамч, Гом%<',кии (Иван Иванович ? пагЛглаК га J? л п — 1М*«Й Львовна J Москва уЧР^»е»«а,<241 • • 4 R Яямцамни ? Ч **ei Гуляева Н Н II Е ИЬыгел* Гапм Павловна Я Нжсплй Сдоту’ич 4jdan*,J l«XL2 В Й-12 Г 4 Джтких Игнатьевич » теп IV Г А Герман не* мт мм м не чж«ч»»етср • 11 Aneicqi^tfKB) о 1? ИМ 'Н‘ХЧИ- 4Иааг* Оинаи 1^В А Хслехм !Р-жтоо . ж ВМПл “ — ' Андреевич & Перевил в другую чфга*зац>» V j в zazTiipearnaiHL 1&С.С. ЦшЕВ l.s-ewei 1>менович C.i</<&n-ercpni га 16ВВ — _ УЧИ " vT»rJ « 171И О * »•«> 'iBfiH С " )8гч IQfcjrar енсми и не занимается ffi'i а в*— W ksxx_ r — ы м '‘Илл. »' fib ” ~ t— 1 _ 1 1 f **Н£М| V’ S и • г Голы года • KiiV <8 * ? г* 'важ х й W г Ропы •. K'n-’F • LUcMiH i. -S4ju 4 *, 0 •' w-ч ><•*»•»* 1 "оме. 4 L Г Что такое поле? Много объектов в Windows и Access называются полями. Это связано с тем, что, как и все программы Microsoft Office, Access 2007 насыщена элементами управления. Поле (иногда также «текстовое поле»), как элемент управления, предназначено для отображения или ввода данных. В базах данных поля — это столбцы в табли- цах, зарезервированные для данных определенного типа
Таблицы — основа реляционной базы данных 49 В базе данных Access таблица выглядит достаточно эстетично и похожа на обычную таблицу, которую можно увидеть в книге, журнале или на сайте в Ин- тернете, Но, если внешне она и не отличается от этих таблиц, то ее внутренняя, скрытая от поверхностного взгляда, структура, совсем не проста. Таблица, ее поля и записи имеют свои свойства, правила заполнения и обработки данных, элементы управления и связи, которые, как и любой СУБД, положено поддерживать программе Access. Таблица в Access может представляться в различных режимах, два из кото- рых — Режим таблицы и Конструктор — предназначены для создания и на- стройки таблиц. В режиме таблицы (см. рис. 2.1) удобно вводить данные и про- сматривать таблицу, а режим конструктора (рис. 2.2) предназначен для на- стройки свойств таблицы (переключение между режимами можно осуществлять несколькими способами, например, с помощью кнопок, расположенных в правом углу строки состояния программы Access 200 7). Рис. 2.2 Та же таблица, что и на рис. 2.1, но отображенная в режиме конструктора Два других режима — Сводная таблица и Сводная диаграмма — предназна чены для представления данных, содержащихся в таблице, и их анализа. В Access новые таблицы можно создавать различными способами: в режиме конструктора, задавая названия и свойства полей (см - рис. 2.2), с помощью шаб- лонов, а также путем ввода данных в пустой бланк таблицы (в режиме таблицы). Таблицы можно также копировать и импортировать из других баз данных. Можно также связывать существующую базу данных с «чужими» таблицами из других баз данных.
50 Глава 2. Планирование баз данных Непосредственно вводить данные с клавиатуры в режиме таблицы можно только в одну выделенную ячейку (выделенное поле текущей записи) или в ячейку, в которой в данный момент находится курсор ввода. Обычными дейст- виями с помощью клавиатуры можно удалять не только выделенные данные в ячейках, но также выделенные поля и записи. Также обычным способом с по- мощью контекстного меню, вызываемого щелчком правой кнопки мыши, мож- но добавлять, удалять и переименовывать столбцы (поля). Однако при проведе- нии таких действий нужно соблюдать особую осторожность, чтобы не нарушить структуру базы данных. Ввод данных в таблицу I---------------------•----------------------------------------- Обычно для ввода данных в базу Access используют формы. Вы вводите данные в поля формы, a Access переносит их в таблицу. Форма может быть присоединена сразу к нескольким таблицам и не включать все поля из каждой таблицы. Можно определить свойства формы, разрешающие или запрещающие пользователям до- бавлять, удалять или изменять выводящиеся в ней записи. Можно также добавить в форму элементы управления и специальный файл справки, информирующий пользователя о способах работы с ней. В Access 2007 введен новый тип формы, ко- торый создается с помощью мастера — разделенная форма. Разделенную форму очень удобно использовать для ввода данных в отдельную таблицу (запрос). Типы данных В режиме конструктора таблицы рабочее поле разделено на три части (см. рис. 2.2). В верхней части содержится список полей, содержащий их имена, тип данных и описание (необязательно). Обратите внимание на то, что здесь поле представляется строкой (а не столбцом, как в режиме таблицы). Слева внизу расположены вкладки со свойствами выделенного в верхней части поля. На рис. 2.2 выделено поле ИО, в котором содержатся инициалы авторов, а на вкладке Общие внизу отображены его основные свойства. Следует заметить, что в зависимости от типа данных полей и свойства полей, и содержание вкладок за- метно различаются. Справа внизу дается краткая справка для выбранного свой- ства поля. На рис. 2.2 можно видеть формальное указание о том, что свойство Размер поля — это «Максимал ьное число знаков для ввода в эти поле». Тип данных поля можно задать в режиме конструктора. Для того чтобы это • сделать, щелкните ячейку в столбце Тил данных для какого-н ибудь поля. В ней появится кнопка со стрелкой, направленной вниз, с помощью которой можно открыть меню выбора типа данных (рис. 2.3). Щелкните в меню строку с вы- бранным типом данных, и он будет задан выбранному полю- При вводе данных непосредственно в пустую ячейку новой таблицы Access 2007 «автоматически» определяет их тип и задает соответствующее свойство поля. За- тем при необходимости тип данных можно изменить. Если вы сделали ошибку, и тип поля был определен некорректно, при вводе последующего значение появится пре- дупреждающее сообщение, и будут предложены варианты исправления ситуации (рис. 2.4).
Таблицы •— основа реляционной базы,данных 51 Рис. 2.3 Тип данных и другие свойства полей задаются в оежиме конструктора Рис. 2.4 Тип данных был установлен некорректно? Сделайте преобразование типа данных или введите другое значение Для таблиц Access 2007 поддерживаются следующие типы данных полей: Текстовый. Этот тип данных используется для хранения текстовой инфор- мации (названия, имена, адреса и др.), а также для числовых данных, не использующихся в вычислениях (номеров телефонов, почтовых индексов, кодов продукции и т.п.). Максимально в нем может содержаться до 255 зна- ков. Изменить размер текстового поля можно с помошью свойства Размер поля, задав в его ячейке подходящее значение. Текстовые данные можно преобразовывать с помощью специальных функций. Поле МЕМО. Используется для текста, длина которого больше, чем 255 символов. В полях этого типа можно хранить, например, длинные за- мечания, описания, текстовые документы. Кроме того, начиная с Access 2007, поля этого типа могут поддерживать форматированный текст. Здесь используется формат RTF. который сохраняет основные пара- метры текста, доступные, например, в Office Word. Размер поля МЕМО — до 2 Гбайт (2 байта на символ). Можно отобразить 65 535 форматированных символов. Так же, как и в текстовых полях, данные этого типа можно пре- образовывать с помощью функций. В текстовых полях и полях МЕМО сохраняются только введенные символы, пробе- лы в неиспользованных позициях игнорируются. При сортировке и группировке этих полем учитываются первые 255 знаков.
52 Глава 2. Планирование баз данных Числовой. Эти поля используются для хранения числовых данных, кото- рые могут использоваться в математических вычислениях, в том числе, требующих высокой точности (за исключением денежных расчетов). На вкладках свойств поля Общие и Подстановка можно задавать параметры поля, среди которых: Размер поля, Формат поля. Число десятичных зна- ков и др. Например, в поле с установленным размером Байт допускается ввод только целых чисел от О до 25 5 без десятичных знаков. Размер поля со- • ставляет 1, 2,4, или 8 байт (или 16 байт, когда поле используется для кодов репликации). Дата/время. Этот тип данных используется для хранения значений даты и времени. Выбор конкретного формата даты или времени устанавливается в свойстве Формат поля. Например, если установлено значение Полный формат даты, данные в таблице будут отображаться как «06.01.2004 12:59:34». Выделение отдельного типа для дат и вре иени связано с невоз- можностью корректной сортировки этих данных, если они содержатся в по- лях других типов. Любое значение, сохраненное в этом поле, включает в себя и дату, и время. Размер поля 8 байт. Денежный. Денежный тип данных .используют для предотвращения округ- ления значений при проведении вычислений. В денежных полях обеспечи- вается 15 знаков слева от десятичной запятой и 4 знака справа. По умолча- нию при отображении данных этого типа Access 2007 добавляет к значени- ям значок национальной валюты, заданной в установках Windows. Размер поля составляет 8 байт. Пользовательские форматы i - —- Вы можете задавать собственные форматы дат. времени, числовых (денежных) и логических полей. Например, формат «\mmm\yyyy» задает отображение даты в таком виде: янв 2004 Счетчик. Этот тип данных предназначен для автоматической вставки уни- кальных последовательных (увеличивающихся на 1) или случайных чисел в качестве номеров записей. Номер, присвоенный записи, не может быть удален или изменен. Поля с этим типом данных используются в качестве ключевых полей таблиц. Размер поля 4 байта или 16 байт, когда оно ис- пользуется для кода репликации. Счетчик может принимать также значения кодов репликации GUID (глобальные уникальные идентификаторы). Они используются при создании синхронизируе- мых реплик (копии) базы данных. 1— — — - — --------------------------------------- . _ _ ...।-f------- _ _ Логический. Данные этого типа могут принимать только одно из двух зна- чений, таких как «Да/Нет», «Истина/Ложь», «Вкл./Выкл.», Значения Null не допускаются. Размер поля составляет 1 бит.
Таблицы — основа реляционной базы данных 53 Что такое Null? В базах данных Null — это специально введенное значение, которое заносится в поля таблицы или используется в выражениях и запросах для указания отсутствия данных (например, Null может означать, что цена новой книги пока неизвестна). При просмотре данных поля, которое содержит как значения Null, так и пустые строки, ячейки будут выглядеть одинаково — в них не будет никаких символов. Зна- чение Null — не одно и то же, что обычный ноль или пробел. Оно закрывает логиче- ские «пустоты» в таблицах. I _ ' - - ______ - - — — 1 ---- , __________I Поле объекта OLE. Оно содержит данные, созданные в других программах, поддерживающих технологию OLE. Это могут быть, например, документы Office Word, электронные таблицы Office Excel, слайды Office PowerPoint и др. Объекты OLE могут быть связаны с базой данных Access или внедрены в нее. Сортировать, группировать и индексировать поля объектов OLE нельзя. Размер поля объекта OLE может достигать 1 Гбайт. Технология OLE Технология OLE (Object Linking and Embedding — Связывание и внедрение объек- то в) — способ обмена и совместного использования документов программами по- средством вставки объекта, созданного в одной программе, в документ, созданный другой программой. Связанный объект остается в исходном файле, а его данные в другой программе автоматически обновляются пои их изменении в исходном файле. Если требуется изменить связанные данные в новой программе, на экране появятся инструментальные средства той программы, в которой они были созданы Механизм внедрения также позволяет изменять внедренные данные с помощью ин- струментальных средств программы, в которой они были созданы. В отличии от свя- зывания, при внедрении данных из одного документа в другой связь между доку- ментами не устанавливается. Это означает, что изменения данных в исходном до- кументе не отображаются автоматически в новом документе. * Гиперссылка. Это специальный тип данных, который предназначен для хранения гиперссылок. Щелкнув гиперссылку в ячейке таблицы, можно перейти к Web-странице, на которую она указывает. По гиперссылке мож- но переходить к объектам базы данных и другим документам. Полный ад- рес гиперссылки состоит из четырех частей и записывается в следующем формате: ЭкранныйТекст# Адрес# ДополншпелъныйАдрес#Подсказка. Вложение. В полях этого типа в двоичном формате могут храниться рисун- ки, изображения, другие двоичные файлы и файлы программ Microsoft Office. Размер поля при использовании сжатия может достигать 2 Гбайт, а для неупакованных вложений — 700 Кбайт, в зависимости от того, до ка- кой степени может быть сжат файл. Мастер подстановок. На самом деле это не тип данных, а команда, которая запускает мастер подстановок Access 2007 для автоматического определе- ния поля. С помощью мастера подстановок создается поле со списком, из которого можно выбирать добавляемые в него данные. Список составляет- ся из данных поля другой таблицы или из постоянных значений, заданных разработчи ком • ।
54 I лава 2. Планирование баз данчьк Типы данных в базах других программ В базах донных других программ для полей имеются аналогичные типы данных. Однако с перечисленными выше типами данных Access они не идентичны. Иногда это следует учитывать при импорте, экспорте, связывании и копировании таблиц в Access. Ключевые поля Практически в л юбой базе данных содержится несколько абсолютно равно- правных таблиц. Реляционную базу данн ых отличает то, что входящие в нее таблицы связаны между собой. Связи между таблицами создают логическую структуру базы данных. Задание связей осуществляется с помощью совпадаю- щих значений, содержащихся в полях разных таблиц. Любой элемент данных находится в ячейке, на пересечении поля (столбца) и записи (строки) таблицы. Чтобы точно сослаться на него, необходимо задать имя самой таблицы, имя поля, а также указать запись. Таблицы и поля таблиц в базах данных не изменяются, так как являются основными структурными элементами базы, а записи, наоборот — подвижны, динамичны. Записи (строки) таблиц содержат конкретные данные, которые описывают определенный объект, например, книгу. Эти данные в процессе эксплуатации базы данных могут быт ь удалены (если книга, например, перестала храниться в электронной библиотеке) или изменены (например, вышло новое издание в другом издательстве). Чтобы поименовать («закрепить >) конкретные записи, нужно иметь поля с уникальными, не встречающимися больше нигде, данны- ми. В качестве таких полей (которые называются «ключевыми») могут исполь- зоваться некоторые данные самой таблицы (если они обладают свойством уни- кальности) или искусственно введенные поля (значениям которых присваива- ются уникальные последовательные или случайные номера). Таким образом, чтобы иметь возможность сослаться на любые данные таблицы, одно из ее полей должно быть назначено полем «первичного ключа». В качестве первичного ключа в базах данных разрешается использовать не- скольких полей. Тогда уникальной должна быть комбинация значений этих по- лей (а значения в отдельных полях у разных записей таблицы могут совпадать). У каждой таблицы базы данных должен быть первичный ключ. Поле первичного ключа для таблиц Access 2007 назначается в режиме конст- руктора (нужно просто выделить поле и щелкнуть соответствующую кнопку). Если у таблицы есть поле первичного ключа, оно обозначается знач ком с изобра- жением ключа, который находится в начале строки (рис. 2.5). Рис. 2.5 Поле id автора таблицы Авторы является полем первичного ключа (нмавмвннвввяямв [Й автора I Счетчик |ио 1 Текстовый Фамилия Текстовый Имя Текстовый 1 Отчество Id организации Текстовый Числовой Комментарий Поле МЕМО
ицы — основа реляционной балы данных 55 В принципе, «кандидатами на роль» первичного ключа в различных табли- цах могут быть текстовые поля, содержащие, например, номера паспортов, сту- денческих билетов, лицензий, ИНН, номера государственной регистрации транспортных средств и т.п. Однако не во всех таблицах могут содержаться подобные поля. Например, фотографию, техническое описание прибора или даже книгу в электронной биб- лиотеке идентифицировать таким образом вряд ли удастся. Поэтому очень часто для создания поля первичного ключа в таблицу добавляют новый столбец, ис- пользуемый исключительно для этих целей. Для него устанавливается тип дан- ных Счетчик. На рис. 2.5 показано, что первичным ключом в таблице Авторы является поле id автора. Это искусственно введенное поле (можно назвать его «порядковым номером автора в списке электронной библиотеки»), за уникаль- ность которого отвечает программа Access. Данные в это поле добавляются авто- матически при создании новой записи. Чаще всего используется счетчик после- довательно возрастающих чисел. Обычно он располагается в начале таблицы. Первичный ключ не допускает значений Null (то есть пропусков значений). Первичный ключ используется для связывания таблицы с внешними ключа- ми — полями в других таблицах. Внешний ключ — одно поле (или несколько по- лей) таблицы, содержащее ссылку на поле или поля первичного ключа в другой таблице. Формально, в другой таблице может существовать несколько полей, «подходящих» на роль внешнего ключа. Программа Access может установить связь с любым полем (рис. 2.6), которое имеет подходящий тип данных. Поэто- му настройка конкретной связи зависит только от разработчика базы данных — только он может явно указать поле, подходящее по смыслу. Рис. 2.6 Связанные таблицы Авторы, Авторы документов и Организации (на схеме данных Access значками отмечены первичные ключи таблиц и сами связи, внешние ключи «по умолчанию» значками не отмечены) ......... АвТйрЫ I V id документ» V id »жторя Петиция аепоо» ИО Фвынлия Имя Отчество id организации Комментарий V id организация Hawn не организации Адрес организации Комментарий На рис. 2.6 показаны три габлицы Авторы, Авторы документов и Организа- ции (из проекта электронной библиотеки), между которыми установлены связи. В таблице Авторы содержится список авторов всех документов электронной библиотеки. Значение поля первичного ключа этой таблицы, id автора, одно- значно определяет автора. В таблице Авторы документов первичный ключ со- ставляют два поля id автора и id документа. однозначно определяющие каж- дую запись этой таблицы. Такой ключ учитывает то, что у любого документа мо- жет быть несколько авторов, и, кроме того, любой автор может стоять на любом месте в списке авторов конкретного документа (этот ключ участвует в связи, ко торая на рисунке не показана). Чтобы связать эти две таблицы, используется первичный ключ таблицы Авторы и внешний ключ из таблицы Авторы доку-
56 Глава 2. Планирование баз данны < ментов — id автора* то есть поле, в котором также указываются «порядковые номера» авторов (обратите внимание на то, что это поле одновременно является первичным ключом для другой связи, которая на рисунке не показана). Чтобы связать с таблицей Авторы таблицу Организации (где собраны сведе- ния об учреждениях, в которых работают авторы) первичный ключ необходимо «искать» во второй таблице» так ка к в одной организации могут работать сразу несколько авторов. В результате связь может быть установлена между первич- ным ключом id организации в таблице Организации и одноименным полем в т аб- лице Авторы (которое указывает организацию для каждого конкретного автора) — внешним ключом. Связывание таблиц определяет логическую структуру базы данных, что свя- зывает все данные, расположенные в различных таблицах. После этого можно создавать запросы, формы и отчеты для одновременного отображения сведений сразу из нескольких (любых, из тех, которые связаны) таблиц. Создание проекта базы данных Результатом проектирования базы данных должна быть развернутая схема базы данных, которая исчерпывающе описывает ее логическую структуру (сле- дует заметить, что логическая структура н икаким образом не связана с физиче- ской структурой базы и способом записи данных). Схема базы данных должна включать имена таблиц, описывающих отдельные информационные объекты, имена и тип данных всех полей таблиц, а также связи между таблицами и их по- лями. Хотя процесс создания логической структуры базы данных может занять значительное время, экономить на нем бесспорно не рекомендуется. Проектирование базы данных является итерационным процессом, в ходе ко- торого разработчик шаг за шагом приближается к желаемому результату. Ино- гда приходится «отступать» на несколько шагов назад, переделывая предыду- щую работу с учетом вновь появившихся данных или вновь возникших обстоятельств. Можно разбить процесс проектирования базы данных на последовательное решение следующих общих задач: 1. Исследование информационного пространства базы данных. Следует со- брать сведения об информационной среде, в которой будет работать база данных: какие данные имеются в наличии, откуда они поступают, в какой степени они могут дублироваться, кто и каким образом будет вводить их в таблицы, как часто будут изменяться данные и т.д. Нужно определиться с тем, каким образом, когда и какая информация будет извлекаться из базы данных. В случае совместного использования базы данных к обсуж- дению этих вопросов следует привлекать заинтересованных лиц. 2 Составление списка информационных объектов с перечислением основ- ных свойств объектов. Список должен стать основой для таблиц базы дан - ных. Каждой записи какой-либо таблицы должен соответствовать кон- кретный информационный объект (например, заказ, автор, книга, изда- тельство, фотография и т.д.). Содержание таблицы (ее поля) будут состоять из свойств объектов (это могут быть, например, ппчтовы й адрес, год издания, количество страниц, цена, размер и т.д.). Информация долж- на быть разделена на «минимальные» логические элементы. Например, отдельные поля Инициалы и Фамилия* облегчат сортировку данных по
Создание проекта базы данных 57 фамилиям. Не рекомендуется включать в таблицу поля» которые являют- ся результатом вычислений. Закончив эту работу» следует проанализиро- вать промежуточный результат по следующим направлениям: Насколько полно выбранные свойства (поля) характеризуют объект? Нет ли среди них избыточных? Нет ли одинаковых полей в разных таблицах? Целесообразно ли перенести какое-то поле в другую таблицу (например, контактный телефон автора должен быть скорее в таблице Авторы, а не Книги, Издательства или др.)? Могут ли понадобиться дополнительные объекты или свойства объек- тов? 3. Выбор полей первичных ключей. Нужно убедиться, что каждый объект имеет свойство или несколько свойств, по которым его (то есть запись лю- бой таблицы) можно однозначно идентифицировать в базе. Если такового нет, то следует добавить дополнительный столбец, который специально будет содержать искусственно созданный ключ. 4. Рассмотрение и установление связей между объектами. Отношения ме- жду свойствами объектов (полями таблиц) могут быть трех типов: «один-к-одному», «один-кО'многим» и «многие-ко-многим». Связывае- мые данные могут иметь разные имена полей таблиц, однако они должны обязательно иметь соответствующий друг другу тип данных. При отношении «один-к-одному» каждой записи ключевого поля в пер- вой таблице соответствует только одна запись в связанном поле другой таблицы и наоборот (рис. 2.7). Вообще говоря, большинство данных, связанных таким образом, может быть помещено в одну общую таблицу. Поэтому связи такого типа используются нечасто. Иногда они применя- ются для разделения таблиц, содержащих «слишком» много полей, в не- которых случаях — для отделения части таблицы по соображениям безопасности, кроме того — для выделения сведений, относящихся к подмножеству записей в главной таблице. Рис. 2.7 Таблицы Таблица1 и Таблица^ связаны отношением «один-к-одному» Поле1 Поле? ЛслеЭ ПолН Чаще всего используется отношение «один-ко-многим» (см. рис. 2.6). Оно означает, что одной записи в первой таблице соответствует несколь- ко записей во второй, но запись во второй таблице не может иметь боль- ше одной связанной записи в первой таблице. Например, одно издатель- ство может выпустить несколько книг, но одну книгу может выпустить только одно конкретное издательство.
58 Г лава 2. Планирование баа данных Отношение « многие-ко-многим» означает, что одной записи в первой таблице могут соответствовать несколько записей во второй таблице, а одной записи во второй таблице могут соответствовать несколько заг и- сей в первой. Такое отношение содержит в себе неопределенность, разре- шить которую можно только с помощью добавления третьей (связую- щей или переходной) таблицы, вставляемой между ними . Эта таблица «превратит» одно отношение « многие* ко-многим» в два отношения ♦один-ко-многим» (рис. 2.8). Ключевое поле новой связующей таблицы состоит из двух полей, которые являются внешними ключами первой и второй таблиц. Можно сказать, что отношение «многие-ко-многим» представляет собой два отношения «один-ко-многим» с третьей табли- цей. Например, каждый автор может написать несколько книг, а каж- дая книга может иметь несколько авторов, но авторский коллектив каж- дой книги уникален, так же, как и список книг, написанных конкрет- ным автором. Авторский коллектив каждой книги задается связующей таблицей. Рис. 2.8 Неопределенность отношения таблиц Документы и Авторы (типа «многие-ко-многим», показано вверху) разрешается с помощью введения третьей (связующей или переходной) таблицы Авторы документов (которая устанавливает два отношения типа «один-ко-многим» с исходными таблицами, показано внизу) id документ* Дате Нвзмицс и» шла документа Год издания id кадггелъггва Переход к источнику Гилср<сыдка мсгочиксв id языка документа Количество страниц Количество рисунков Количество ссылок Твердая копия Авторское право Комментарий ИС Фамилия Имя Отчество id организации Комментарий |.Д^1И»кГ1г ' ] V Id документа Дата Название id типа документа Год издания Id мадателыгяа Переход к источнику Гиперссылка источника id языка документа Киличество страниц Количество рисунков Количество ссылок Твердая копил Авторское право Коымег-врмЙ f id документа V id автора Помшия автооа 71Ы • . ИО Фамилия Имя Отчество id организации Комментарий зешь «I.... Это достаточно частый случай в практике проектирования баа данных. А способ разрешения не- определенности с помощью дополнительной таблицы математически несложно формализовать. В базе данных Access 2007 имеется средство, позволяющее «избежать» добавления переходной таблицы. С помощью полей с несколькими значениями, можно «установить» вместо связи «мно- гие-ко-многим» связь типа «один ко-многим» между полями, в одном из которых допускается хранение сразу несколько значений. Фактически, в этом случае Access создает несколько копий одной из таблиц (но явно не показывает это пользователю). Подробнее о полях с несколькими зна- чениями см. раздел «Два способа реализации связи типа «многие-кл-многим» в Access 2007: про- ект электронной библиотеки» главы 6 «Работа с таблицами».
Целостность базы данных 59 5. Предварительное опробование структуры базы данных. Если работа, описанная выше, проделана успешно, можно создать таблицы базы дан- ных Access, установить между ними связи и ввести в таблицы небольшой объем данных, достаточный для проверки работоспособности ее структу- ры. Работа связей между таблицами может быть проверена созданием за- просов, в результате выполнения которых должны получаться коррект- ные и предсказуемые ответы. Также можно создать черновые формы и от- четы и проверить насколько хорошо они работают, отображают ли те сведения» которые ожидались. Выявленные ошибки можно исправить, вернувшись к предшествующим этапам проектирования. В любом случае не следует начинать заполнять базу данными, пока не исправлены все ошибки и неточности в ее структуре. В Access существуют два средства, которые помогают разработчику усовер- шенствовать структуру создаваемой базы данных: Анализ таблицы и Анализ быстродействия. Они запускаются со вкладки Работа с базами данных Ленты (в разделе Анализ есть две одноименные кнопки). Первое средство позволяет проанализировать структуру выбранной таблицы, ее связи, а также разделить таблицу на новые связанные таблицы (если это «поможет» улучшить структуру базы данных). Второе средство исследует всю базу данных с точки зрения быст- родействия и дает рекомендации по ее улучшению, а также может выполнить эти рекомендации (если вы дадите на это свое согласие). Так как эти средства по- строены в форме мастеров, то в их диалоговых окнах содержатся все пояснения и рекомендации для принятия решения по обнаруженным проблемам. / Целостность базы данных Целостность базы данных — это правила и средства, обеспечивающие надеж- ную реализацию установленных межтабличных связей между всеми данными, содержащимися в базе. Поддержание целостности данных является достаточно серьезным и сложным вопросом. При эксплуатации базы данных ее нарушения могут возникнуть вследствие нескольких причин: из-за сбоев компьютера, вследствие ошибок в программном обеспечении, из-за некорректных действий пользователя. Проблема обеспечения целостности реляционных баз данных теоретически разбивается на три части: обеспечение целостности данных, обеспечение целост- ности объектов и ссылочной целостности. Защиту от повреждения данных реля- ционные СУБД обеспечивают тем, что любая команда, выполняемая над данны- ми, либо исполняется до конца, либо полностью отменяется. Объектная целост- ность связана с проектированием базы данных. Она требует, чтобы ни один первичный ключ не имел нулевого значения. Ссылочная целостность обеспечи- вается отсутствием противоречий между частями информации в базе. Напри- мер» если вы изменяете неправильно введенный почтовый адрес организации в одной таблице, то другие таблицы, содержащие этот адрес, также должны быть обновлены. Важно, чтобы информация была исправлена или обновлена сразу во всей базе данных, где она встречается. За целостностью базы данных в процессе ее работы следит программа Access, запрещая пользователю выполнять некорректные действия и выводя на экран предупреждающие сообщения.
60 Глава 2. Планирование баз данных Целостность данных в Access В Access 2007 используется система правил, предназначенных для поддер- жания устойчивых и корректных связей между записями в связанных табли- цах, а также обеспечивающих их защиту от случайного удаления или измене- ния связанных данных. Для этого установлены перечисленные ниже ограничения: Связанное поле главной таблицы является ключевым полем или имеет уни- кальный индекс. Какая таблица считается «главной»? «Главной таблицей» называется таблица, соответствующая стороне «один-» при связи двух таблиц типа «один-ко-многим». В главной таблице должен существовать первичный ключ, а все записи в ней должны быть уникальными. ч Связанные поля имеют одинаковый тип данных (рис. 2.9). Рис. 2.9 Связываемые поля должны иметь одинаковый тип данных Типы данных связанных полей Связанные поля должны иметь одинаковый тип данных. Но здесь допускаются два исключения: поле счетчика может быть связано с числовым полем, свойство которого Размер поля имеет значение Длинное целое; поле счетчика, свойство которого Размер поля имеет значение Код репли- кации можно связать с числовым полем, у которого свойство Размер поля также имеет значение Код репликации. Если таблицы являются связанными, то они должны быть таблицами базы данны к Access. Дл а связанных таблиц из баз данных других форматов уста- новить целостность невозможно. Для обеспечения целостности база дан- ных. в которой находятся таблицы, должна быть открыта. Для соблюдения этих правил в Access отслеживаются и блокируются следую- щие действия: Нельзя ввести в поле внешнего ключа связанной таблицы значение, не со- держащееся в ключевом поле главной таблицы (рис. 2.10). Однако в поле внешнего ключа возможен ввод значений Null, показывающих, что записи не являются связанными. Например, нельзя сохранить запись, регистри- рующую книгу, написанную несуществующим автором, но можно создать запись для книги, которая пока не отнесена ни к одному из авторов, если ввести значение Null в ключевое поле id aemcpa.
Целостность базы данных 61 Рис. 2.10 Нельзя обеспечить целостность данных из-за несоответствия записей Приложению Dflltf» Arce»” Не удав гея создать связь с обеспечением целостности дмнмк • V. Ь-( • к Д«нььютеблицЬ'’7^1Нха2,МРуш«<1т услй®мий№гнос1и. Weqpn«ep> мпнеи для сотрудмн*а существует а свюлмкой, окутствуюг в главно 4 «Й Йэьен'-е д*шыв) чтрбигпавны= «пи и существам* всех сеймики »гисвк ДЛя<->5Двн»-»связ» CetccicriFr^rn^ ц«по*:тнс>^кда^г< чжиитв^бхеж'Х.ЧсКгеовии»цалс<:гнхтн • «♦к** . . ок Нельзя удалить запись из главной таблицы» если существуют связанные с ней записи в подчиненной таблице (рис. 2.11). Например, невозможно удалить запись из таблицы Документы* если в таблице Авторы докумен' тов имеются книги, написанные этим автором. Рис. 2.11 Нельзя удалить записи из главной таблицы Нельзя изменить значение первичного ключа в главной таблице, если су- ществуют записи, связанные с данной записью (см. рис. 2.11). Например, невозможно изменить код автора в таблице Авторы документов, если в таблице Документы имеются книги этого автора. Каскадное обновление и удаление записей Для связей, в которых программа Access обеспечивает целостность данных, пользователь имеет возможность осуществлять определенные настройки — включить или выключить средства каскадного обновления и удаления записей. Средство каскадного обновления обеспечивает корректировку всех связанных записей в подчиненной таблице (или таблицах) при изменении записи в главной таблице. Средство каскадного удаления осуществляет удаление всех связанных записей в подчиненной таблице или таблицах при удалении записи в главной таблице. При установке и настройке связей между таблицами пользователь может указать в диалоговом окне Изменение связей (рис. 2.12), следует или нет авто- матически выполнять для связанных записей операции каскадного обновления и каскадного удаления. Если включить данные параметры, станут возможными операции удаления и обновления данных, которые, в противном случае, были бы запрещены условиями целостности данных. Чтобы обеспечить целостность данных при удалении записей или изменении значения первичного ключа в главной таблице, автоматически вносятся необходимые изменения в связанные таблицы. Если установить флажок каскадное обновление связанных полей, любое из- менение значения первичного ключа в главной таблице приведет к автоматиче- скому обновлению соответствующих значений во всех связанных записях. На пример, при изменении кода документа в таблице Данные документов будет ав- томатически обновлено поле 1D документа во всех записях таблицы Авторы документов для публикаций этого автора, поэтому целостность данных
62 Глава 2. Планирование ба з данны < нарушена не будет. Программа Access выполнит каскад ное обновление без ввода предупреждающих сообщений. Рис. 2.12 Диалоговое окно Изменение связей Если в главной таблице ключевым полем является поле счетчика, то установка флажка каскадное обновление связанных полей не приведет к каким-либо результатам/ так как изменить значение поля счетчика невозможно. Если установить флажок каскадное удаление связанных записей, любое уда- ление записи в главной таблице приведет к автоматическому удалению связан- ных записей в подчиненной таблице. Например, при удалении из таблицы Дак ные документов записи для конкретного документа будут автоматически уда- лены все связанные записи в таблице Авторы документов (а также в других таблицах, если они ёвязаны с последней). Рис. 2.13 Подтвердите удаление записей Если записи удаляются из формы или таблицы при установленном флажке кас- кадное удаление связанных записей, Access выводит предупреждение о воз- мо кности удаления связанных записей (рис. 2.13). Если же записи удаляются с по- мощью запроса на удаление, то Access удаляет записи автоматически без вывода предупреждения. Нормализация Нормализация — это набор стандартных правил, которые могут применять- ся при проектировании баз данных. Вообще говоря, эти правила (или формы нормализации) относятся к теории баз данных, а процедуру проектирования,
Нормализация 63 все-таки, необходимо считать творческим процессом. Говорят, что * создать нужную структуру базы данных интуитивно значительно проще, чем сформу- лировать какой она должна быть». Более того, большинство разработчиков баз данных считают, что они в своей работе руководствуются больше здравым смыс- лом, чем какими-либо строгими правилами. Тем не менее, существующие правила, если им следовать, гарантируют полу- чение эффективной, целостной структуры таблиц, минимальную избыточность данных, увеличение быстродействия системы. Можно, и с большой пользой, применять правила нормализации для настройки базы данных, на конечном этапе ее проектирования, когда основная структура таблиц и их связей уже «сверстана интуитивно». Вообще, работая в Access 2007» достаточно просто понимать правила норма- лизации, так как за их соблюдением может следить сама программа (средства отладки базы данных запускаются из раздела Анализ вкладки Работа с базами данных Ленты). Ниже кратко рассмотрен основной смысл первых пяти правил нормализа- ции. Общепринятыми считается пять правил нормализации (хотя в теории их существует гораздо больше). Однако большинство разработчиков считают, что достаточно обеспечить выполнения трех или четырех из них, чтобы получить очень «хорошую» структуру базы данных. Первое правило нормализации требует, чтобы на пересечении поля и запи- си в таблице находилось единственное значение, которое было бы «атомар- ным». Кроме того, в таблице не должно быть повторяющихся групп. Сле- дуя этому правилу нельзя записывать, например, несколько идентифика- торов книг в одном и том же поле. Добавление полей Книга1, Книга2 и т.д. не решает проблемы, а только маскирует ее. Чтобы избежать повторения таблицу следует разбить на две: главную и вспомогательную. Следует так- же разбивать поля, в которых хранятся адреса на несколько более мелких полей, например, Страна, Город, Индекс и т.д. Фамилию автора нужно от- делить от его инициалов и т.п. Второе правило требует, чтобы любое неключевое поле зависело только от всего первичного ключа, а не от его части. Это правило относится к случаю, когда первичный ключ образован из нескольких полей (если это счетчик, то проблем не будет). Примером нарушения этого правила могут быть поля ключа Фамилия и Инициалы. Если появится в базе второй автор с фамили- ей, например, «Иванов», то могут возникнуть проблемы. Третье правило запрещает зависимость одного неключевого поля от друго- го неключевого поля, они могут зависеть только от первичного ключа. Поле, обозначающее позицию автора в списке авторов, должно быть не в таблице Авторы, а в таблице Авторы документов. В разных документах фамилия автора может находиться в разных позициях, поэтому данный па- раметр не принадлежит автору, а принадлежит документу. Четвертое правило запрещает независимые отношения типа «один-ко-многим» между ключевыми и неключевыми полями. Примером может быть помещение в таблицу Авторы полей с номерами домашних и сотовых телефонов авторов. Не у всех авторов могут быть сотовые телефо- ны, а. может быть — и домашние. В другом случае, у одного автора может быть несколько телефонных номеров. В результате в таблице могут поя-
64 Глава 2. Планирование баз данных виться пропуски данных. Целесообразно разбить таблицу на несколько: по- местить различные номера телефонов в разные таблицы и связать их с таб- лицей авторов посредством задания связи. Пятое правило требует разбивать таблицы на минимально возможные час- ти для устранения в них избыточности данных. Постановка задачи: проект электронной библиотеки Ниже приведен вариант проекта электронной библиотеки. Рассматрм ваемые в следующих главах книги примеры (база данных и ее объекты) будут следовать этому проекту1. Электронная библиотека (имя Электронная библиотека 2007} должна со- стоять из двух самостоятельных, но взаимосвязанных частей — электронного каталога (базы данных), позволяющего хранить и обрабатывать данные об элек- тронных документах, а также осуществлять по ним поиск, и. «хранилища» этих документов, ссылки к которому будут содержаться в каталоге. Возможен вари- ант внедрения электронных документов внутрь базы данных, который, однако, не должен каким-либо образом изменить ее структуру. Документы могут быть получены из различных источников (от других пользователей, с компакт-дис- ков, из Интернета и т.д.). После получения документы должны быть скопирова- ны в папку «хранилища» (или внедрены в таблицу базы данных). Преобразова- ния форматов файлов не предусматривается (для того чтобы открывать элек- тронный документ в другой програ чме, можно использовать ссылки на ярлыки Windows, которые содержат имя и путь программы, а также имя и путь электронного документа). Интерфейс пользователя электронной библиотеки должен быть построен на основе форм и отчетов Access. Для дополнительной защиты данных от случайно- го изменения пользователем должны быть использованы отдельные формы, как для ввода свойств документов, так и дл я их просмотра (поиска). Структура и со- держание базы данных должны давать возможность ее размещения на компакт-диске. Структура базы данных должна давать возможность ее преобразования в про- ект Access 2007» а, следовательно, в формат базы данных SQL Server. Набор сохраняемых в каталоге сведений об электронных документах должен быть близок к набору, который содержится в каталожных карточках обычных библиотек. Он должен быть достаточен для оперативного поиска электронных документов средствами базы данных и отображения на экране компьютера спи- ска документов, соответствующих критериям поиска. Формы поиска докумен- тов должны быть простыми, а методики работы с ними должны быть похожими на методики работы пользователя в обычных библиотеках. Поиск документов должен осуществляться как по отдельному свойству (фамилия автора, издательство и т.д,), так и по произвольному набору свойств. Естественно, автор не считает, что приведенный проект является «идеальным», но при этом ут- верждает, что именно такая его редакция поможет изучить программу Access 2007 и ее возмож- ности на одном и том же материале.
Постановка задачи: проект электронной библиотеки 65 Необходимо сохранить возможность добавления новых свойств документов и осуществления поиска с их участием. В каталоге должна быть представлена статистика количества содержащихся в электронной библиотеке документов (по типам, годам выпуска, авторам и Т.Д.). Основными информационными объектами базы данных электронной биб- лиотеки должны быть: электронные документы; авторы (с учетом позиции автора в авторском списке для каждого документа); владельцы документов (необязательно, указывает на тип авторского права); редакторы; издательства, выпустившие документ; типы документов; организации, где работают авторы (редакторы); язык текста документа. Каждый из информационных объектов должен быть представлен собствен- ной таблицей базы данных. В полях этих таблиц должны содержаться свойства соответствующего объекта. Между полями таблиц должны быть установлены межтабличные связи (рис. 2.14). Можно создать дополнительную таблицу Авторские списки. Она будет содержать списки («в одной строке») авторов и редакторов каждого электронного документа. Значения, содержащиеся в ее полях, вычисляются из других таблиц базы данных. Подробнее о ее создании и использовании см. раздел «Создание перекрестного запроса» главы 7 «Запросы». Лепт документое 9 ID документа Т ID агора Позиция автора 9 TD организации Название АДРГ‘ Комментарий Авторы V 1D автора Инициалы Фамилия Имя Отчество ID организации Комментарий Редактора 9 ID редактора Инициалы Фамилия Ими Отчество Комыентавий f Я5ЫК 1 9 ID языка | Язык изданий W ID издателыгтм Издательство Адрес Телефон Комментарий Дата Название ID гжпа Год издания 1D издательства Переходе источнику Переход к источнику/lleData Переход к источнику-Н! eName Переход к источмику.ГНеТуре Гиперссылка мсти чинка ГО редактора ID редактора.Value ID языка Количество страниц Количество рисунков Количество ссылок Т-крдан копил Коымемтаоий Авторское право Рис. 2.14 Схема данных проекта электронной библиотеки 3 Access 2007
66 Глава 2. Планирование баз данных Почти все связи могут быть отнесены к типу «один-ко-многим». Только в двух случаях («электронный документ — автор» и «электронный документ — редактор») имеется связь типа «многие-ко-многим». Для реализации первой из них должна быть использована «связующая» таблица, а для «преодоления» вто- рой — поле с несколькими значениями Access 2007. В базе данных планируются создать следующие таблицы (в процессе работы над базой данных электронной библ иотеки поля таблиц могут уточняться): Данные документов (см. таблицу 2.1). Авторы (см. таблицу 2.2). Авторы документов (см. таблицу 2.3). Владельцы (см. таблицу 2.4). Редакторы (см. таблицу 2.5). Издательства (см. таблицу 2.6). Типы документов (см. таблицу 2.7). Организации (см. таблицу 2.8).. Язык (см. таблицу 2.9). Таблица 2.1. Поля таблицы Данные документов Имя поля Тип данных Ключевое поле Примечание ID документа Счетчик Первичный ключ Используется в связях с таблицей Авто- ры документов (неявно Редакторы). Дата « Дата/время Нет Значения вводятся автоматически в мо- мент внесения новых данных в таблицу. Для этого используется функция Date(). Название Текстовый Нет Обязательное поле. ID типа Числовой Внешний ключ Используется для связи с таблицей Тилы документов. Год издания Числовой Нет Год создания электронного документа. ID издательства Числовой Внешний ключ Используется для связи с таблицей Издательства. Переход к источнику Вложение Нет Содержит файл (файлы] электронных документов Гиперссылка источника ♦ Гиперссылка Нет Содержит гиперссылку к файлу элек- тронного документа, расположенному в папке-«хранилище» (или к ярлыку, от- крывающему электронный документ). ID редактора Числовой Внешний ключ Используется для связи с таблицей Редакторы.
Постановка задачи: проект электронной библиотеки 67 Имя поля Тип данных Ключевое поле Примечание ID языка Числовой Внешний ключ Используется для связи с таблицей Язык. Количество страниц Числовой Нет Содержит количество страниц в элек- тронном документе. Количество рисунков Числовой Нет Содержит количество рисунков в элек- тронном документе. Необязательное поле. Количество ссылок Числовой Нет Содержит количество ссылок на литера- турные источники в электронном доку- менте Необязательное поле. Твердая копия Поле МЕМО Нет В этом поле указывается место хранения и инвентарный {каталожный) номер твер- дой копии документа (если они извест- ны, например, в библиотеке организации). Необязательное поле. Комментарии Поле МЕМО Нет Может хранить комментарий к каждой записи таблицы (отдельному электронно- му документу). В обязательном порядке выводится в формах и запросах при по- иске электронного документа. ID владельца Числовой Внешний ключ Используется для связи с таблицей Владельцы. Как вариант, владельца до- кумента можно вводить непосредствен- но в поле Авторское право этой таблицы (вместо поля ID владельца), а таблицу Владельцы не использовать. Од- нако, при проверке структуры мастером анализа таблиц (см- раздел «Мастер анализа таблиц» главы 6 «Работа с таб- лицами») эта неточность структуры бу- дет выявлена. [ Практически всегда для автора документа можно узнать его инициалы. Но его имя и отчество иногда опускаются, например, в научных статьях. Так как автор «не приходит лично» к создателю электронной библиотеки, применить в качестве ключевого поля, например, номер паспорта или ИНН не представля- ется возможным. Поэтому первичный ключ в таблице Авторы введен искусст- венно. Если имя и отчество автора являются обязательными полями, то поле для инициалов в таблицу можно не вводить Инициалы при необходимости могут быть получены из них с помощью запроса.
68 Глава 2. Планирование базданных Таблица 2.2. Поля таблицы Авторы Имя поля Тип данных Ключевое поле Примечание ID автора Счетчик Первичный ключ Используется для связи с таблицей Авторы документов. Инициалы Текстовый Нет Размер поля может быть ограничен четырьмя знаками. Фамилия Текстовый Нет Обязательное поле. Имя Текстовый Нет Необязательное поле. “ 7 Отчество Текстовый Нет Необязательное поле. ID организации Числовой Внешний ключ Используется для связи с таблицей Организации. ч 1 Комментарий Поле МЕМО Нет « SV1— - : — М- - . - — Может хранить комментарии к каждой записи таблицы {отдельному автору). В обязательном порядке выводится в формах и запросах к автору. Таблица 2.3. Поля таблицы Авторы документов Имя поля Тип данных Ключевое поле Примечание • ID документа Числовой Первичный ключ Для связи с таблицей Данные документов. ID автора Числовой Первичный ключ Для связи с таблицей Авторы. Позиция автора Числовой Нет Содержит позицию автора в авторском списке. По умолчанию может быть уста- новлено значение 1. В таблице Авторы документов первичный ключ составляют два поля: ID до- кумента и ID автора. Ото не только допустимо, но и необходимо: уникальность первичного ключа запрещает вводить в один и тот же документ разных авторов на одной и той же позиции авторского списка. Таблица 2.4. Поля таблицы Владельцы Имя поля Тип данных Ключевое поле Примечание ID владельца Счетчик Первичный ключ Используется для связи с таблицей Данные документов. Авторское право Текстовый Нет — Описывает группы владельцев докумен- тов: авторы, издательства и др.
Постановка задачи: проект электронной библиотеки 69 Таблицу Владельцы можно не использовать, если сведения о владельцах до- кументов вводить непосредственно в таблицу Данные документов (см. примеча- ние в последней строке таблицы 2.1). Таблица 2.5. Поля таблицы Редакторы Имя поля Тип данным Ключевое поле Примечание ID редактора Счетчик Первичный ключ Используется для связи с таблицей Данные документов. Инициалы Текстовый Нет Размер поля может быть ограничен четырьмя знаками. Фамилия Текстовый Нет Обязательное поле. Имя £ Текстовым Нет Необязательное поле. Отчество Текстовый Нет Необязательное поле. Комментарии Поле МЕМО ♦ Нет Может хранить комментарии к каждой записи таблицы {отдельному редактору). В обязательном порядке выводится в формах и запросах к редактору. | Если к документу добавлять свойства, «подобные редактированию», напри- мер, перевод, оформление и т.д., то придется создать аналогичные таблице 2.5 таблицы Переводчики, Художники и т.д. Таблица 2.6. Поля таблицы Издательства Имя поля Тип данных Ключевое поле Примечание ID издательства Счетчик Первичный ключ Используется для связи с таблицей Данные документов Издательство Текстовый Нет Обязательное поле. Оно содержит сокращение города и название издатель- ства {как в библиографической ссылке). Адрес Текстовый Нет Содержит адрес издательства,, который может понадобиться при переписке, ссылке и т.д. Здесь же можно указывать адрес электронной почты или ссылку на сайт издательства. Телефон - Текстовый Нет Содержит контактные телефоны издательств. Комментарий Поле МЕМО Нет Может хранить комментарии к каждой записи таблицы (отдельному издательст- ву). В обязательном порядке выводится в формах и запросах к издательству
70 Глава 2. Планирование баз данных База данных электронной библиотеки не предусматривает обеспечения како- го-либо регулярного взаимодействия читателей с издательствами. Поэтому ад- реса и телефоны издательств хранятся в двух полях «в кучу». При необходимо- сти контактов их нужно подробно разделить по полям: Страна, Город, Улица, Дом, Телефон секретаря, Электронная почта и т.д. Но тогда это будет другая база данных! Таблица 2.7. Поля таблицы Тилы документов Имя ПОЛЯ Тип данных Ключевое поле Примечание ID типа Счетчик Первичный ключ Используется для связи с таблицей Данные документов. Тип ч Текстовый Нет Обязательное поле. Названия типов доку- ментов следует взять из какой-либо мето- дической разработки или стандарта. Комментарии Поле MtMO Нет Может хранить комментарии к каждой за- писи таблицы (отдельному типу докумен- та). В обязательном порядке выводится в формах и запросах к типу документа. Типы документов для учебного процесса, например, установлены инструк- циями и положениями высшей школы: учебники, учебные пособия, учебно-ме- тодические разработки, программы и т.д. В научной деятельности также име- ются устоявшиеся типы: диссертации, монографии, обзоры, статьи и т.д. Элек- тронные документы дают новые типы: презентация, видеоклип и др. Все они могут быть включены в общий список типов документов. Таблица 2.8. Поля таблицы Организации Имя поля Тип данных Ключевое поле Примечание ID организации Счетчик Первичный ключ Используется для связи с таблицей Авторы. Название Текстовый Нет Обязательное поле. Адрес Текстовый Нет Содержит одрес организации, который может понадобиться при пеоелиске, ссылке и т.д. Здесь же можно указывать адрес электронной почты или ссылку на сайт организации. Комментарий — Поле МЕМО Нет Может хранить комментарии к каждой записи таблицы (отдельной организа- ции). В обязательном порядке выводится в формах и запросах к организации.
Постановка задачи: проект электронной библиотеки 71 Таблица Организации предназначена для таблицы Авторы. При необходи- мости в нее могут быть включены организации редакторов и установлена связь с этой таблицей. Как и в таблицу Издательства, в эту таблицу могут быть до- бавлены другие поля. Таблица 2.9. Поля таблицы Язык Имя поля Тип данных Ключевое поле Примечание ID языка Счетчик Первичный ключ Используется для связи с таблицей Данные документов. Язык Текстовый Нет Обязательное поле.
Глава 3 Знакомство с программой Microsoft Office Access 2007 Программа баз данных Microsoft Office Access 2007 входит в пакет приклад- ных программ Microsoft Office 2007, который традиционно содержит также та- кие популярные программы как: текстовый редактор Microsoft Office Word 2007; программу электронных таблиц Microsoft Office Excel 2007; программу презентаций Microsoft Office PowerPoint 200r; программа связи и диспетчер личных данных Microsoft Office Outlook 2007. Перечисленные приложения отличаются новым интерфейсом пользователя» впервые появившимся в Microsoft Office 2007. Каждая программа Office, будучи отдельным продуктом, обеспечивает на- дежное взаимодействие и передачу данных в другие программы Office, тесно ин- тегрирована в среде Windows. Именно поэтому обмен данными между ними не вызывает проблем, а для работы в любой из этих программ используются похо- жие элементы управления и приемы. Пользователь, который освоил, например, Office Word 2007, сможет без труда разобраться в рабочем окне программы Access 2007. Открыть программу Access 2007. каки многие другие программы в Windows, можно различными способами, например» через одноименный пункт главного меню Windows, или через ярлык на рабочем столе. Все способы ведут к файлу MSACCESS.EXE, установленному по умолчанию в папке C:\Program Files\MicrosoftOffice\Offk-el2(cM. раздел «Открытие файлов базы данных» ниже в этой главе). Также программа загружается автоматически при открытии одно- го из зарегистрированных в Windows файлов форматов баз данных (.accdb, .mdb, .mde и др.). Окно программы Access В окне программы Access содержатся следующие основные элементы, отно- сящиеся к ее интерфейсу (рис. 3.1):
74 алии* Панель навигации (Область переходов) Г лава 3 Знакомство с программой Microsoft Office Access 2007 Панель быстрого доступа Строка заголовка Кнопка «Office» Мм Г.ЩТ11 I **««• ЗММфСншМ в«' ♦ «и Ь** Ленто S9 1Ьм»«ог* - дш Строка состояния Рабочая область «Нвтюстм орган» x-w ЬМмц11 1**мч«2 Панель сообщений “| Г _____ . ................ л । “ ОвнМШГГ» Jj, л, . Ж ЛСКЧЖ»* SB.iffiwwwm’ ' S - ЬйНЛ <МИиШ»4« JP ftxpw. JantfM Н иг АЛжон 1*гор». Гургеммгч дЧерез Г пява И Н 41 _____ ? лв Алешина Дивна вКТОрОвК! тол 11М1-11 .Н «и в Ambhw Виктор BnrwteciUM Б г Ропьск, eta 27Б 1 НВ Бертов Вячеслав Васильевич 3 Через Смснюва ДА Н Б ИИ Гончарский Ими Иванович 7 tvenQmeiiш 6 ли Грвфта в . ЛЬухия Львовна 9 Москва ул Сретенка Д/41.КО Н 7 вн Г пява BciMOum НЬжифорОВН' 21 Через г ПЯвмНИ « 8 г п Дмьйддаа 1 пм» Павловна davyOovanj 9 НС ,'Даг.тав Николай С гут-, «у < 4dan4o£hTiMnj '» 10 РИ Дровскга Pu«WI Игнатьев*" «теп 111 л М2 11 ГА Дуги некий ГсрмА, Алекс вндрде Б’Его уже нет г 12 им Егамяэ иввп Михайлович МОм на пенсии •< не занигчв* си 4 п ВА [Желвэоа Виктор 7Ьщр*свич »1ерешел в другую органнцщ* П И К? А • йжктагиим Юрий Атщреёвич * -агЬиЦта* гч С С [Зуд В В 1 Иванов Ссмв; Ьвлср ей Семенович Впцфввфра - - ... — J Йгу firttecom ти б! Терецкп а другую ортатопацтв Лмо Рис. 3.1 Окно программы Microsoft Office Access 2007 с открытой базой данных Электронная библиотека 2007 Строка заголовка^ в которой отображается имя открытой базы данных (до- полнительно показываются ее формат и режим), а также кнопки управле- ния окном программы. Строка заголовка расположена в верхней части окна и немного смещена вправо. Левую часть она «уступила» панели быст- рого доступа и кнопке «Office*. Кнопка «Office», которая открывает меню для выполнения основных дей- ствий с файлом базы данных (в определенной степени, это аналог меню Файл «старого» интерфейса пограмм Microsoft Office), а также список по- следних документов (баз данных), с которыми пользователь работал в про- грамме Access 2007. В нижней части меню «Office» находятся две кнопки (см. рис. 3.6): Параметры Access (для открытия диалогового окна свойств программы) и Выход 'для закры- тия базы данных и программы). Панель быстрого доступа^ которая содержит кнопки для выполнения ча- ще всего используемых команд. Эта панель настраиваемая. С помощью кнопки со стрелкой направленной вниз открывается ее меню, состоящее из команд, которые можно в нее добавить или убрать из нее. Лента — новый элемент интерфейса (заменивший меню и панели инстру- ментов), содержащий все элементы управления, с помощью которых вы-
Окно программы Access полняются команды и задания в программе Access 2007* Элементы распо ложены на тематических вкладках (вкладки бывают основные или посто янные и дополнительные или контекстные). Кнопка справочной системы программы В правой части Ленты (на уровне ярлыков вкладок) находится маленькая кнопка си- него цвета с изображенным на ней вопросительным знаком. Эта кнопка открывает окно справочной системы программы. Панель сообщений, в которой отображаются важные сообщения системы, например, предупреждения системы безопасности. Панель навигации (Область переходов), в которой отображаются настраи- ваемые списки всех объектов базы данных, и с помощью которой можно от- крывать объекты и выполнять с ними другие действия. Эта панель замени- ла окно базы данных, которое было в предыдущих версиях программы. Па- нель навигации прикреплена к левому краю окна Access. При необходимо- сти она может быть свернута, освобождая дополнительное место для объек- тов базы данных. Как открыть две базы данных Access? Если открыть другую базу данных, то текущая база будет сохранена и закрыта. Чтобы одновременно открыть две базы данных, следует сначала открыть два окна программы Access. Рабочая область, где располагаются открытые объекты базы данных, с ко- торыми может работать пользователь. Несколько открытых объектов рас- полагаются на вкладках, которые «наложены» друг на друга. Для перехода между вкладками (объектами) используют ярлыки, воспроизводящие на- звания объектов. В рабочей области можно открыть сколько угодно объектов текущей базы данных. Все их окна будут отображаться на вкладках. Только один объект может быть актив- ным — тот, чья вкладка выведена на передний план. У активного объекта ярлык вкладки (или заголовок окна) подсвечивается желтым цветом (рис. 3.2, к сожале- нию, черно-белый рисунок «плохо» передает цвет), а название объекта выделяется жирным шрифтом. Окна вместо вкладок В настройках файла базы данных есть параметр, управляющий расположением объектов в рабочей области (Вкладки или в Перекрывание окон!. Значение Вкладки для новых баз данных Access 2007 устанавливается по умолчанию. Это значение вы можете в любое время изменить. Здесь и далее рассматриваются зна- чения по умолчанию* Подробнее о настройках программы Access рассказано в разделе «Параметры настройки программы Access 2007» ниже в этой главе.
76 Глава 3 Знакомство с программой Microsoft Offic t Access 20 1 Рис- 3.2 Ярлык вкладки активного объекта (таблицы Издательства) подсвечивается желтым цветом, а название объекта выделяется жирным шрифтом -Щцательсгей ) *<< Город • нет "Сотрудничество” Минск ^"Экономика и мир" РИОИПК "Издательский дом АГК М м •:: -:.: — <иев ООО Бином-Пресс* М ЗАО "Полином-прогресс" м 1 ♦ Строка состояния* в которой отображается текущее состояние програм- мы, а также содержатся кнопки для быстрого переключения режимов ото- бражения активного объекта базы данных. Малая панель инструментов- Содержит кнопки для выполнения команд форматирования выделенного фрагмента текста (рис. 3.3), сохраняемого в базе данных в формате RTF. Когда вы выделяете фрагмент текста, выше * него появляется полупрозрачная панель. Если перемещать указатель по направлению к ней, она становится ярче и четче, а если от нее — исчезает. Щелкните подходящую кнопку в панели, чтобы применить форматирова- ние к выделенному фрагменту. Рис. 3.3 Малая панель форматирования Работа с файлами баз данных Файлы баз данных, проектов и шаблонов Access 2007 имеют расширения: *.accdb; *.accda *.accde; *.accdt; *-accdr. Их можно открывать и создавать в про- грамме Access 2007. Кроме того, в программе Access можно работать с файлам и форматов предыдущих версий программы Access и файлами других типов; ба- зами данных, веб-страницами» списками SharePoint, снимками отчетов, тексто- выми документами и др. Открытие базы данных Чтобы открыть базу данных в программе Access 2007, можно воспользовать- ся одним из двух способов. Если с открываемой базой данных вы работаете более-менее постоянно: 1. Откройте программу Access. 2. Откройте меню «Office», щелкнув одноименную кнопку. 3. В правой части меню щелкните строку с именем базы данных (см. рис. 3.6), которую следует открыть (здесь перечислены последи ие базы данных, с которыми работал пользователь).
Работа с файлами баз данных 77 Больше возможностей имеет другой способ открытия базы данных: 1. Откройте программу Access. 2. Откройте меню «Office», щелкнув одноименную кнопку. 3. В левой части меню щелкните команду Открыть. Появится диалоговое окно Открытие файла базы данных (рис. 3.4). Рис. 3.4 Диалоговое окно Открытие файла базы данных 4. В диалоговом окне Открытие файла базы данных выберите при необходи- мости тип открываемого файла в поле со списком Тип файлов. По умолча- нию устанавливается тип файлов Microsoft Office Access (*.accdb;*.mdb; *.adp; *.mda; *.accda;*,mde; *.accde;*.ade), то есть все файлы, которые имеют отношение к этой и предыдущим версиям программы Access. 5. Выберите в поле со списком Папка диск или папку, в которой содержится нужная база данных. Для поиска файла можно воспользоваться кнопка- ми панели инструментов диалогового окна Открытие файла базы данных. 6, Выделите файл в списке и сделайте следующее (рис. 3.5): Чтобы открыть базу данных для общего доступа в многопользователь- ской среде, щелкните кнопку Открыть (можно просто дважды щелкнуть файл в списке). Рис. 3.5 Откройте базу данных с помощью одной из команд раскрывающегося списка кнопки Открыть Отпоить {; от фдо дй мтнк» . ’ ; J Монополине МвмйГЮДЬНО для чтения
78 Глава 3. Знакомство с программой Microsoft Office Access 2007 Чтобы открыть базу данных в режиме только для чтения (без возможно- сти редактирования ее объектов), щелкните кнопку со стрелкой рядом с кнопкой Открыть и выберите в раскрывающемся списке вариант От- крыть для чтения. Чтобы открыть базу данных в монопольном режиме (без возможности доступа к ней других пользователей), щелкните кнопку со стрелкой и выберите вариант Монопольно. Чтобы открыть базу данных только для чтения в монопольном режиме, - щелкните кнопку со стрелкой и выберите вариант Монопольно для чтения. Режим открытия по умолчанию I I I I I I Режим открытия базы данных по умолчанию для программы Access может быть уста- новлен в ее свойствах (см, раздел «Параметры настройки программы Access» ниже в этой главе). В разделе Дополнительно диалогового окна Параметры Access есть переключатель Режим открытия по умолчанию, который можно устано- вить в одно из положений: общий доступ или монопольный доступ. Выберите одно из положений, и все базы данных будут открываться в вашей программе в этом режиме. Исключение составит способ, описанный выше, а также использование па- раметров запуска, например, с помощью ярлыка файла базы данных (см. раздел «Параметры командной строки для запуска Access» ниже в этой главе). Для баз данных, с которыми приходится достаточно часто работать, удобно создавать ярлыки, которые размещаются в легкодоступном месте, например, на рабочем столе Windows или в папке Мои документы. Ярлык базы данных может хранить не только расположение файла базы данных (в том числе и в сетевой папке), но также параметры командной строки для запуска программы Access (см. ниже в этой главе раздел «Параметры командной строки для запуска Access»). Чтобы создать ярлык, щелкните значок файла базы данных правой кнопкой мыши и выберите в контекстном меню команду Создать ярлык. В списке фай- лов, рядом с базой данных, появится ярлык. Скопируйте или переместите яр- лык в ту папку, где его будет легко найти. Можно с помощью того же контекст- ного меню отправить ярлык на рабочий стол, на диск, в папку Мои документы, адресату и др. «Чужая» база данных в Access Вы можете напрямую открытый файл базы данных «чужого» формата | см. раскры- вающийся список форматов файлов в поле Тип файла диалогового окна Откры- тие файла базы данных), например, dBASE, Paradox, Microsoft Exchange или Microsoft Office Excel 2007. Вымажете также непосредственно открытый любой ис- точник данных ODBC, например, Microsoft SQL Server или Microsoft FoxPro. При этом Access автоматически создаст новую базу данных в той же самой папке, в ко- торой находится исходная база, и добавит связи к каждой ее таблице Для создания новой базы данных можно использовать один из способов, описан- ных в главе 5 «Создание баз данных и таблиц».
Работа с файлами баз данных 79 t Удаление файла базы данных Access Файл базы данных Access можно удалить (как и любой другой файл) в окне папки Windows. Можно также удалить файл внутри окна Открытие файла базы данных (см. рис. 3.4). При работе в многопользовательской среде перед удалением необходимо убе- диться, что файл закрыт всеми пользователями. Удаленный файл, как и все файлы в Windows, помещается в папку Корзина. Если потребуется его восстано- вить, то его можно будет найти до тех пор, пока папка Корзина не будет очищена или переполнена. Другие базы данных могут содержать объекты, связанные с удаленной базой данных. Перед удалением следует внимательно рассмотреть этот вопрос и при необходимости, например, импортировать или скопировать таблицы удаляемой базы данных в другое место. После удаления можно будет с помощью Диспетче- ра связанных таблиц (кнопка которого расположена на вкладке Работа с база- ми данных Ленты) обновить связи в этих базах данных. Иначе при попытке ис- пользовать связанные объекты будет выдано сообщение об ошибке. Переименование, перемещение и копирование файла базы данных Переименовывать, перемещать или копировать файлы баз данных Access можно любым способом, доступным в Windows. Для выполнения этих задач также можно пользоваться диалоговым окном Открытие файла базы данных (см. рис. 3.4). Так же, как и при удалении файла базы данных, перед проведением этих опе- раций при работе в многопользовательской среде необходимо убедиться, что файл закрыт всеми остальными пользователями. Если другие базы данных со- держат ссылки на объекты перемещенной или переименованной базы данных, то для их обновления впоследствии следует использовать Диспетчер связанных таблиц. Иначе при попытке использовать связанные объекты будет выдано со- общение об ошибке. Удаление личных сведений из файла базы данных Перед передачей копии базы данных в распоряжение других пользователей целесообразно удалить из нее личные сведения. Чтобы это сделать: 1. Щелкните кнопку «Office», чтобы открыть ее меню. 2. Щелкните кнопку Параметры Access, чтобы открыть одноименное диало- говое окно (см. рис. 3.8). 3. В диалоговом окне перейдите в раздел Текущая база данных. 4. Установите в нем флажок для параметра Удалять личные сведения из свойств файла при сохранении.
80 Г лава 3. Знакомство с программой Microsoft Office Access 2007 Удаление личных сведений из свойств файла Сведения, которые добавляются к документу автором (они размещаются в диало- говом окне свойств файла на вкладке Прочие), например, «Издатель», «Группа» и т.д., автоматически не удаляются. Их нужно удалять вручную, используя команду Управление | Свойства базы данных в меню кнопки «Office». Меню кнопки «Office» В меню кнопки «Office > (рис. 3.6) содержатся следующие команды и элемен- ты управления: Рис. 3.6 Меню кнопки «Office» Открыть W£р,з,жпь Последние документы 1 Электрон мая 6ибгмот<кк200Л«сс<Я} 2 Электронная библиотека 2007.mdb J V?Электронная библиотека 2000.mdb 4 V-ЛБорей 2007лс«П> 5 \ ддкных3.а«с1Ь Сохранит» *ак fi V лЧБам дамных4.твь 21.ЛЭ*«ктр©нкая библиотека.тпбЬ Печать ^правление Злектронкая почта ОпубЛИКОМ1Ь Закрыт» базу данных £ <>\Бам даняыХХ.ассбЬ Й V .VftMyabTtTHitccib » Л ПараметрыАссем](х В*»* Команда Создать. При выборе этой команды текущая база данных закры- вается, а в рабочей области открывается окно Приступая к работе с Microsoft Office Access, с помощью которого можно создать новую базу дан- ных, а также выполнить другие действия (см. раздел «Создание базы дан- ных» главы 5 «Создание баз данных и таблиц*). Команда Открыть. Вызывает на экран диалоговое окно открытия базы данных (см. раздел «Открытие базы данных» выше в этой главе и рис. 3.4). Команда Сохранить. Сохраняет базу данных в файл, из которого она была открыта. Каскадное меню Сохранить как. Команды этого меню (рис. 3.7) использу- ются для преобразования формата файла базы данных и его сохранения, а также для преобразования и сохранения объектов базы данных. Команду «преобразования» в тот же формат данных, который имеет открытая база, можно использовать для создания копии базы данных.
Панель быстрого доступа 81 Рис. 3.7 Каскадное меню Сохранить как Сохранять гисущмй объест бам* длиныш 1—к 1 создать Сохранять объект кам Сохранение текущею объекта базы данным в нсыом объекте Открыть Cojtpewwrbj^K » База данмыж Даем 2002 2001 Сохранение копии в формате, совмеаимсы с Access 2002-2003. 1ТД Параметры A/ сет» X бдеод Найти надстройки дяж других форматов файлов <Ъ Сведения о надстоойщ. исполыуеыых для сохранения в сругии форматах, таких как PDF и ХР5. Сохранить бад данных в другом формате База данных Дием 2001 Сохранение копии в формате, полностью совместимом с Access 2007. почта Опубликомхь Закрыть базу данных Бам данных Acteu 200fi Сохранение копии в формате совместимой с Лесе» 2000 ген Каскадное меню Печать, В этом меню содержатся команды для печати выделенного (в панели переходов) объекта базы данных. Печать можно проводить как с настройками «по умолчанию», так и с подробной настрой- кой параметров печати в диалоговом окне Печать. Кроме того имеется ко- манда для предварительного просмотра печатного документа. Каскадное меню Управление. В нем содержатся три команды. Команда Сжать и восстановить базу данных обеспечивает выполнение обычной про- цедуры обслуживания для обеспечения целостности базы данных. Команда Резервная копия базы данных создает резервную копию базы данных с це- лью предотвращения потери данных. Команда Свойства базы данных от- крывает окно просмотра и задания свойств файла базы данных, включая ее название и владельца. Команда Электронная почта- Она подготавливает и отправляет выделен- ный объект по электронной почте. Каскадное меню Опубликовать. В нем можно найти две команды: команда Сервер управления документами организует общий доступ к базе данных за счет сохранения ее на сервере управления документами, а команда Упа- ковать и подписать обеспечивает упаковку файла базы данных и примене- ние к нему цифровой подписи. Команда Закрыть базу данных. Ее смысл понятен из названия. После за- крытия файла базы данных в рабочей области появляется окно Приступая к работе с Microsoft Office Access Кнопка Параметры Access. Эта кнопка открывает диалоговое окно на- стройки параметров программы Access 2007 (рис. 3.8), которое подробнее рассмотрено в разделе «Настройка программы Access 2007» ниже в этой главе. Кнопка Выход. Щелкнув эту кнопку, вы закроете и базу данных, и про- грамму Access.
82 Глава 3. Знакомство с программой Microsoft Office Access 2007 Рис.3.8 Диалоговое окно Параметры Access Минимизированное меню кнопки «Office» I I . ‘ 1 1 • Меню кнопки «Office» можно «минимизировать», оставив в нем только кнопки за- крытия базы данных и программы Access. Для этого откройте диалоговое окно Па- раметры Асееве и в разделе Текущая база данных снимите флажок у пара- метра Полный набор меню Access. Действие настройки вступит в силу после закрытия и повторного открытия базы данных. Панель быстрого доступа В панели быстрого доступа (рис. 3.9) сосредоточены кнопки чаще всего вы- полняемых команд (по умолчанию): Создать (файл базы данных), Открыть (базу данных), Сохранить (базу данных), Электронная почта (послать выделенный объект адресату), Быстрая печать (печатается выделенный объект с настройка- ми «по умолчанию*). Предварительный просмотр (печатной копии выделенно- го объекта), Орфография (проверка орфографии в выделенном объекте), Отме- нить (последнее выполненное действие), Вернуть (отмененное действие), Режим (изменение режима отображения выделенного объекта) и Обновить все (обнов- ление объектов базы данных). Эти кнопки отображаются в панел и быстрого дос- тупа в том случае, если в меню слева от них стоит флажок (см. рис. 3.9). Просто щелкните в панели нужную вам кнопку, чтобы выполнить команду. В некоторых случаях перед этим необходимо выделить какой-нибудь объект или элемент. Если этого сделано не будет, то кнопка команды будет недоступной («бледной*).
Панель быстрого доступа 83 Рис. 3.9 Панель быстрого доступа и ее меню Насдойм !Мнелй быстрого доступ» li Создать Открыть Сохранить Электронная почта Быстр»» печать ПредмритеяьмыАлросматр Орфография Отменить 1 * » • - ♦ Вернуть Режим Обновить все Другие команде на разместить под лентой Сдернуть ленту В нижней части меню панели быстрого доступа расположены три команды, которые управляют отображением Ленты (команда Свернуть ленту), размеще- нием панели быстрого доступа под Лентой или над ней (Разместить под лентой и Разместить над лентой), а также добавлением к панели кнопок других команд (Другие команды). Последняя команда открывает диалоговое окно Настройка Access в разделе Настройка (рис. 3.10). -----------------------------------:-------------------------------------1 Панель быстрого доступа, содержащая немного кнопок и расположенная вверху, занимает на экране меньше места. На этой вкладке диалогового окна Настройка Access имеются два списка. Ле- вый список содержит команды, которые можно добавить в панель, а правый — команды, которые в ней уже есть. Раскрывающиеся списки Выбрать команды из и Настройка панели быстрого доступа позволяют выбрать вкладки Ленты, откуда будут выбраны команды, и задать содержание панели быстрого доступа для всех баз данных или только для текущей. Выделите команду в списке слева и щелкните кнопку Добавить, чтобы перенести ее в панель. Для удаления кноп- ки из панели используйте кнопку Удалить, которая станет доступна, если вы выделите команду в правом списке. Для изменения порядка команд в панели быстрого доступа предназначены кнопки со стрелками, направленными вверх и вниз, расположенные справа. Выделите команду и щелкните подходящую кнопку один иди несколько раз, чтобы переместить команду в панели быстрого доступа на нужную позицию. Вы можете добавить команду на панель быстрого доступа непосредственно с Ленты Щелкните кнопку выбранной вами команды на Ленте правой кнопкой мыши и выбе- рите в контекстном меню команду Добавить на панель быстрого доступа.
84 Глава 3. Знакомство с программой Microsoft Office Access 2007 Основные Текущая 6см данных Таблица Конструкторы объектов правописание безопасность» Центр управления Ресурсы № Рис. 3.10 Диалоговое окно для настройки кнопок панели быстрого доступа |*ц| Настройка панели быстрого Выбрать команды их Часто используемые команды у , Дополнительно вдетргйки «ВДдмитель» PDF ИЛИ XPS Быстрая печать вернуть Импгрт ХМ1-файла Импорт бавы данных А. Импорт списка ShareP,. Импорт текстового фа Импорт электронной т. Кзш данных списка Новый объект запрос Новый объект макрос Новый объект отчет Новый объест; таблица новый объект: форма Обновить все .Орфография Открыть Отменить Отчет предварительный про... Применить фильтр Режим £дали!ь цветронкв панели быстрого доступг Г ! Дяя всех документов (по ?молч. х* ж Кнопка езлеиемт г.1рввм... Q Создать >•3 Открыть Щ Сохранить С* Вернуть •О Отменить t А Предварительный просе. Орфо, рафия 4?] Обновить все W Режим Щ Электронная почта 4^ Быстрая печать « Разделитель» Q Новый объект: форма » !* 1» д С foot А* Изменить EJ Евзыестить панель быстрого доступ* под лентой Лента Лента (рис. 3.11) — самое яркое нововведение в интерфейс пользователя про- грамм Microsoft Office 2007. II не только потому, что она имеет значительные размеры и насыщена элементами управления, но и потому, что «из-за нее» из программ исчезли привычные каскадные меню и панели инструментов. i *М ВП*в*“* .л । ............................._________________1 аь Создать Т. ftoj* , , • « . 1 ad • *JF J e«*c«nn* - •>УС«имнить ••вавия fi ^дммМим^ьк* ’ ХУлмль*»* 3^ПоЯ?*,,|*во * 1 ?’ ' V Прн***»и* ♦' . . .. j^i-н^ййяМ--. Рис. 3-11 Лента программы Access 2007 Лента создана специально для того, чтобы пользователю было удобно нахо- дить и выполнять все команды программы. Для этого команды (а они представ- лены кнопками, списками и галереями, рис. 3.12) собраны в логически связан-
Лента 85 ные группы (разделы) и распределены на тематических вкладках Ленты. В за- висимости от размера окна программы Access (меняется и ширина Ленты) разделы Ленты могут быть свернуты или развернуты. Развернутый раздел ото- бражает все входящие в него элементы управления. Свернутый раздел представ- лен своим значком, заголовком и кнопкой со стрелкой, направленной вниз. Щелкните кнопку, чтобы развернуть раздел. Элементы раздела будут отображе- ны ниже Ленты. Все элементы управления разделов снабжены подробными всплывающими подсказками, появляющимися на экране (если задержать на них указатель мыши). Мктер мтрмвгичгыогб фооыпироыгшя Рис. 3.12 Галерея стилей автоматического форматирования форм (чтобы применить к форме нужный вам образец, просто щелкните его в галерее) На Ленте имеются четыре постоянные вкладки: Главная, Создание, Внеш- ние данные и Работа с базами данных. На вкладке Главная Ленты программы Access 2007 (см. рис. 3.11) имеются следующие разделы: Расположенные на Ленте маленькие кнопки со стрелками, направленными вниз, при их щелчке указателем открывают списки команд, панели, палитры или диало- говые окно, т.е. дополнительные «габаритные» элементы управления. Представление. Здесь расположена одна большая кнсжка, которая откры- вает список для быстрого переключения режима представления открытого объекта базы данных. Буфер обмена. Здесь содержатся средства для работы с буфером обмена Office. Кроме кнопок команд вырезания, копирования и вставки (в том чис- ле и специальной вставки), есть кнопка для открытия области задач Буфер обмена- привычной для пользователей программ М icrosoft Office 2003.
86 Глава 3. Знакомство с программой Microsoft Office Access 2007 Шрифт. Здесь собраны элементы управления для форматирования полей таблиц и запросов, а также элементов управления других объектов базы данных. Текст RTF. Элементы управления этого раздела доступны для выделенных фрагментов полей, свойство Формат текста у которых имеет значение Текст RTF. Они позвол яют применять расширенные способы форматирова- ния текста (рис. 3.13). Рис. 3.13 Тексте ячейке таблицы отформатирован как документ RTF с помощью кнопок разделов Шрифт и Текст RTF вкладки Главная Ленты | f Здесь еодеАжьтеятмгт формила RTF 2 Здесь содержится текст формата RTF. 1. Здесь содержится текст формата RTF. L_ .................... —-------------------------- Записи. В этом разделе расположены кнопки, списки команд и диалоговые окна для работы с записями таблиц. Сортировка и фильтр. Здесь содержатся средства для применения к запи- сям объектов базы данных разлчиных фильтров и способов сортировки. Найти. Здесь находятся средства для выполнения команд выделения, поис- ка, замены и перехода по записям. На вкладке Создание собраны средства для создания всех типов объектов базы данных, и ее разделы называются соответствующим образом: Таблицы» Формы, Отчеты и Другие. На вкладке Внешние данные вы найдете средства, с помошью которых можно выполнить все операции экспорта, импорта и сбора данных. На вкладке Работа с базами данных обеспечивается доступ к средствам для работы с открытой базой данных (большинство из которых в предыдущей версии программы Access содержалось в меню Сервис). Как свернуть Ленту? Ленту нельзя удалить или заменить на меню или панели инструментов (как это было в предыдущих версиях программы), но Лента может быть свернута так что отобра- жаться будут только ярлыки ее вкладок. Для этого в панели быстрого доступа имеет- ся команда Свернуть ленту. Свернутая лента освобождает больше места для объектов базы данных (рис. 3.14). Как только вы щелкните ярлык одной из вкладок скрытой Ленты, она развернется и откроет доступ ко всем своим элементам управ- пения Чтобы быстро свернуть Ленту, дважды щелкните ярлык активной вкладки или на- жмите комбинацию клавиш CTRL+F1. Повторное выполнение этих действий раз- вернет Ленту.
Лента 87 . J tai Мим» ( w Access |i f ' 1Ъ6ОТ* счабйицами Ж. ' « '% рднмлия Имя Отчее гво - ю ррг ’ иомментар v X & *. 1 ТяЬлмиы I S3 Switchbox d tteir i СЗ Arww S3 Авторы докумем1 щ] Иадагелытм 2Э Организации Э Таблиц*! ТаблацаЗ ft • f ' • '• « £ ’ ' ’ t * ГОВ id автора ft tv t В 2 ИГ Абасов Гургенович 2 мер** Гуляева Н.Н ДВ Алешина Диана Викторовна 2 теп. 111-1М1 3 BB Аманян В литер Витальевич £ г Рольск. а/я 276 'a' 4 B8 Берипов Вячеслав Васильевич з’ "Црез Смирнова А А ♦i 5 И.И, Гончарский Иван Иванович 7 ivan@maflnj L.. X. — Я 6 ЛЛ Графином Лидия Львовна 9 Москва, упС^ .'тенкаг д 7 BH Гуляев Вениамин Нмифоровю- 2 Через Гупяееа Н.Н 8 Г.П Давыдова Галина Павловна 5 Javydova ru i-l fl HC. Данилов Николай Сергеевич 4 danrto@malru Запросы |ф «Сопна 'Даторы' 10 РИ Дровских Ромам Игнатьевич ’8 теп.1 IM 1-12 £ и ГА Дугннский Герман Александров 6 Его уже нет II. ► . —, . ...jwv .w ♦«рмы ft ] ПИ Кнопочная форма Макросы А • Airtoewc 12 им 1 Егоров Иван Михайлович 3 Он на пенсии м не зани 13 BA Желеэоа Виктор Андреевич 9, Перешел в другую орг» it 14 ЮА Зажигагжин Юрий Андреевич 4 zazh<s@rnail ги •rS 15 C.C. Зуев Семен Семенович 6 zyt@ ntercom ru 16 BB Иванов Валерий Владимиров! 5 Перешел в другую орса « 17 ИО Истомин Иван Олегович 9 Он на пенсии и не зани _ 18 E.A Казакова Екатерина Андреевка 7 Через Гуляева Н Н .. 19] BB. Кириленко Впадимщв Владимиров! 7 г. Ропъск, а/я 275 4* 20 AC Козлов 7 г Ролыж. а/я 276 21 ИФ Копылов Иван Федорович 3 Он на пенсии и не занн Ti 3 BE Комелев Вячеслав Евгеньевич 9 теп 109-10-1-10 JI 23 AM. Кудрявцев Андрей Михайлович 3 Перешел в другую орта f «1 24 JIM Кудрявцева Людмила МмхаДповна 3 теп 111-11-11 25 И.П. Куликов 3 тел 111-11-11 t! 26 ПП Леденей Пантелей ГЪшловйч 7 Ом на пенсии и не зани 27 ИО Марусев Иван Олегович 9 тел 222 22 22 _ ШК Шам КПК Нжл пяи-> MUerua^ ГVt>d£>f»a 14 й Змикк и I inis ► * Т •пада . « . ... *Г*И« ~ Рис. 3.14 Лента была свернута так, чтобы освободить больше места для просмотра таблицы Работа с Лентой с помощью клавиш Работать с Лентой можно и с помощью клавиатуры. Для этого нажмите клавишу М — на ленте появятся подсказки — маленькие квадратики с буквами (см. рис. 3.11). Нажмите клавишу с той буквой, которая стоит над нужной вам вкладкой. Подсказ- ки появятся около кнопок и команд. Чтобы выполнить команду, нажмите клавишу с буквой, которая стоит рядом с ее кнопкой. Кроме основных вкладок Ленты, которые перечислены выше, на ней могут отображаться дополнительные (контекстные) вкладки» название и содержание которых зависит от того» с каким объектом базы данных в настоящий момент вы работаете. Дополнительных вкладок настолько много, что здесь не имеет смыс- ла их подробно описывать — ведь они появляются автоматически и в «нужный момент», а вам никогда не придется их искать. Например, на рис. 3.15 показано, что при работе с формой в режиме конст- руктора дополнительно отображаются вкладки Конструктор (Инструменты конструктора формы) и Упорядочить (Инструменты конструктора формы). Об ратите внимание на то» что в строке заголовка программы появилась надпись с указанием принадлежности вкладки, а также на то, что и надпись, и ярлыки контекстных вкладок слегка выделены («подсвечены») другим цветом. Вклад- ка Конструктор ( Инструменты конструктора формы) содержит 5 разделов, со-
88 Глава 3 Знакомство с программой Microsoft Office Access 2007 держание которых предназначено для добавления к форме элементов управле- ния и их форматирования, а вкладка Упорядочить (Инструменты конструктора формы) содержит 6 разделов, назначение которых состоит в упорядочивании, выравнивании и настройке размеров элементов управления, добавленных к форме. Рис. 3.15 Дополнительные вкладки Ленты для работы с формой в режиме конструктора Вкладки Ленты Всего в Access 2007 имеется 28 вкладок (постоянных и контекстных)! Контекстные вкладки, приписанные к разным объектам базы данных, могут иметь одно и то же название (но они отличаются принадлежностью к разным объектам или различным режимам). Например, всего имеется 13 вкладок, которые называются Конструк- тор Инструменты конструктора форм, Инструменты конструктора от- четов, Работа со связями, Работа с запросами, Работа с макросами. Ра- бота со сводными таблицами, Работа со сводными диаграммами, Ра- бота с таблицами Работа с функциями и представлениями, Работа с хранимыми процедурами Работа с инструкциями SQL и Работа со схемами. Эти вкладки предназначены для создания и настройки объектов базы данных. Несколько вкладок предназначены для упорядочивания содержимого объ- ектов. Они называются Упорядочить: Работа с макетами форм Инстру- менты конструктора форм, Работа с макетами отчетов и Инструменты конструктора отчетов. Три вкладки предназначены для настройки параметров печатных страниц: Предварительный просмотр, Параметры страниц (Ра- бота с макетами отчетов) и Параметры страницы (Работа с макетами отчетов). Две вкладки специально предназначены для настройки элементов управления форм и отчетов в режиме макета: Формат (Работа с макетами форм) и Формат (Работа с макетами отчетов). Еще одна вкладка использу- ется для настройки внешнего вида таблиц — Режим таблицы (Работа с табли- цами). На вкладку Надстройки будут перенесены пользовательские панели ин- струментов и меню, а также команды, добавленные на панели инструментов, если они сохранены вместе с базой данных Естественно, что она появится только тогда, когда меню и панели инструментов есть в базе данных. Эта вкладка отображается постоянно. Наконец, есть вкладка Элементы управления источника, которая содержит соответствующие своему названию инструменты и появляется только то- гда. когда элементы управления источника настроены в базе данных-
Область переходов 89 Область переходов Область переходов (панель навигации) появляется тогда, когда в Access 2007 открыта какая-либо база данных. Эта панель заменила окно базы данных, кото- рое было в предыдущих версиях программы Access, и играет роль «центра управ- ления объектами». В отличие от окна базы данных панель навигации всегда видна на экране, она не может быть закрыта другими объектами базы данных. Окно базы данных в Access 2007не отображается Если вы работаете с бозой данных, созданной в одной из предыдущих версий про- граммы Access, то в вашем распоряжении будет область переходов, а не окно базы । данных. Однако в Access 2007 она будет имеет ограниченную функциональность. С помощью области переходов можно открывать объекты базы данных в ра- бочей области программы, копировать и переименовывать объекты, удалять их, просматривать их свойства. Для этого используются элементы управления об- ласти переходов и контекстные меню. Если объект выделен в области переходов, к нему можно применять любые команды программы Access. Объекты или ярлыки в области переходов '' ' • Имейте а виду, что в списке объектов отображается кок сами объекты базы данных, г w ,1 так и их ярлыки. Если вы создаете пользовательские группы объектов, то в них поме- vJ щаются ярлыки, но в группах, зарезервированных в Access, располагаются сами объекты. Ярлыки можно «безболезненно» удалять из списков, не опасаясь повреж- дения самих объектов и базы данных. Область переходов базы данных содержит следующие элементы (рис. 3.16): строку заголовка, в которой есть две кнопки (для открытия контекстного меню и для открытия или закрытия самой области переходов); | ВЦ ОЙМЛЫ ACCWI Рис. 3.16 Область переходов базы данных Ломг»'- Строка заголовка 1МЖ. ;и|цкжа|||ц|н|а|а||^^ Габднцы Л Строка поиска объектов Иадомьстм Список объектов ИЗ ОрГАЧММЦИМ S3 Твблмцв! S3 Т*6/1гЦ*2 и Киопочим форы* Ммросы £2 Autoexг' Регулируемая правая граница
90 Глава 3. Знакомство с программой Microsoft Office Access 2007 Как скрыть область переходов? Для свертывания или развертывания области переходов нажмите клавишу Fl I или щелкните кнопку Открыть/закрыть границу области переходов *.____________—----------------------------------------- строку поиска объектов; список объектов, сгруппированных по категориям или группам; контекстное меню области переходов и выделенных объектов; регулируемую правую границу. Содержание области переходов автоматически обновляется при открытии базы данных и при создании нового объекта. Представление объектов в области переходов Можно изменять вид представления объектов в области переходов. Для этого используется команда Просмотр контекстного меню строки заголовка. Имеют- ся следующие варианты представления: Сведения, Значок и Список. Для срав- нения эти варианты показаны на одном и том же списке объектов па рис. 3.17. гл дах; АШоежес Ммрос comwmAj М UJSOt 1. ишенг^ня 0512^006 220 54 Дагесвииннй 05 иXC41XJ4АЖ Дп «м» ОМ2.ЮО4 хмде Ммсросы 7 AutoctM Д|’»со>д»и||* 04122006 HCL3S Дна .иыаитмак 0411 ХММ19 0^15 <W MMUHt Лета •ома»*» 0512Л0К1Э'< 4Я Дна имамами 05.12.20» U * 4в 5*лргх («блмцы б”1 Копин Айторм* Ажтври ьапрмси * 2р Кслиа "АятораГ формы « 3 АЖГООЫ | П * a ZZ Automc Модули А Рис- 3-17 Различные варианты представления одного и того же списка объектов в панели переходов: Сведения (слева). Значок (в центре) и Список (справа) Открытие объекта базы данных Чтобы открыть объект базы данных (таблицу, запрос, форму, отчет), выпол- нить макрос или загрузить модуль в редактор VBA, достаточно дважды щелк нуть его или его ярлык в области переходов. Можно также выделить объект и на- жать клавишу Enter.
Область переходов Перетаскивание объектов базы данных Еще один способ открытия объекта — просто перетащить объекте рабочую область из области переходов (для этого рабочая область должна быть или пуста, или иметь представление объектов в виде окон). Если вы перетащите объект на рабочий стол или в лапку Windows, то создадите для него ярлык. Впоследствии, щелкнув ярлык, вы последовательно откроете Access, базу данных и объект, для которого был соз- дан этот ярлык. Кроме того» в контекстном меню объекта, которое открывается из области пе- реходов, содержатся дополнительные команды, которые позволяют открыть объект в определенном режиме (рис. 3.18). Например, для формы это могут быть: режим формы (команда Открыть), режим макета (одноименная команда) и режим конструктора (команда Конструктор). Рис. 3.18 Контекстное меню объекта (в данном случае, формы) в области переходов Пгреднвмотгп» £хрыгь в этой группе Хдмип, Ъ fiwpmn яй Копмромш & Вставить < . 1 • ”• 1 **-— —* • 1 *" — 2У г*о4л«в представлена» Е?... id_epropB: ИО: Ф*мили я: Имя: Отчество: М-Органигации: Комментарий* 1 *^*"7"'-’-' “ • . *' —• —— — — IV Техно логический университет 15 НИИ лоомь1шленн(мя материалов 1б1НИИМ1Гви/1 .. Поиск объектов в области переходов В больших базах данных может содержаться столько объектов (таблиц, форм, отчетов, запросов, макросов и др.), что их бывает нелегко найти в списках области переходов. Для того чтобы отыскать нужный вам объект, удобно ис- пользовать строку поиска, которая располагается под строкой заголовка. Сделайте следующее: 1. Отобразите строку поиска с помощью контекстного меню заголовка облас- ти переходов (команда Строка поиска). 2. В поле строки поиска наберите имя искомого объекта или его часть. 3. По мере того как вы будете вводить буквы, в списке объектов будут оста- ваться только те объекты (и группы4!, для которых часть названия совпа- дает с теми буквами, что вы ввели (рис. 3.19). 4. Для того чтобы удалить фильтр отбора объектов (при необходимости на- чать новый поиск), щелкните кнопку с изображением «перечеркнутой во- ронки» справа от строки поиска.
92 Глава 3. Знакомство с программой Microsoft Office Access 2007 Рис. 3.19 Отбор отображаемых объектов с помощью строки поиска Таблицы Я ПЗ Авторы документов . —•........— Копив Авторы' Фэр* О Акторы Удаление и переименование объектов Удаление и переименование объектов базы данных — очень ответственные действия. Если вы удалите только что созданный объект, для которого не были установлены межтабличные связи и на основе которого не были созданы ника- кие другие объекты, то вряд ли это может повредить саму базу данных. Но если объект участвует в межтабличных связях, то его удаление (или переименова- ние) может привести к более серьезным последствиям, вплоть до потери работоспособности самой базы данных. Автозамена имен Что касается переименования объектов, то Access может автоматически следить за такими действиями и вносить соответствующие изменения в структуру базы данных и ее объектов (это не относится к модулям VBA, изменения имен в которых вы долж- ны делать «вручную»). Для того чтобы эта возможность работала, в Access должно быть включено средство автокоррекции имен. Чтобы это проверить, откройте раз- дел Текущая база данных диалогового окна Параметры Access Найдите секцию Параметры автозамены имен и удостоверьтесь, чтобы у параметров отслеживать автозамену имен и выполнять автозамену имен стояли । флажки. Для удаления объекта выделите его в списке области переходов, щелкните правой кнопкой мыши :i выберите в контекстном меню команду Удалить (или нажмите клавишу Delete). Для переименования объекта в контекстном меню выберите команду Переименовать (или нажмите клавишу F2), а затем измените имя объекта непосредственно в списке (рис. 3.20). Закончите переименование нажатием клавиши Enter или щелчком мыши вне списка объектов. Рис. 3.20 Переименование объекта базы данных СТ Аггоры докум»-*то« Ш Вс» «поры 22 Дмны« ACNOMWOI СШ Орг»нимцим 1-ВбЛHlltlh ГТЭ *4? JIHHMKilMir.f'WMl - Мжрось AiHoextf Д, Module!
Область переходов 93 Копирование, вырезание и вставка объектов В контекстном меню объектов имеются и действуют «традиционным» спосо- бом команды Вырезать, Копировать и Вставить. Работают они через буфер об- мена Office и могут применяться для выполнения следующих действий: копирование и перемещение объектов базы данных Access между группа- ми; добавление копии объекта в эту же или в другую базу данных; перемещение объекта в другой документ Microsoft Office, например, Word или PowerPoint. В контекстном меню области переходов имеются также команды для экспорта и им- порта объектов (имеются в виду базы данных и файлы других форматов). Наверное, удобнее это делать, все-таки, с помощью вкладки Внешние данные Ленты, но от- крыть окно мастера импорта (или экспорта) вы можете и из области переходов. Группировка объектов Объекты отображаются в списке области переходов не случайным образом, а упорядоченно, по категориям и группам объектов. Настройка производится с помощью меню строки заголовка области переходов (рис. 3.21), которое от- крывается с помощью кнопки со стрелкой, направленной вниз. Рис. 3.21 Меню строки заголовка области переходов и вид списка всех объектов, сгруппированного по типам Самым простым и очевидным способом группировки является группировка по типам объектов, без фильтрации, то есть когда показываются все объекты, существующие в базе данных. Именно этот случай показан на рис. 3.21. Здесь объекты перечислены в группах, которые озаглавлены в соответствии с типом объектов, т.е. Таблицы (всего 7 таблиц в этой группе). Формы (одна форма) и т.д. Обратите внимание на то что, так как запросов в базе данных еще не созда- но, группа Запросы отсутствует.
94 Глава 3. Знакомство с программой Microsoft Office Access 2007 Сворачивание групп объектов —"mill! — ' I" -~ I ' 1 R | F* » Группы можно отображать в развернутом (показываются все объекты, входящие в группу/ и свернутом (показывается только заголовок группы} видах. Чтобы свер- нуть [или развернуть} группу, достаточно щелкнуть ее заголовок. С помощью меню можно изменять категории группировки объектов. Здесь у вас есть следующие альтернативные возможности: Настройка. При выборе этого варианта объекты будут объединены в группы, созданные пользователем. По умолчанию это Неназначенные объекты (куда изначально помещаются все объекты) и Настраиваемая группа 1 (отталки- ваясь от которой вы можете начать собственную группировку объектов). Настройка пользовательских групп I ’—----------------* * Пользовательские группы можно добавлять и переименовывать iвсего можно соз- дать до 10 пользовательских групп). Для работы с собственными группами в диало- говом окне Параметры Access перейдите в раздел Текущая база данных, где щелкните кнопку Параметры переходов. В одноименном диалоговом окне (рис. 3.22) имеются все средства для добавления категорий и групп, а также их пе- реименования и изменения порядка расположения. Заполнить группы объектами можно с помощью контекстного меню объекта, в котором для этого есть специаль- ная команда —Добавить в группу | Имя группы (естественно здесь будут ото- бражаться только группы, созданные пользователем). В этом меню также ест в ко- манда для создания новой группы, переименовать которую можно непосредствен- но в списке объектов. Объект можно добавить сразу в несколько пользовательских групп (потому что, на самом деле, в группу добавляется ярлык объекта, а не сам объест). Рис. 3.22 Диалоговое окно Параметры переходов
Область переходов 95 Таблицы и связанные представления. В этой категории объекты объединя- ются по принадлежности к таблицам базы данных. Например, на рис. 3.23 показано, что на основе таблицы Все авторы построены одноименные фор- ма и отчет (они объединены в одну группу), а остальные таблицы «одино- кие*. Не связаны ни с какими таблицами макрос Autoexec и модуль Modulel, о чем свидетельствует то, что они помещены в группу Несвязан- ные объекты. Рис. 3.23 руппировка по таблицам и связанным с ними представлениям таблиц Дата создания. Группы формируются по дате создания объектов: Сегодня, Вчера, Прошлая неделя и т.д. Дата изменения. Группы формируются по дате последнего изменения объ- ектов: Сегодня, Вчера, Прошлая неделя и т.д. С помощью меню заголовка области переходов можно также отбирать отобра- жаемые в списке объекты. Например, при группировке По типам, можно задать отображение только Таблиц, только Запросов, Форм, Отчетов, Макросов, Мо- дулей, а также Всех объектов Access (см. рис. 3.21). В каждой категории имеются свои критерии отбора. Как группы объектов, так и отдельные объекты внутри конкретных групп объектов можно скрыть, то есть сделать так, чтобы в списке панели переходов они не отображались. На функциональность базы данных это никак не влияет, но можно рассматривать скрытие объектов как один из способов их защиты. Для скрытия объектов и групп используются команды контекстных меню: Скрыть (для групп) или Скрыть в этой группе (для объектов). Объект можно так- же скрыть, если установить флажок для атрибута Скрытый в диалоговом окне свойств объекта (это окно открывается командой Свойства объекта из контекстного меню объекта).
96 Глава 3 Знакомство с программой Microsoft Office Access 2007 Скрытые объекты ________________________ Скрытый с помощью диалогового окна свойств объект «исчезает» из всех групп. Скрытый с помощью контекстного меню объект «исчезает» только в своей группе, но остается видимым во всех остальных группах. Чтобы отобразить скрытые объекты в «полупрозрачном» представлении, в диало- говом окне Параметры переходов (см. рис, 3.22) следует установить флажок для параметра Показывать скрытые объекты. Чтобы «полностью снять» скры- тие объекта, следует воспользоваться контекстным меню «полупрозрачного» объ- екта (рис. 3.24). Рис. 3.24 Отмена скрытия объекта Переименованная таблица I Сггрднл Modutel Я Вес авторы Прошлая педеля гз Лалоры документов 123 Данны* домуадгнтл» £2 ТАБЛИЦА | 3? дгкрмть id ^Инструктор Импорт • Экспорт * £бор и обновление данных ло иктооннон почте Пммцмемокпь ДЗякдмш я этой групп* гдялигь ~ А бЫрОИТЬ копировать ftZTjtxrt» W* — I 1^ fbf* «Я * Д V :'#гчтр tJjAiarrW? Свойства таблицы 22 ' •: & * • ; 1 lltf у* ' Z3 Орг»нияц«и Отмена отображения области переходов для текущей базы данных Можно ли вообще не отображать область переходов для базы данных? Это был бы неплохой способ защиты объектов от постороннего вмешательства. Да» можно. И очень просто: 1. Откройте диалоговое окно Параметры Access. 2. Перейдите в раздел Текущая база данных. 3. Снимите флажок для параметра Область переходов. 4. Появится диалоговое окно с предложением перезапустить базу данных, чтобы сделанные вами изменения вступили в силу (рис. 3.25). Щелкните ОК и перезагрузите базу данных. Рис. 3.25 Закройте и вновь откройте базу данных, чтобы сделанные изменения параметра вступили в силу
Рабочая область 97 База данных может стать «неуправляемой» Скрывать область переходов можно лишь тогда, когда в базе данных подготовлен интерфейс (например, на основе кнопочных форм), позволяющий открывать ее объ- екты. В противном случае база данных просто станет «неуправляемой». Рабочая область Открытые объекты в рабочей области программы Access 2007 отображаются на вкладках. Количество ярлыков вкладок соответствует количеству открытых объектов (таблиц, форм, запросов и отчетов, а также макросов в режиме конст- руктора). Такой способ (в отличие от отображения каждого объекта в отдельном окне) принят в Access 2007 по умолчанию. Это позволяет располагать все откры- тые объекты в поле зрения пользователя и иметь к ним быстрый доступ (рис. 3.26). Рис. 3.26 В базе данных открыты две таблицы, форма и отчет, а на переднем плане находится отчет Все авторы (вкладка которого «подсвечена») Все авторы id_aoYOpa MO Фамилия 1 М.Г. 2 ДВ. Э B.B. 4 B.B. 5 И.И. Абасов Алешина Аманян ч Берилон Гончврсмии 6 декабря 2006 г. 2:27:19 Имя Отчество Игорь Гургенович Диана Викторовна Виктор Витальевич Вячеслав Васильевич Мввн Иванович __________________________________ Можно отменить показ вкладок открытых объектов. Тогда переключение ме- жду отображаемыми объектами может осуществляться или с помощью специ- ально созданных кнопочных форм, или с помощью средств области переходов. Чтобы убрать с экрана вкладки открытых объектов снимите флажок для пара- метра Вкладки документов в разделе Текущая база данных диалогового окна Параметры Access. Параметры командной строки для запуска Access Для управления способом запуска программы Access можно задавать пара- метры командной строки. Они действуют только на время текущего сеанса рабо- ты. Запомнить способ запуска можно, сохранив командную строку с параметра- ми внутри ярлыка. К примеру, командная строка (указан путь к Access, который задается по умолчанию при установке Microsoft Office): 'C:\Program FilesXMicrosof t Of f ice\Of f i cel 2 VMS ACCESS . EXE" /го "C:\Docnments and SettingsXABKXMoH документыХЭлектронная библиотека.accdb" 4 Access 2007
98 Глава 3. Знакомство с программой Microsoft Office Access 2007 запускает Access и открывает базу данных Электронная библиотека формата Access 2007, сохраненную в папке Мои документы, в режиме «только для чте- ния», строка: "C:\Program Files\Microsof t Of f ice\Of f 1се12 \MSACCESS. EXE*’ ”C:\MyFolder\MyDatabase.accdb” /x MyMacro запускает Access, открывает файл базы данных MyDatabase.accdb, а затем за- пускает ее макрос МуМасго, а строка "C:\Program Files\Microsoft Office\Officel2\MSACCESS.EXE” "D:\dbl.mdb" /WRKGRP "D:\Security.mdw" запускает Access, открывает файл базы данных dbLmdb с файлом рабочей груп- пы Security, mdw. Обратите внимание на то, что пути заключены в кавычки. Это сделано потому что назвыания папок содержат пробелы. Основные параметры командной строки для запуска Access перечислены в таблице 3.1. Таблица 3. Параметры командной строки для запуска Access Параметр 1 - - Его описание Путь и имя базы данных Запускает программу Access и открывает базу данных. /excl Открывает базу данных в режиме монопольного доступа. / f ® Открывает базу данных с доступом «только для чтения». /runtime Запускает базу данных в исполняемой версии программы (без возможности какого бы то ни было ее редактирования] (рис 3.27). /user Имя пользователя Открывает базу данных Access от имени пользователя. Исполь- зуется для версий файлов Access 2002-2003 или более ран- них. /pwd Пароль Открывает базу данных Access с указанным паролем. Исполь- зуется для версий файлов Access 2002-2003 или более ран- них. /profile Профиль пользователя Запускает Access с использованием параметров указанного профиля пользователя вместо стандартных параметров реест- ра Windows, записанных при установке Access., /compact Путь и имя конечной базы данных Сжимает и восстанавливает базу данных (проект) и закрыва- ет Access. Исходная база данных должна быть указана перед параметром /compact Если опустить путь и имя конечной базы данных, то база данных после сжатия заменит исход- ную- Если не указывать путь для конечной базы данных, то она будет записана в папку Мои документы. В проектах Access сжимает файл Access, но не базу данных Microsoft SQL Server.
Параметры настройки программы Access 99 Параметр Его описание / repair • Сжимает и восстанавливает базу данных Access, которая ука- зана перед параметром /repair, а затем закрывает Access. В Access 2000 и более поздних версиях функциональные воз- можности сжатия и восстановления поддерживаются парамет- ров /compact. Параметр /repair используется для совместимости с более старыми версиями. /convert Путь и имя конечной базы данных Преобразует базу данных (или проект) в формат Access 2007 из более ранних версий, записывает новый файл и закрывает Access. Исходная база данных должна быть указана перед па- раметром /convert. /х Макрос Запускает Access, а затем запускает макрос Макрос. Чтобы выполнить процедуру VBA, ее выполнение следует задать в макрокоманде. Другим способом автоматического выполне- ния макроса после открытия базы данных является создание макроса с именем Autoexec. /wrkgrp Путь и имя файла рабочей группы Запускает Access с использованием указанного файла рабо- чей группы для базы данных Access. Используется для версий файлов Access 2002-2003 или более ранних. Рис. 3.27 Рабочий вариант базы данных Электронная библиотека 2007 запущен в режиме исполняемой версии программы (без возможности какого бы то ни было редактирования) Параметры настройки программы Access Все параметры настройки программы Access 2007 собраны в одном диалоговом окне Параметры Access» универсальном для нового интерфейса программ Microsoft Office 2007. Открывается это окно с помощью кнопки Параметры Access, которая расположена в нижней части меню кнопки ♦Office» (см. рис. 3.7). Некоторые параметры настройки были описаны в предыдущих разделах данной главы, другие — более подробно будут описаны в последующих главах книги, там, где это будет соответствовать излагаемой теме. Здесь описана структура диалого- вого окна Параметры Access и его основное содержание.
100________________Глава 3» Знакомство с программой Microsoft Office Access 2007 Диалоговое окно Параметры Access состоит из разделов, список которых расположен слева. Справа отображается содержание выделенного раздела (см. рис. 3.8). В разделе Основные (см. рис. 3.8) содержатся главные параметры настройки ♦ поведения» программы. Здесь вы можете настроить содержание всплывающих подсказок, появляющихся при наведении указателя на элемент управления, выбрать цветовую схему программы (обычная синяя, спокойная серебристая и контрастная черная). Также можно изменить рабочий каталог, в котором бу- дут сохраняться базы данных, и указать формат базы данных, создаваемой по умолчанию, выбрать порядок сортировки данных. Чтобы эти параметры всту- пили в силу, нужно будет перезапустить программу Access. Наконец, здесь мож- но ввести имя и инициалы пользователя и настроить язык интерфейса програм- мы и ее справочной системы, а также язык редактирования (кнопка Языковые параметры). В разделе Текущая база данных содержатся настройки, которые действуют только для текущей (открытой) базы данных. Например, здесь вы можете за- дать имя и значок приложения, который также будет автоматически добавлять- ся к формам и отчетам базы данных, указать форму, которая будет автоматиче- ски открываться при запуске базы данных, задать отображение объектов на вкладках или в отдельных окнах, удалить личные сведения из базы данных, указать способ сохранения изображений, настроить область переходов («вер- нуть» окно базы данных), настроить автозамену и автофильтр и т.д. Большинст- во настроек, которые будут здесь сделаны, вступят в силу после следующего открытия текущей базы данных. Раздел Таблица содержит настройки таблиц, которые действуют в програм- ме по умолчанию. Для таблиц вы можете указать фон, чередование цветов, пара- метры линий сетки и шрифта. В разделе Конструкторы объектов содержится большое количество парамет- ров, сгруппированных по типам объектов базы данны к. Эти параметы регулиру- ют поведение программы в режимх конструкторов объектов, которые использу- ются для создания и изменения объектов базы данных. Например, для конст- руктора таблиц можно задать тип данных, который будет приписан вновь созданному полю, размер (в знаках) новых текстовых полей, размер вновь добавляемых числовых полей и др. Раздел Правописание «посвящен» настройке модуля проверки орфографии, который используется в программе. Здесь же вы можете открыть диалоговое окно автозамены, настроить вспомогательные словари, указать язык проверки правописания. Раздел Дополнительно содержит параметры настройки программы, которые не вошли ни в один из предыдущих разделов. В частности, здесь настраиваются способы редактирования, вывод на экран, поля печатных страниц, звуковое со- провождение, формат дат, режим открытия баз данных по умолчанию, блокировка записей, аргументы командной строки и др. В разделе Настройка производится настройка панели быстрого доступа. Вы можете выбрать любую команду (с любой постоянной или контекстной вкладки Ленты!) и добавить ее в список команд панели быстрого доступа. Можно также задать место расположения панели: над Лентой или под Лентой. Раздел Надстройки предназначен для управления надстройками програм- мы. Раздел Центр управления безопасностью содержит средства и элементы управления, предназначенные для обеспечения безопасности компьютера и баз данных (надежные расположения, надежные издатели, запуск «чужих» макро-
Факторы, оказывающие влияние на быстродействие баз данных Access 101 • сов и т.д.). Раздел Ресурсы содержит кнопки, которые открывают сервисные средства программы, предназначенные для выполнения следующих действий: получение обновлений, диагностика и исправлениея ошибок приложения, обра- щение в службу технической поддержки, активация программы, получение сведений о версии программы и др. Факторы, оказывающие влияние на быстродействие баз данных Access Можно перечислить несколько рекомендаций для повышения быстродейст- вия базы данных Access (в порядке убывания важности): Access и базы данных, расположенные на компьютере пользователя работа- ют быстрее, чем Access и базы данных, расположенные на сетевом сервере. База данных, открытая в режиме монопольного доступа, работает быстрее, так как другие пользователи не могут получить к ней доступ. Чтобы освободить оперативную память, закройте все ненужные приложе- ния, не используйте электронный диск, настройте виртуальную память компьютера. При необходимости увеличьте оперативную память компьютера. Регулярно выполняйте сжатие базы данных.
Глава 4 Справочные и информационные ресурсы Access Для справочной системы Microsoft Access 2007 (впрочем, как и для всех про грамм Microsoft Office 2007, для которых справочная система имеет единый ин- терфейс) характерно наличие большого объема информации и разнообразных способов ее получения. Вместе с тем нужно, с сожалением, добавить, что в ней также немало редакторских огрехов и недоработок. Например, в русской версии не все окна справки переведены с английского языка, встречаются также грам- матические ошибки. Тем не менее, следует постулировать, что, так как это офи- циальный документ, поставляемый вместе с программой, в нем нет техниче ских ошибок. Действительно, при создании реального проекта базы данных вы будете не раз обращаться к справочной системе Access. Но для изучения про- граммы все-таки следует пользоваться книгами — справочные системы при- кладных программ для этого не предназначены. Получение справки по работе в Access Чтобы открыть окно справочной системы программы Access 2007, щелкните кнопку Справка: Microsoft Office Access в правой части Ленты или просто на- жмите клавишу F1 (рис. 4.1). Окно справочной системы программы (рис. 4.2) состоит из строки заголовка, в которой указывается, к какой программе Microsoft Office относится справка, двух панелей инструментов: стандартной и поисковой, оглавления справки, расположенного в левой части окна, и рабочей области (справа), в которой ото- бражается содержание разделов справочной системы и другие текущие сведе- ния. В нижней части расположена строка состояния, где отображается текущая область поиска, ярлыки просмотра и состояние подключения к Интернету. В программе Access вы можете использовать следующие способы поиска нужной вам информации:
104 Глава 4. Справочные и информационные ресурсы Access Рис. 4.1 Чтобы открыть окно справочной системы, щелкните кнопку Справка в правой части Ленты % ч Рис. 4.2 Окно справочной системы программы Access 2007 r«w*e Однократное использование переключателя с помощью добавления его в командную строку 1 MicroMAWmowt мпип мит*ГМ:и я зят»м ivCtoui» »ома 1ДуВыпогаигь 1 .'. .*..........<Ы-Ы— вивД>.*Й.1 А,<ЙНЬЯ4 а *г*а *»*.{» ытки»*' ^QtWBCMMC w аж»г чф ipHetpMQM ЯСОиш (JI WcTpruuMi AiTWuei и ij|j|ievwWMg ф Натрий»* «ФЯАЯ । ф HcrpwivM ОЕЦП* фвКгмчын ОйОй 1.«Яи' ф «Нтвучиа йсюл в ф иьстомм» dMKt фЛу’Швим*. яви 8 пала Опдш ь • длил тжош, мги «икмиг (иопгу *Мзор, «та&и pm ma BiajuctI гф<Лал, а затем — пар «л»4«талъ и nnflwa я уумянты в вдш>Я гаиацда иожха •№тз<ьэмап>н«1 nwmecwbc^anenaf»weап*».го» Напрамар.чпЛышкригк опямял w-иуи виу дан -ь к а режима тапькс для •тан .я, a затаи выпал» «"ь м* рас a л oR б»а длины?, лавдхта >жс<з... «к* гх« •< 1ХуР<э1<.<ВуЭ»1«йа... ыеД" /а №уЯм«« । Пни сгадуи^мд aanytta Яссаяа вез гор як пкыатшгий иомвидчой стро»и лрофеимл Оудп «е~/щлна а «итетлиис .вгтрты1«мйпоумопч'в и В сгадаящамроздвлаполезай^ мидвляъчагс ислопынамыА au ..hi адorr>ni»u для маториог « пользования •уч^а»» stOw*. tfemwH ГЖДМД<ЛЦ> ^9)мвма«*** й¥вг* -« '.ч.. пераилп-*втапм« всгуиамты нач/аетвитальчкАвеори/, ниши •<. гсспшшийшшми пара*и «мата в- JRO гм «я а «• и fro Состоя1И» «сыжмочт* ваммть имамиим t ма v*w onint ам-м >нхвыгг» tcuwPMMiMM гаяьад г дви№о яа>> могцм Овыкншие им.игграв. Посла какого пч ?клю««Т8ля и перяд наскд 1 Поиск по ключевым словам- Ключевые слова можно ввести в поле Введите слова, которые требуется найти, расположенное в левой верхней части окна справочной системы (рис. 4.3). Введите слова и нажмите клавишу Enter или щелкните кнопку Поиск, расположенную рядом. Если вы хотите указать область поиска, щелкните кнопку со стрелкой, направленной вниз, чтобы открыть меню областей поиска, и выберите в нем необходимую вам область в сети или на вашем компьютере (рис. 4.4). После этого в рабочей области отобразится список ссылок найденных разделов (рис. 4.5). Обрати- те внимание на то, что уже просмотренные ссылки отображаются другим цветом (как при работе с веб-страницами). Щелкните одну из ссылок, что- бы открыть нужный вам раздел справочной системы в рабочей области^
I Получение справки по работе в Access 105 Рис. 4 3 Введите ключевые слова, по которым необходимо найти раздел справочной системы ДО % < . •.ILL*..Л- _ । Формы Р Ооисд * ОгДОСЙИМе А мамажжкгя ^Г^яуменм**.?^»’*** .ф*1ХГре«ЙХМ»««еРб °® лагмд а***> ,' , / Рис. 4.4 Укажите область поиска с помощью меню кнопки Поиск 4ЮСг!=!» Саджеждове па веЪ-гзл» ОПке Олйпг Все Асии Xecti Спрдма А«од Шаблоны^ Ассеи OtyHwicr Содержимое кв данкс м компьютер* V Акен Справка OtfHni Orveiopcf tie Р Рис. 4.5 В рабочей области отображается список ссылок на найденные разделы справочной системы Ш'1 iwe*-»•*««« ф£«р*?ДО -!•— :"МдеМЗфМк« Функция Avg Cfp«fa в > гр*»*ромжг абъеггся > л^ея »»к« •» «u*v 5QL Ба»а длины АСОМ, Просмотрена для: "База данных Пгрсялючя'яли хочлмдно. г троям для Дссгм Gia^i » > Полудне стр-жги Ммпор’ дагеяй* миг г»м»ым** к дмммми У’гклрукцияытти.. итп > гфмкв > П8<гра»«*всвв»*еймгто» > Ореол1*»*»! го я»-м. 5QL •jipeera > Стр/» -уоа 6о»- лм^ыя Лктруициа МШГ Ин< гоуки^я IRANSOHM .гглмя > f v 1>эаан« объектов > Спыяо-тм» nj «surf S<X Инстрмщи. Al «Я UWR и M UR DAT ABA Mt Сп‘л>м t- Пятрагн vceawe обув»лея > <np*eowx x> -лыку *PQL |1*алогшкп «жно -Нгввхпдммю яиом пармл •униди" IjftMex CrtfASSM » Mfc iau.tDCej>»W № WTO» > Сгрдвэ • Ml .TO MJt^rJQL Если нужно использовать для поиска те же ключевые слова, которые использова- лись недавно, щелкните кнопку со стрелкой, расположенную справа от поля Вве- дите слова, которые требуется наити, после чего выберите нужное слово или словосочетание из списка. ।-------------------------
106 Глава 4. Справочные и информационные ресурсы Access Справочные ресурсы Интернета Если у вас установлено подключение к Интернету, то в списке появятся также раз- делы его ресурсов, которые можно отличить от разделов справочной системы по значкам, расположенным рядом с их названиями. Щелкните название раздела справочной системы, который вы хотите загрузить. Чтобы переключать область по- иска между локальным компьютером и Интернетом используется контекстное меню правой части строки состояния (см. рис. 4.2). Поиск по заголовкам разделов справочной системы. Для просмотра разде- лов справочной системы используется оглавление, расположенное слева (см. рис. 4.2). Если оглавление не отображается, щелкните кнопку Пока- зать оглавление в стандартной панели инструментов (рис. 4.6). Оглавление справочной системы, состоит из «книг*, содержащих тематические под- борки разделов. Щелкните «книгу», чтобы открыть ее содержание. Про- смотрите названия имеющихся в ней разделов. Откройте выбранный раз- ч дел в рабочей области, щелкнув его название. Рис. 4.6 Кнопки стандартной панели инструментов окна справочной системы Ив»** grtepCA ’« * Саеноенть <4^ ОДноеИП, О Домашняя страница лй* О*4*™ Ал Изменить размер шрифта П исдзеть оглашение J лсаерж остальных оком Определения терминов Внутри раздела могут встречаться надписи, отформатированные шрифтом другого цвета. Это могут быть термины, определения которых можно «раскрыть», если их щелкнуть (рис. 4.7), а также ссылки, переносящие вас к другому разделу справоч- ной системы. Рис. 4.7 Щелкните термин, чтобы просмотреть его определение P4PQBD » Пр рОТЖфО* ВММ фбэмрпг w > VrWMWW ll'M IW Ж вику Инструкция DELETE И Показать »:е Создает&а i к из одной>ипй нёсво* ь7их таблиц удадуг_° ^влиси п^оапаткпряющи^уаэ «ому У'1 рд^одэ] которыйудаляет записи из одной или масаопниихтаОпиц пеовчжленньп а выражении FRuM и удовпепормоидо «л шию предложения WHERE Спнтаясмс DELETE [яаеОпице Л FROM лоаДтоця WHERE Инструкция DELETE включает себя следящие элементы ______________________________________________________ - -
Получение справа по работе в Access 107 Печать справки Содержание справочного раздела можно распечатать. Для этого щелкните кнопку Печать в его окне. Перед выполнением печати установите параметры принтера и печатной страницы в диалоговом окне Печать Посещение узла Microsoft Office Online. Напрямую можно обратиться к это- му узлу Интернета, со страницы Приступая к работе с Microsoft Office Access (см раздел «Создание базы данных» главы 5 «Создание баз данных и таблиц» и рис. 5.1). Здесь вы можете найти (рис. 4.8): тематические статьи, советы, готовые шаблоны, учебные курсы (длительностью по 20-50 минут), файлы мультимедиа (для использования в приложениях Office), загружае- мые обновления, надстройки, конверторы, средства просмотра, продукты и услуги партнеров Office. Кроме того прямые ссылки на Интернет-ресурсы справки и обучения имеются также в справочной системе (см. рис. 4.4). Рис. 4.8 Информационная панель Новые возможности Access 2007 ЧаЙЙсеОпНпе Новые возможности Ассен 2007 . jfif Обновленная программ Асеев 7007 одержит мощные средства, |В£ЫМВН аогорые поааолчют быстро отслеживатьдаят ые. работать < мимы тА совместно » «идявап» г>тиеты в управляемой среде. Дополнительны* сведения о новы» вотыожмогтал мулу* шенты- . t поя ом ZMT штнн Mlaoioft ОПИс • Рнсводстао по интерфейсу пользователя Лесе» 2007 ф Орпннмция все» пбъеято» с помещаю новой, я err о доступной области пврекцдм ТИжек. веб-узле Offrce Online Умабний tape I Шаблоны Загрузла и ? a’-'**» Дол ллнцт «д ме < веди-41 * Автоматическое обновление справки Для автоматического получения содержимого с узла Microsoft Office Online задей- ствуйте соответствующие параметры в диалоговом окне Центр управления безопасностью (рис. 4.9). «Добраться» до этого окна можно следующим обра- зом. В окне программы Access щелкните кнопку «Office», чтобы открыть ее меню В нижней части меню щелкните кнопку Параметры Access, чтобы открыть одно- именное диалоговое окно. В диалоговом окне Параметры Access перейдите в раздел Центр управления безопасностью где щелкните кнопку Парамет- ры центра управления безопасностью. Откроется диалоговое окно Центр управления безопасностью, в котором перейдите в раздел Параметры кон- фиденциальности. Здесь и расположены параметры Искать справку на веб-узле Microsoft Office Online при наличии подключения к Интернету и Обновить ссылки на материалы веб-узла Microsoft Office Online, кото- рые вы можете включить или выключить. Чтобы избежать столь длительных поисков параметров автоматического обновления, просто щелкните ссылку Автоматиче- ски обновлять это содержимое с узла Office Online в информационной па- нели Новые возможности Access 2007 (см. рис. 4.8). Эта ссылка просто вклю- чает параметр Обновить ссылки на материалы веб-узла Microsoft Office Online.
108 Глава 4. Справочные и информационные ресурсы,Access ИЖ Основные Текущая вам денных Таблиц* Конструкторы объектов Правописание Дополнительно Настройся Надстройки шш • 1 Панель сообщений 8.2.2 ?/12.2.123. ОК итшна Рис. 4.9 Поддержание безопасности дэдмвнтов и компьютере Защита <юнфидеяцм*ти»осп» корпорация Майкрософт заботится о вашей конфиденциальности. чтобы получить дополнительные сведения о том, как MiuMort Office Дссеи помогает сехр тмить ко ефмденци&льностъ см заявление о конфиденциальности. Показать заявление с ионФкденцимьиоети MkrotoTI utTiCfACT Ct ЗДЯ1ДТМИЦЛЙГ!ф>МКГ1ШЖ| BHgffM Mta9K4.0ffltt ^ning По огр мама, ^дташекил адчестадBQ бсМнммостъ ы другие сждееиав 4 Ресурсы Надежные издатели Надежные расположены Надстройки Параметры макросов Дополнительные сведения о хмрт кснфядепциллъностп и безопасности ив веб-уме Microicft Office Onine. Центр томления боопасмостыо Mlgo.ofl Win йена С(Умениезашмаиннык информационных систем Цешв »т>*ялят«.бсзолжячстъ*о МктоюП Office АсСсй Центр управления безопасностью содержит параметры безопасности конфиденциальности Эти параметры помогают обеспечить безопасность компыотср*. Изменять ик не рекомендгетп Искать справку на веб-узле Microsoft Office Online п зы наличии подключения к Интернету^ Обновить ссылки на материмы веб-узла Mkroiott Office Online © □ Периофтчески загружать файд который поможет выявить неполадки системы □ Регистрация в программе улучшения качества ПО ЛРйзпипмаменис о г:&нФиасмцяадьнрсти I и Включите параметры для поиска справки и обновления ссылок на узле Microsoft Office OnSine Расположение окна справки поверх остальных окон По умолчанию окно справки располагается поверх остальных окон приложе- ний Microsoft Office, Но вы можете изменить это свойство с помощью кнопки Поверх остальных окон/11е поверх остальных окон, которая находится в стан- дартной панели инструментов окна справки (см. рис. 4.6 и 4.3). Кнопка Поверх остальных окон выглядит как « воткнутая ф канцелярская кнопка с видом свер- ху (см. рис. 4.3), а кнопка Не поверх остальных окон как кнопка сбоку (рис. 4.6). Значение свойство Поверх остальных окон задает расположение окна справ- ки только поверх окон программ Microsoft Office, и не влияет на другие программы не входящие в Microsoft Office. Например, если открыть программу Блокнот и пе- ретащить ее окно поверх окна справки, окно справки будет располагаться «под» окном программы Блокнот.
Информационные ресурсы Access 109 Информационные ресурсы Access Информационные ресурсы программы «сосредоточены» в разделе Ресурсы диалогового окна Параметры Access (рис. 4.10) (чтобы его открыть, в меню кнопки «Office» щелкните кнопку Параметры Access). Правописание Дополнительно Свяжитесь с *шми Нвс^роАк* —— Активировать Microsoft Office Надстройки Центр управления безопасностью Рис. 4.10 Раздел Ресурсы диалогового окна Параметры Access OCMOBNVt '«уии* бая дамню Таблица Конструкторы объектов ПУТ Обращение в юЬрпорацм»О:Ма{Ьрсс<^п? пайк а*6: безопасности и надежности программ Microsoft Office Получить обновления Подучить последние обновления для MkroiOft Office. Центр диагностики Microsoft Office Диагностика и исправление проблем е программе» Microton Office ,MTSam Обращайтесь к нам, если мм нужна помощь или вы знаете, ик сделать Microton OHke*лучше. для продолжения исполыоммил всех возможностям продукта необходимо его вктим1роытъ Перейти ив веб-узел Microsoft Office Online Получение бесплатных обновлений продакт» справки и доступа к интерактивным службам с freS-fina Mlcfoioft Office Online о Microsoft® Office Лесе» 2007 MkroioTt® OfTUe Accett 2007 fliD.451B 1014) MSO (12J0.451B1D14) Здесь есть несколько кнопок, которые задействуют следующие возможности: Проверить наличие обновлений. Щелкните эту кнопку, чтобы проверить наличие обновлений и загрузить обновления с узла корпорации Microsoft. Диагностика. Эта кнопка запускает программу диагностики и исправле- ния проблем в программах Microsoft Office (рис. 4.11). Свяжитесь с нами. Щелкните эту кнопку, чтобы получить сведения о том, как можно обратиться в службу технической поддержки программных продуктов корпорации Microsoft. Естественно, вам могут помочь, только если у вас установлена лицензионная копия программного обеспечения. Кроме того, некоторые услуги могут быть платными. Активировать. Эта кнопка предназначена для активации продукта корпо- рации Microsoft. Вход. Открывает домашнюю страницу Microsof t Office Online. О программе. Открывает окно сведений о программе Access.
110 Глава 4. Справочные и информационные ресурсы Access Рис. 4.11 Программа диагностики и исправления проблем в программах Microsoft Office (Свнфчжгроашамром Mucwft ORk«.., ^•мовлеяимл t4 ммшснфе и» ghofl*»*. Дмгтспиамм Светuhi—i l—puitui Справка по свойствам или событиям объектов базы данных Если вы работаете с объектами базы данных в программе Access, например, до- бавляете в форму элемент управления, то для правильного задания свойств или событий элемента или объекта бывает необходимо просмотреть справку (см., на- пример, главу 8 «Формы»), Для получения такой справки сделайте следующее: 1. В режиме конструктора выделите объект или элемент. 2. Чтобы отобразить окно его свойств, нажмите клавишу F4. 3. Перейдите на вкладку Все и установите курсор ввода в ячейку свойства или события, справку для которого вы хотите получить (рис. 4.12). Рис. 4.12 Установите курсор ввода в ячейку свойства или события, справку для которого вы хотите получить
Сочетания клавиш 111 4. Нажмите клавишу F1, чтобы вывести окно справочной системы с инфор- мацией о конкретном свойстве или событии. Справка по свойствам или событиям в VBA Аналогичным способом справку по свойствам или событиям можно получип также в окне редактора Visual Basic, а также в режимах конструктора таблицы, запроса и макроса. Где Помощник по Office? В программах Microsoft Office 2007 помощника по Office, который был в првдыду- щих версиях программ пакета, нет. Сочетания клавиш Сочетания клавиш используются для выполнения действий с помощью кла- виатуры. Для кнопок и команд назначенные сочетания клавиш отображаются во всплывающих подсказках (рис. 4.13). В Access 2007 много назначенных соче- таний клавиш, но не все можно узнать через подсказки. Для получения сведе- ний о сочетаниях клавиш можно обратиться к разделу «Сочетания клавиш Access» справочной системы. Рис. 4.13 Всплывающая подсказка кнопки Ленты Впдош ИЛЯ]_________ В таблице № 4.1 в качестве примера приведены действия, которые можно вы- полнить с помощью некоторых сочетаний клавиш в форме или отчете, откры- тых в режиме конструктора. Таблица 4.1. Некоторые сочетания клавиш и их действия в режиме конструктора формы или отчета Сочетания клавиш Действия Alt +Enter Открытие окна свойств выделенного элемента Ctrl+C Копирование элемента управления в буфер обмена Ctrl+X Удаление элемента управления в буфер обмена (вырезание) Ctri+V Вставка содержимого буфера обмена в левым верхний угол раздела см+->(->) Перемещение выделенного элемента управления вправо на мини- мально возможное расстояние (по делениям сетки)
12 Глава 4. Справочные и информационные ресурсу Access Сочетания клавиш Действия Ctrl+<- Перемещение выделенного элемента управления влево Ctrl +Т Перемещение выделенного элемента управления вверх СМ+1 Перемещение выделенного элемента управления вниз Shift +Т Увеличение высоты выделенного элемента управления Shift +-> Увеличение ширины выделенного элемента управления Shift +1 Уменьшение высоты выделенного элемента управления Shift +<- Уменьшение ширины выделенного элемента управления С помощью приведенных выше сочетаний клавиш может оказаться значительно удобнее выравнивать и задавать размеры элементов управления. При перетаски- вании границ мышью нужно точно позиционировать указатель, а это не всегда лег- ко сделать. Однократное же нажатие Ctrl + стрелка смещает границу на мини- мально возможное расстояние, а однократное нажатие клавиши со стрелкой — но I одно деление сетки. Пользовательская справка Для команд меню, кнопок панелей инструментов, а также форм, отчетов или их элементов управления в базе данных можно создавать пользовательские справки. Существует несколько способов отображения пользовательской справ- ки: всплывающие подсказки, текст в строке состояния, текст справки в окне, вызываемом с помощью клавиши F1 Создание всплывающих подсказок для элементов управления форм и отчетов Отображение всплывающих подсказок и текста в строке состояния задается в свойствах элементов управления формы или отчета. Откройте форму или отчет в режиме конструктора (формы и отчеты подробно описаны в главах 8 «Формы» и 9 «Отчеты»). Выделите элемент, для которого не- обходимо создать всплывающую подсказку или задать Текст строки состояния, и щелкните кнопку Страница свойств на Ленте. Появится окно свойств выбран- ного элемента, в котором перейдите на вкладку Другие и сделайте следующее (рис. 4.14): 1. В ячейку свойства Текст строки состояния введите текст, который должен отображаться в строке состояния при получении фокуса элементом управления. 2. В ячейку свойства Всплывающая подсказка введите текст, который дол- жен отображаться во всплывающей подсказке при наведении указателя мыши на элемент управления.
Пользовательская справка 113 Рис. 4.14 Задание текста строки состояния и всплывающей подсказки для кнопки Открыть форму для ввода данных (элемент управления) 3. Закройте окно свойств и перейдите в режим формы. При наведении указа- теля мыши на кнопку появится всплывающая подсказка, а при переходе к ней с помощью клавиши Tab в строке состояния будет отображен введен- ный вами текст (рис. 4.15). Рис. 4.15 Всплывающая подсказка и текст строки состояния для кнопки формы Кнопка для открытия справки по работе с формой Можно создать специальную кнопку в форме и задать действие, которое будет вы- полняться при ее щелчке. Например, открытие окна диалога, содержащего поясне- ния по работе с объектом базы данных (в данном случае — с формой). Пользовательская справка в собственном окне Можно создать развернутую пользовательскую справку, которая будет от- крываться в собственном окне справочной системы, когда пользователь нажмет клавишу F1.
114 Глава 4. Справочные и информационные ресурсы Access Для этого создается файл справочной системы. Его можно написать в тексто- вом редакторе, который сохраняет файлы в формате RTF. Затем файл нужно за- грузить и откомпилировать в программе HTML Help Workshop (Microsoft Windows Help Workshop). Найти программу HTML Help Workshop (Microsoft Windows Help Workshop) можно на сайте Microsoft Developer Network ^MSDN). MSDN — собрание сведений по программному обеспечению для создателей приложений в Windows. Чтобы связать откомпилированный файл справки с формой или отчетом: 1. Откройте форму или отчет в режиме конструктора. 2. Щелкните кнопку Страница свойств на Ленте, чтобы открыть диалоговое окно свойств формы. Выведите на передний план вкладку Другие (рис. 4.16). РИс. 4.16 Вкладка Другие диалогового окна свойств формы 3. В ячейку свойства Файл справки введите имя откомпилированного файла справки. 4. В ячейку свойства Идентификатор справки введите номер, например, ♦ 1» раздела справки, который должен выводиться на экран, когда пользова- тель нажимает клавишу F1. В первый раздел справки обычно помешают общие сведения о форме или отчете. 5. Отобразите в диалоговом окне свойств свойства элемента управления, ко- торый может получать фокус в форме или отчете. Для этого откройте рас- крывающийся список в верхней части диалогового окна свойства формы и выберите из него имя элемента. 6. Ё ячейку свойства Идентификатор справки для элемента управления, введите номер раздела справки, который должен выводиться на экран, ко- гда пользователь нажмет клавишу F1, если элемент управления имеет фо- кус. Значения, задаваемые для свойства Идентификатор справки, долж- ны соответствовать контекстным строкам справочного файла. 7. Повторите действия, описанные в двух предыдущих пунктах, для всех элементов формы, которые могут получать фокус. 8, Закройте диалоговое окно свойств. Перейдите в режим формы и проверьте действие сделанных установок.
Глава 5 Создание баз данных и таблиц Описав структуру базы данных «на бумаге*, можно приступить к ее воплоще- нию на компьютере. Сначала создается сама база данных, а потом все входящие в нее объекты и, в первую очередь, таблицы — основные «строительные блоки*, в которых организуются поля и записи данных. Все остальные объекты базы дан- ных будут основаны на таблицах и установленных между их полями связях. Важ- но сначала настроить таблицы, а уже потом можно будет заполнять их реальными данными. Создание базы данных В программе Access 2007 можно создавать базы данных следующих версий: Access 2000 (формат файла .mdb); Access 2002-2003 (.mdb); Access 2007 (.accdb) проекты Access (.adp). Открывать же и преобразовывать можно базы данных, созданные в более ран них версиях программ ы Access, а также и в других программах (.dbf, ,db и др.). Для чего создавать файлы «старого» формата? В Access 2007 вы можете создать базу данных «старого» формата (.mdb). Это це- лесообразно делать, если использование этой базы предполагается на компьюте- рах, где установлена одна из предыдущих версий программы Access (2000 или 2002-2003). При этом следует учитывать, что воспользоваться новыми возможно- стями файлов (расширенное форматирование текста в полях МЕМО, поля с не- сколькими значениями, тип данных Вложение и применение списков SharePoint}, даже работая в Access 2007, вам не удастся. Вместе с проектом Access создается база данных Microsoft SQL Server. Естественно, что для этого СУБД Microsoft SQL Server должна быть доступна на вашем компьютере или в сети.
116 Глава 5. Создание баз данных и таблиц Для создания новой базы данных вы можете использовать два способа: сфор- мировать пустую базу данных или воспользоваться одним из имеющихся в ва- шем распоряжении шаблонов. Пустая база данных изначально не содержит ни- каких объектов (хотя она «весит» в Access 2007 примерно 300 кбайт), а база дан- ных, созданная с помощью какого-либо шаблона, будет включать в себя заранее подготовленные (но не заполненные) тематические объекты — таблицы, формы, запросы и т.д. (и «весить» она будет в 3-5 раз больше). Модернизация имеющейся базы данных Можно начать создание новом базы, «отталкиваясь» от какой-либо существующей базы данных. Но ни в коем случае нельзя открывать базу данных и сразу начинать редактирование ее объектов. Изменение и удаление записей и объектов базы дан- ных сохраняются автоматически (даже без вывода на экран предупреждающих со- общений}, в результате «чужая» база данных будет испорчена. Обязательно сде- лайте копию базы данных, которую вы хотите взять за основу, и работайте с нею. Если вы только что открыли программу Access 2007 или закрыли базу дан- ных, с которой до этого работали, в рабочей области программы появится окно создания или открытия базы данных Приступая к работе с Microsoft Office Access (рис.5.1). Приступая к работе с Microsoft Office Access Локальнм» Двлгл^я Отмпыть пооугимонт baav пянншгх Ноам Ели fijf Другие, Учебная бе» л»«е>я Л» МТсгоаоЬ Ofttof ОсЛпе Гал г горка шашкпве Обратите онеиеме ЬМпма Ротэла! Strife EOucatoi. Нммц wyi I *я.<йза Дамасх C0D..TWI ~1 Г Нояма аожюжоаи Асеева МОП %СТк»0п1пе V-0Mor -рокам Смбтютса&аМЬ 2? Я 2S0C Ь«м даиамк) andb 22 It 2JM StadentLaoodb 23 В( 2Мв Шабммни «о Интурист* Контакты О«н?влеги-»< программа A«ei< JO”? седеспшт vauiphie «ригги, «с орма лоиолмп (метро с имжнттьдттж овВотеть с ними соамепно и создавай от.гм а управляемой среде ацденмв а им*х етможноггад к е Получим* новейшего содержим ч го при g в! отв с вилу«@м 21D1 систем* MicToicn O’Tice • Чгтоврдпво по интерфейсу гюлыспгеде Яссам а901 ф Ортнуиц! всех объемов с лом чиио ново*, /апо доступней области переодев ir-r,nr>~^ * J / $ Р "Пжже м им СФса Огплг <ТСС I ШМЬЛОНМ | ?»грпи Рис. 5.1 В рабочей области открыто окно Приступая к работе с Microsoft Office Access
Создание базы данных 117 В левой части этого окна отображается список категорий шаблонов: вверху — доступных из вашего компьютере, внизу — из Интернета. В верхнем списке, кроме деловых и образовательных шаблонов, вы можете выбрать категорию Об- ратите внимание, которая отображает в нижней части рабочей области инфор- мационную панель Новые возможности Access 2007 (со ссылками на документы из Интернета и справочной системы программы, см. рис. 5.1), а также катего- рию Учебная база данных, которая позволяет создать и открыть ставшую уже ♦традиционной» для Access учебную базу данных Борей, но в обновленном фор- мате (рис. 5.2). Эта база, в отличие от «шаблонных», наполнена вымышленными данными о работе торгового предприятия. Рис. 5.2 В Access открыта форма Заставка учебной базы данных Борей 2007 Л fx с ЛЬпияПмяЖМММ WCM И 1ЖИ1КИ Гйсййид»но< ' А ДгКПМЙ JP3 сдцрнма « грртоот|мшты« Вашему вниманию предлагается учебная база данных "Борей Чтобы использовать ее, нажмите кнопку "Параметры" на панели сообщений и выберите команду "Включить содержимое" либо откройте ее из надежного Ргк-п» «Г»**»-*** - Г 4— -г. -Ь. _ , „Л-г.-.-. « 'Нгамвычтмый ЕЗ CiNtalMtl расположения Прммдрм»ы« ддсо» примеры предприятий акнвнызаций. товаров, имен доменов, адресов элеи’ронмоА почты, ылблем лиц, мест к событие валяются «шмынлленышм Водмохное сходство с реалъмг существующими предпричтиеми. прт«имм^ <ияи, товарами именами домемое, адресами жлвюронмоЛ почты. эмблемами, лниами. местами и собы ними следует рассматривать чхслучИкое Если слева, в списке категорий, вы выберите одну из них, в центральной час- ти окна отобразится ее содержание. Здесь вы можете выделить конкретную базу данных или шаблон (щелчком левой кнопки на ее «большом значке»), напри- мер, шаблон Учащиеся, который предполагает создание базы данных со сведе- ниями об учащихся, их контактах, опекунах, медицинских показаниях и т.д. (рис. 5.3). Краткую информацию о содержании базы данных можно увидеть на всплывающей подсказке или в правой части окна Приступая к работе с Microsoft Office Access. Команда Создать в меню кнопки Office и одноименная кнопка в панели быстрого доступа также открывают окно Приступая к работе с Microsoft Office Access При этом открытая база данных автоматически сохраняется {по умолчанию — в пап- ке Мои документы) и закрывается. Поэтому некорректные или неуверенные дей- ствия пользователя в окне Приступая к работе с Microsoft Office Access могут привести к «появлению» лишних файлов баз данных в папках компьютера
18 Глава 5. Создание баз данных и таблиц Рис. 5.3 Шаблон базы данных Учащиеся Учлцмсчл to» ajwm учнмих. лйн «шмюта »гглш1>*^иС«аг'ааа>^ •ж&ипмш **чйм»м<* <ув»»ни. в^фьйа» ____________________ | ашиасаг VO* С фииыга WM*«fVwV*M **йппй 1“ ()сяиж*мЧмама*«нм,5шм||>пв« If >nv V*xt>4 *wt₽wn* 5₽*с«« r***e* 1 ****l,****"*,*"7^w^ Создание пустой базы данных Так как пустая база данных не содержит никаких объектов, можно считать, что это наиболее универсальный способ, и, начиняя с него, вы можете создать базу любого типа, последовательно заполняя ее таблицами, связями, другими объектами и данными. Для создания пустой базы данных сделайте следующее: 1. В левой части окна Приступая к работе с Microsoft Office Access выберите категорию Обратите внимание (после открытия окна она обычно выбрана по умолчанию). 2. В центральной части окна щелкните значок Новая база данных (см. рис. 5.1). 3. В правой части окна щелкните кнопку Создать, чтобы пустая база данных была создана в формате Access 2007 в папке и с именем, заданны ми по умолчанию (Мои документы и База данных Порядковый номер.ассйЬ). Или щелкните кнопку Отмена, чтобы была возможность выбрать для соз- дания другую базу данных. 1 Место расположения базы данных и ее имя отображаются в двух строках выше кнопки Создать Формат баз данных, создаваемых по умолчанию Чтобы изменить формат файла базы данных, создаваемого по умолчанию, нужно открыть меню кнопки «Office», в котором щелкнуть кнопку Параметры Access. Затем в разделе Основные выбрать из раскрывающегося списка Формат фай- ла по умолчанию другое значение (Access 2000 или Access 2002-2003). Там же вы можете изменить рабочий каталог базы данных.
Создание базы данных ________________________ 119 4. Чтобы изменить место расположения базы данных или ее формат» щелк- ните значок в виде папки, расположенный справа от имени файла. Поя- вится диалоговое окно Файл новой базы данных (рис. 5.4). Рис. 5.4 Диалоговое окно Файл новой базы данных 5. Выберите папку, в которой должен быть записан файл, задайте имя фай- ла, а в списке Тип файла выберите один из допустимых форматов базы данных. 6. Щелкните кнопку ОК, чтобы сохранить файл новой базы данных и за- крыть окно Файл новой базы данных. 7. В окне Приступая к работе с Microsoft Office Access щелкните кнопку Соз- дать. Или щелкните кнопку Отмена, чтобы была возможность выбрать для создания другую базу данных. 8. После того как вы щелкните кнопку Создать, окно Приступая к работе с Microsoft Office Access будет закрыто, а в Access 2007 будет открыта соз- данная вами база данных с заготовкой пустой таблицы (рис. 5.5). Имя базы данных и ее формат отображаются в строке заголовка программы Access 2007. Например, на рис. 5.5 показано, что создана база «База данных 2» формата Access 2007.
120 Г лава 5. Создание баз данных и таблиц Рис.5.5 Новая, только что созданная, база данных Создание новой базы данных с помощью шаблона Использование шаблона — это более быстрый способ создания базы данных, так как в нем уже есть готовые объекты. Некоторые пользователи (и иногда обоснованно) считают, что этот способ лучше остальных, если удастся найти подходящий шаблон. На локальном компьютере вместе с Access 2007 устанавливаются только не- сколько шаблонов баз данных. Кроме учебной базы данных Борем 2007 и шабло- на Учащиеся это: Вопросы, Задачи, Канал продаж, Контакты, Мероприятия, Основные средства, Проекты, Проекты по маркетингу и Факультет. Остальные шаблоны доступны после их загрузки с сайта Microsoft Office Online (рис. 5.6). Другие... ЭД A:\db2_mdfc ЭД Экек v ринкам бкблвсггсмл 2М№м4 V 1 о» ЭД I—Цмсктроккая бмбшмиешигшй) ;;п зга ЭД Ваза дкнкистЯдпШ» jt iL.-Mllb Ь* *за длниых2^>са1Ь ,!»Хи* * Microsoft Office Online @ «дштыххжиЛ Вкюгнкт г» «грузке СГХКЛ шабганзв из Mkrceoft Ofltae Огйпе Сч Бам ^мкыхХкхА 2Л; i.zCW ЭД £аэа дамкшхХмНу [yw- • • —- Iй.........................................................................жх---ттп-•• Рис. 5.6 Загрузка списка шаблонов с сайта Microsoft Office Online
Преобразование формата базы данных 121 Выберите подходящий шаблон в центральной части окна Приступая к работе с Microsoft Office Access (см. рис. 5.3). Затем задайте место расположения базы данных и ее имя теми же способами» которые были описаны в предыдущем раз- деле (формат базы данных настроить нельзя, он будет — .accdb). «Шаблонные» базы данных более старых форматов необходимо готовить в предыдущих верси- ях программы Access. Для записи базы на диск и открытия ее в окне программы щелкните кнопку Создать. Чтобы процесс создания базы данных завершился, потребуется определенное время (несколько десятков секунд), в течение которо- го на экране будет отображаться индикатор работы (рис. 5.7). Рис. 5.7 Дождитесь завершения создания базы данных из шаблона По окончании процесса база данных будет открыта в окне программы Access 2007, где она заменит окно Приступая к работе с Microsoft Office Access. Создание базы данных со списками на узле SharePoint Services В окне Приступая к работе с Microsoft Office Access есть флажок Создание и присоединение базы донных к узлу SharePoint Services, который, если его установить, означает, что для новой базы данных будут созданы присоединен- ные к ней списки данных на узле SharePoint Services, откуда другие пользователи смогут получить удобный доступ к данным этой базы. Преобразование формата базы данных Копию открытой в программе Access 2007 базы данных в любой момент мож- но сохранить в другом формате, то есть преобразовать формат ее файла. Внутри программы Access 2007 обеспечивается полноценная работа и взаимное преоб- разование баз данных последних трех версий программы. При этом различия в их работоспособности будут соответствовать только различиям в версиях про- грамм и их файлов. Базы данных, созданные в еще более ранних версиях (Access 95 или Access 97, которые также имеют расширение .mdb), тоже можно открывать в программе Access 2007. Только после их открытия на экране появится диало- говое окно Улучшение базы данных (рис. 5.8). Рис. 5.8 Диалоговое окно Улучшение базы данных SlpapamAa»» :6-*сиг tesy на** » есть-«зжнэет и ’ » Иф?• 5W <**♦** *. № toorpT'i. збмм, p fa «и r . * 4rvG»t*lri «ДылпаяЙ rfo4*B2* 4мМ*’,мМ. 1
122 Глава 5. Созданий баз данных и таблиц Здесь вам будет рекомендовано провести преобразование файла базы данных к формату Access 2007, где она будет полноценно работать (нужно щелкнуть кнопку Да). Преобразованную «старую» базу данных можно в дальнейшем ис- пользовать как базу данных нового формата (.accdb). Если вы откажетесь от это- го варианта (кнопка Нет), база будет открыта только с возможностью просмотра и изменения данных, но не изменения ее структуры- А для изменения структу- ры придется использовать старую версию программы Access. Преобразование форматов баз данных последних трех версий производится в обе стороны достаточно быстро и «безболезненно». Для этого нужно просто вы- брать одну из команд меню кнопки «Office»: Сохранить как | База дан- ных Access 2007 (2002-2003 или 2000). Если вы попытаетесь сохранить базу данных в более старой версии, а оно имеет не- поддерживаемые в ней особенности новой версии, то можете получить предупреж- дающее сообщение (рис. 5.9). Решение может быть только одно — модернизиро- вать базу, убрав в ней перечисленные в окне «нововведения», и повторить попытку сохранения. Рис. 5.9 Предупреждение о невозможности сохранения базы данных в «старом» формате Файлы блокировки Когда база данных открыта для общего доступа, блокировкой обрабатывае- мых записей управляет создаваемый Access файл сведений о блокировках (он размещается в той же папке и с тем же именем, что и база данных, но с другим расширением). Если в Access 2007 открыт файл базы данных .mdb, создается файл формата .Idb, а если .accdb, то — Jaccdb (рис. 5.10). Блокировка записи оп- ределяет одному из пользователей искл ючительное право доступа к записи и за- вершения всех начатых им изменений без вмешательства других пользовате- лей. Создание двух типов файлов блокировок в Access 2007 гарантирует кор- ректную работу с одной и той же базой данных (.mdb) одновременно в новой и старой версиях программы, а также возможность одновременной работы в Access 2007 с новой (.accdb) и старой (-mdb) версиями файлов одной и той же базы данных. Рис. 5.10 Программа Access 2007 создает файлы сведений о блокировках
Создание таблиц 23 Создание таблиц Созданию и настройке таблиц необходимо уделять особое внимание. В табли- цах не только следует задать все необходимые поля, указать типы данных и ключи, но также корректно установить свойства полей, которые могут ока- заться важными для работы базы данных. Нужно заметить, что большинство свойств устанавливаются по умолчанию с привязкой к типу введенных в них данных (или по шаблону). Поэтому, по крайней мере, на первых порах изме- нять, по всей видимости, вам придется только некоторые из них. Вы можете создать новую таблицу несколькими способами: вставляя новую таблицу в новую или существующую базу данных; формируя таблицу с помощью шаблона; импортируя или подсоединяя к базе данных таблицу из другого источника данных (например, из книги Microsoft Office Excel 2007, документа Microsoft Office W’ord 2007. текстового файла или базы данных другого формата). импортируя или подсоединяя к базе данных список SharePoint (список дол- жен заранее.существовать на узле или вы можете создать его, используя шаблоны Access (Контакты, Задачи, Вопросы, События и др.)). Если вы создали пустую базу данных Access 2007, в нее будет автоматически вставлена заготовка для таблицы. Если вы просто ведете нее данные — первая таб- | лица будет готова (рис. 5.11 / Рис. 5.11 Введите данные — и первая таблица готова! I 1 Tatfjwaal - Таблица! Код / Лопе! - л П&пеМ i ТП Таблица! . таблица Внешне данные | Г ’ IVI 3 в ячейки таблицы - 4 и первая таблица 6, готова! * (№} Основные характеристики таблиц Access 2007 Таблицы в Access 2007 могут иметь имя длиной до 64 символов, так же как и поля, которых в таблице может содержаться до 255. Количество знаков в одной записи (кроме полей МЕМО и полей объектов OLE) может быть до 4000. В значении свой- ства поля может быть до 255 знаков. Открывать одновременно можно до 2048 таб- лиц Размер таблицы может достигать 2 Гбайт. Создание таблицы путем ввода данных Самый простой способ, с помощью которого можно создать таблицу, заклю- чается в заполнении данными пустого бланка таблипы. После сохранения такой таблицы в ней останутся только те поля и записи, в которых имеются данные.
124 Глава 5. Создание баз данных и таблиц Ввод данных непосредственно в таблицу Для ввода данных в таблицы специально предназначены формы. Вводить данные непосредственно в таблицу допустимо, пожалуй, только для небольших таблиц, а также для тех, в которых данные не обновляются в процессе эксплуатации базы данных. Если данные в таблице должны периодически обновляться, для нее нужно создавать специальную форму. Для того чтобы создать новую таблицу в открытой базе данных, щелкните кнопку Таблица в разделе Таблицы вкладки Создание Ленты (рис. 5.12). Рис. 5.12 Создание новой пустой таблицы 1 •.О Снисхм ShMeftjint •" Таблица Сода^иг навой пулой таблицы Полянские определить непосредственно новой гтблнцЛ либо отжры» • режиме Заготовка новой таблицы будет вставлена в базу данных в режиме таблицы (см. рис. 5.11). В заготовке есть только одно поле с формальным именем Код, ко- торое имеет формат Счетчик, а также явл яется первичным ключом табл ицы, и пустой столбец, озаглавленный Добавить поле. Если вы сделаете какие-нибудь изменения в ячейке пустого столбца заго- товки, столбец «превратится» в поле с формальным именем Поле!, а при по- пытке закрытия таблицы появится предложение задать или утвердить ее имя (рис. 5.13). Рис. 5.13 Задайте имя первой таблице Измените заданное по умолчанию имя Таблица! на то, которое вам нужно, и щелкните ОК. Вы можете также изменить внешний вид созданной вами таблицы (рис 5. 14}, если измените параметры ее макета. Для этого используется раздел Шрифт вкладки Главная Ленты. Подробнее о настройке макета таблицы см. раздел «Макет таб- пи цы» ниже в этой главе.
Создание таблицы путем ввода данных 125 Рис. 5.14 Измените внешний вид созданной таблицы Автоматическое задание типа поля Данными, которые вы вводите в новое поле, определяется тип данных, кото- рый автоматически приписывается полю в Access 2007 (см. таблицу 5.1). На- пример, если вы напечатаете «08.12.2006» Access распознает дату и установит для поля в свойстве Тип данных значение Дата/время. «Нераспознанным» дан- ным присваивается значение Текстовым. Подробнее типы данных Access описаны в разделах «Типы данных» главы 2 «Пла- нирование баз данных» и «Задание свойств полей таблиц» главы 6 «Работа с таб- лицами». Таблица 5.1, Примеры типов данных, которые присваиваются полям таблиц автоматически Введенные данные Тип данных, присваиваемый полю в Access Иванов Текстовый http:// www.binom.ru Гиперссылка 50000 Числовой, длинное целое 50,000 Числовой, двойное с плавающей точкой В. 12.06 Дата/время (даты и время распознаются в соответствии с ус- тановками региональных параметров, сделанными в Windows) 8 декабря 2006 Дата/время 10:50-22 Дата/время 200р. Денежный (валюта распознается в соответствии с установ- ками региональных параметров, сделанными в Windows) 20,99 Числовой, двойное с плавающей точкой 20.99 Текстовый 20,99% Процентный 3.46Е+99 Числовой, двойное с плавающей точкой 123-45-67 Текстовый Явное задание типа данных в режиме таблицы В режиме таблицы вы можете явно задать тип данных и формат поля, то есть изменить настройки, которые Access 2007 делает автоматически. Для этого ис- пользуются элементы управления раздела Форматирование и тип данных вкладки Режим таблицы Ленты (рис. 5.15). Установите курсор ввода в ячейку
126 Глава 5, Создание баз данных и таблиц того поля, которое вы хотите настроить, и воспользуйтесь этими элементами управления. Рис. 5.15 Элементы управления для задания типа данных и формата поля в режиме таблицы Режим таблиц* Тип данных;k Числовой -Р. Уникальное Фсрыгг Процентный *ч Обязательное -------------------------------------- Тмпданши Выбор типа данным для поля Типы данных, определяют тип дан <ыа а поде,. например целые числа, текст и денежные единицы. : j т » 7 ; - а * -- - с - - J и тин i Потеря данных при преобразовании типов и форматов Ток как изменение типа данных и формата поля достаточно ответственная опера- ция, некорректность при выполнении которой может привести к потере части или ; даже всех данных, ее лучше всего проводить на таблицах, еще не содержащих большого количества данных. Эту операцию отменить нельзя, и Access 2007 выда- ет предупреждающие сообщения о возможности потери данных и удалении запи- сей при преобразовании [рис. 5.16). Подробнее о возможных преобразованиях типов и форматов см. раздел «Изменение типов данных полей» в главе 6 «Работа с таблицами». Рис. 5.16 Предупреждения Access 2007 о потере данных и удалении записей при преобразовании формата Переименование полей Программа Access 2007 задает имена полей по умолчанию Поле1, Поле2 и т.д. Но вы можете очень просто их изменить непосредственно в режиме табли- цы. Для этого щелкните имя поля правой кнопкой мыши и выберите в контекст- ном меню команду Переименовать столбец (или дважды шелкните его имя), рис. 5.17, а затем введите новое имя и нажмите клавишу Enter D Удаление полей в режиме таблицы Для удаления поля в таблице, открытой в режиме таблицы, достаточно вое пользоваться контекстным меню поля (команда Удалить столбец) или кнопкой Удалить, которая расположена в разделе Поля и столбцы вкладки Режим таб- лицы Ленты . При удалении поля могут появиться предупреждающие гообще
Создание таблицы путем ввода данных 127 ние (рис- 5.18) о том, что в поле содержатся данные, и о том, что поле участвует в межтабличных связях. Рис. 5.17 Переименование поля Рис. 5.18 Предупреждающие сообщения при удалении полей г * Ширина столбил £rpWTb столбцы к QlbfcC-ilwrbCTTUfcuU Заьрепкть столбцы Ос>о6оди’ь все столбцы & Найти "J Вставить столбец Столбец подстановож... Удалит^ столбец Лю^ыменомть столбец В первом случае, если вы решили «пожертвовать» данными, нужно просто щелкнуть кнопку Да в окне сообщения, а во втором — открыть схему данных, удалить указанную в сообщении межтабличную связь, а затем повторить команду удаления поля. Скрытие полей таблицы Не обязательно удалять поля таблицы, иногда лучше просто скрыть их. Скрытие по- лей используется для облегчения просмотра данных в режиме таблицы и применя- ется в двух случаях: если некоторые поля содержат второстепенные (не важные для просмотра) данные или, наоборот, конфиденциальную информацию Чтобы скрыть поле, достаточно выполнить команду Скрыть столбцы из его кон- текстного меню. Чтобь/ вновь отобразить скрытое поле, необходимо открыть диа- логовое окно Отображение столбцов (рис. 5.19). Сделать это можно из контек- стного меню любого видимого поля таблицы (команда Отобразить столбцы). Ус- тановите флажки в строках, чтобы отобразить поля, а затем щелкните кнопку Закрыть.
128 Глава 5. Создание баз данных и таблиц Рис, 5.19 Отображение столбца Добавление полей в режиме таблицы Для добавления поля в конце таблицы используется столбец Добавить поле, который просто заполняется данными. Столбец Добавить поле может быть скрыт. Тогда он не будет отображаться на эк- ране Чтобы вставить поле в середине таблицы, щелкните заголовок поля, которое будет справа от вставляемого, а затем в его контекстном меню выберите команду Вставить столбец или щелкн ите кнопку Вставить, которая расположена в раз- деле Поля и столбцы вкладки Режим таблицы Ленты. Добавленное таким обра- зом поле не содержит ни данных, ни формата, которые вам следует тут же задать. Для добавления полей с уже имеющимися «заголовками и форматами» вы можете скопировать их из шаблонов полей или из уже готовых таблиц вашей базы данных. В некоторых случаях это будет не только удобно, но и значительно повысит скорость работы по созданию таблиц. Для этого используются кнопки Новое поле и Добавить существующие поля соответственно. Обе они расположе- ны в разделе Поля и столбцы вкладки Режим таблицы Ленты (рис. 5.20). Рис. 5.20 Кнопки Новое поле (вверху) и Добавить существующие поля (внизу) № 7И cS Новое Добавить Столбец поле существующие поля подстановок u'f Поля И столбцы д Вставить ЙГ Удалить Переименовать Ноасм поле Бпмка TrfnMLtf нового пом {столбца’ в котором можно хранить даннме определенного типа. V Для *хм|у***»«*« дополнительных сведений нажмите клавиш*' f Г Новое поле Дпбмитъ Столбец суще'т'вующие поля подстановок Поле н столбцы вжаввважпккяшв Добавить сущепвуюацае поля Y В тавить ЙР Удалить Зф Переиненомть Вставка в данное представление пом на основе существующего ПОЛЯ. м Для получение допсклижпглънмх смдений пажммтт клавишу FL
Режимы отображения таблиц 129 Эти кнопки открывают панели» содержащие списки полей для добавления (рис. 5.21). Рис. 5.21 Панели Шаблоны полей (слева) и Список полей (справа) Найдите нужное вам поле в списке и щелкните его два раза» чтобы добавить в таблицу. При добавлении поля из существующей таблицы, вам может быть предложено создать для него связь и список подстановок с помощью диалоговых окон мастера. Если нужно, воспользуйтесь этой возможностью. Режимы отображения таблиц Открытая таблица может отображаться на экране различным образом: в ре- жиме таблицы, в режиме конструктора, в режиме сводной таблицы и в режиме сводной диаграммы (рис. 5 22). Сводные таблицы и сводные диаграммы, которые используются обычно для анали- за данных, подробно описаны в главе 11 «Сводные таблицы и диаграммы». 5 Access 2007
130 Глава 5. Создание баз данных и таблиц Ц. ? 10 17 от J004 Эмдоим • ф*«сксф»ю иапрмлиша Дж« -, А: Г9Л- • 1990 6 V 2W* Мцерил• cofw mxw«т^раиидики * 12 Р И 2004 М«нг|рмть4>й1 м«р ♦ 13 V 2004 М41.омл<ич»(.«о« ОЛИСН1М» мвтор** 13 2002 6 14 17 352004 «омгтрмл й£ммч9нн«мгг«|»»лълом 2 2003 6LJ • 1S 17 092004 Мшорнж1«сгил»г.«о«_*рсл|МЯ1ив^Асян1 13 1999 .....................- jj* 1998 13 20W 13 2003 3 13 >00С Б да 16 1/09 2004 Горы Чсврдманнсй^мгври^________ 21 ?1 09 2004 ЪКт.рижмлй 22 21 39 2004 Мдт»рш»1и»»^я сс»»«м 24 27 39 2004 БыгимЛ Mktapwnnw в фнлогл фа* 28 W ’0 2004 Мегеры в мстрми «гхпвранания 38 М 10 2004 Метод и событие и м»пр1влили» Э7 М *02004 Ид wnMclrt^».1 <’»T«P‘’>nlviM 39 ОТ Ю2004 M«iijmk»wbub«bip»wihim ---• >-»»ii wmw ’И I <*Й IK ',;»» ,? ПВиЦг Б 4 2004 Ь *13 2003 6 6 2003 1 ! Чмы Тв<стов«я <Й_ГИП4_до*уи1«<га Числовой гсд_иадд «м* Числовой jidjMum/ibcna П*ремад_в истпмн-жу 1ыП«СХСЫЛВ4_МСГЗиН4К1 ld_BU1U_ДО»уМ»Н7Ч ' КмииегпЮ-Стрянмц Колйчество_р*юы«9« количество ссылок laepAMjinnHW Авторсмо«_лряао КоммнгариА числовой Полж обьвктв ОН. ГМЛ»рС£ЫЛН> Ч»оо«рй ЧИСЛОВОЙ Числовой Числовой ПплвМГМО Тенетовый Поле MEMO _Сду*м»» •Чгм*.р ПОЛИ А«’М *Р« *л»ем ||«м • «нымет Писмдашляыч Форивтлем О«дг1м«л негде* е»рое»яно| rwjw Д> 1Сс4ЛМ*ни* tMljrr-Wlt •РММ1М4НЯ1 ТГГСТ) Ова^м |4»и www ы*ж.«1 *ога>«1* v7<4 с ' тм»ои прве*»>к Дл» ечмвем г» начнем ‘«ж ийнажмеп »^ueu^*t. —I i I . L -i- Г i I _________Hwtxt |й a Рис. 5.22 Режим таблицы (слева вверху), режим конструктора (справа вверху), режим сводной таблицы (слева внизу) и режим сводной диаграммы (справа внизу) одной и той же таблицы Данные документов Открыть таблицу (как и другие объекты базы данных) в ее «основном» режи- ме — режиме таблицы — можно двойным щелчком в области переходов. Если воспользоваться ее контекстным меню (в области переходов), то можно открыть таблицу также в режиме конструктора (команда Конструктор). Для того чтобы перейти в другой режим отображения таблицы, ее совершен- но не обязательно закрывать. Можно использовать для этого кнопки переключе- ния режимов (расположенные в правой части строки состояния, рис. 5.23 внизу) или кнопку Вид раздела Представления вкладки Главная Ленты, которая от- крывает список режимов таблицы (рис. *5-23 верху, аналогичные кнопки имеют- ся также на вкладках Конструктор и Режим таблицы). Просто щелкните кноп- ку или строку списка, чтобы перейти в другой режим представлен ия таблицы.
Режим таблицы 131 Рис. 5.23 Кнопки переключения режимов: на Ленте (вверху) и в строке состояния (внизу) Num toot Аналогичными способами можно переключать режимы отображения любых откры тых объектов базы данных 'не только таблиц, но также форм, запросов, отчетов). Режим таблицы По умолчанию любая таблица открывается в режиме таблицы (см. рис. 5.22 слева вверху). Данные таблицы отображаются в ячейках на пересечении строк (записей) и столбцов (полей). Нумерация записей не отображается, а имена по- лей располагаются в заголовках столбцов. Этот режим наиболее приспособлен для заполнения таблиц данными и для просмотра данных в таблице. Но он так- же вполне может применяться и для создания таблиц. J Чтобы закрыть таблицу (или любой другой открытый объект базы данных] нужно г 3 щелкнуть кнопку Закрыть (с «крестиком») в правом верхнем углу вкладки или окна или выполнить команду Закрыть в контекстном меню ярлыка (заголовка) таблицы. Для выполнения каких-либо действия с ячейками таблицы, записями или полями их нужно предварительно выделять. Делается это щелчком указателя мыши. Данные можно вводить (или исправлять) в выделенной ячейке или в ячейке, в которой установлен курсор ввода. Слева от первого поля таблицы находится столбец, состоящий из отдельных квадратиков (рис. 5.24). Это области выделения. Если щелкнуть самый верхний квадратик (он называется областью выделения таблицы), то будут выделены все записи таблицы. Если щелкнуть любой другой квадратик, расположенный ниже (он называется областью выделения записи), будет выделена одна запись. Для выделения нескольких смежных записей, нужно перетащить указатель мыши по их областям выделения (или щелкнуть области выделения крайних за- писей при нажатой клавише Shift). Чтобы целиком выделить одно поле, нужно щелкнуть его заголовок (указатель мыши перед этим должен принять вид чер-
132 Глава 5. Создание баз данных и таблиц ной стрелки, направленной вниз). Чтобы выделить несколько полей, располо- женных подряд, следует перетащить указатель по их заголовкам (или также щелкнуть заголовки крайних полей при нажатой клавише Shift). Чтобы выде- лить отдельную ячейку, следует подвести указатель к ее правой или верхней границе так, чтобы он изменил свой вид и выглядел похожим на «белый крест», и щелкнуть левой кнопкой мыши. Рис. 5.24 Области выделения Область выделения таблицы Область выделения записи : I J Данные дожумешов id - Дата • Ш 10 17.09^004_ В 11 17 09 2004 а 12 17.09 2004 ffl 13 17 09.2004 14 17 09.2004 3) 15 17.09.2004 Группа смежных ячеек также может быть выделена перетаскиванием указа- теля или последовательными щелчками при нажатой клавише Shift. А если щелкнуть ячейки, расположенные на концах диагонали прямоугольной облас- ти, удерживая нажатой клавишу Shift, то можно выделить прямоугольную об- ласть ячеек. Также вы можете просто перетащить указатель по ячейкам, которые нужно выделить. Чтобы установить курсор ввода в нужную ячейку, просто щелкните ее мы- шью. Команды для выделения записей и всей таблицы (Выделить и Выделить все/ есть в разделе Найти вкладки Главная Ленты. Если таблица целиком не помещается в рабочей области (или в своем окне), то справа и внизу справа отображаются полосы прокрутки, с помощью которых можно просматривать те части таблицы, которые не видны на экране. Внизу слева находятся панель перехода по записям, содержащая поле номе- ра записи (счетчик записей) и кнопки перехода (рис. 5.25 >. Рядом указывается общее количество записей. Значения кнопок и полей поясняются ня рисунке. Можно заметить, что если перед использованием кнопок перехода выделена це- лая ячейка (или запись) таблицы, перемещение будет осуществляться в том же направлении, но с выделением целой записи. Рис. 5.25 Кнопки перехода по записям Переход к предыдущей записи Переход к первой записи текущего поля Номер текущей записи и общее число записей Добавление новой записи Переход к последней записи Переход к следующей записи
Режим таблицы 133 Переход к записи с определенным номером Макет таблицы Макет таблицы определяет ее внешний вид в режиме таблицы. Параметры макета (такие как сетка, шрифт, фон и др.) задаются в диалоговом окне Пара- метры Access, где в разделе Таблицы есть группа соответствующих элементов управления (рис. 5.26). Например, для сетки вы можете изменять отображение вертикальных и горизонтальных линий (границ ячеек), их цвет, оформление (обычное, приподнятое или утопленное), а также ширину столбцов. Установ- ленные здесь значения действуют на все вновь создаваемые таблицы (параметры «по умолчанию»). А для любой готовой таблицы вы можете сделать «индивиду- альную» настройку макета, используя для этого вкладку Главная Ленты (раз- дел Шрифт). Рис. 5.26 Настройки макета таблиц по умолчанию
134 Г лава 5 Создание баз данных и i аблиц Ширину столбцов и высоту строк можно изменить указателем мыши непо- средственно в режиме таблицы, причем ширина столбцов изменяется индивиду- ально для каждого из них, а высота — одновременно для всех строк. Для того чтобы это сделать, установите указатель на границу в строке заголовков или в области выделения записей (указатель при этом примет вид «двунаправленной стрелки»), а затем перетащите границу в нужном направлении. На рис. 5.27 показана одна и та же таблица с различными макетами. Рис. 5.27 Одна и та же таблица с различным образом настроенным макетом * здатогжства > । -ч г»’ нет Л& "Сотрудничество” Минск "Экономика и мир" М W РИО ипк м га ’Издательский дом ДПС К-«В ОСЮ "Бином-Пресс’ м ?AQ “Полино^npcfpecC н L— —J После любого изменения макета (задания новых параметров шрифта, сетки, выравнивания и пр.)т его необходимо сохранить. Это делается командой Сохра- нить контекстного меню ярлыка таблицы. Если же вы попытаетесь закрыть таб- лицу без сохранения нового макета, Access 2007 выдаст предупреждающее сооб- щение (рис. 5.28). Щелкните Да для сохранения изменений макета или Нет, чтобы закрыть таблицу со старыми настройками макета. Рис. 5.28 Сохранять ли изменения макета? Поля итогов Запись с итоговыми значениями помогает просматривать и анализировать таблицу в режиме таблипы. Итоги, рассчитываемые по всем значениям любого поля таблицы, добавить совсем несложно. Нужно только «включить» кнопку Итоги в разделе Записи вкладки Главная Ленты (рис. 5.29). После этого в нижней части таблицы появится строка, в левой ячейке кото- рой отображается надпись Итог. Щелкните любую ячейку этой строки, чтобы
Режим таблицы 135 в ней появилась кнопка со стрелкой, направленной вниз. Эта кнопка открывает список итоговых значений» которые можно задать для поля. Выберите в нем конкретное значение итогов для ячейки. Список закроется» а в ячейке отобра- зится рассчитанное значение итога. Например, на рис.5 29 для первого поля (Название) задан итог Количество значений, а для остальных — Среднее значе- ние. Кроме того вы можете задать расчет следующих итогов: Сумма, Макси- мальное значение, Минимальное значение, Стандартное отклонение и Дисперсия. Обновить все* f-T -’«—>"4 X итоги Сохоакито ОрфсК’рафия X Дополнительно- Ззлн«.и ... х. « -•••. - - ЯВВйМйМНМмВмв" :_и 10 Внедиие в философию материализма 217 10 17 I ' Материя и гпнпемрнмом естествознании 286 5 58J ► ».и . 12 Материальный мир 314 21 34 83 13 Математическое описание материи 115 27 38 И 14 Геомегрия в современном материальном 211 11 195 S 15 ^теризлигтичегкпе восприятие действит 333 13 _78 Jti 16 Т оры’' современном мдтеоми 179 2 11 tri 21 Материализм 196 55 й L9 2? Материализация сознания 126 34 '4 гй 24 Бытовой материализм п философии 112 67 44 J9 20 Материя в истории естествознания 110 J.0 16! *0 36 Метод и событие в материализме 234 45 231 Ч 1фщ^сщчвсю1Й материализм 154 12 .. 122 й £9 ййшшдтюрн^й материализм 112 11 22 & 40 Сродр о материализм^ 425 10 5 ffi 12 Демографический материализм 101 10 18 И 43 Доисторический материализм 189 Нет 44 Неизвестный матер^зриэм 2J1 Сумма Я 46 Неестественней материализм в искусстве 100 среднее ь 1 Г£ 46 Мистический м» «риалиэм 356 Количество' Значений I № 50 Политический материализм 100 Макгимапьнле значение г № 64 Политический материализм 480 Минимальное значение ~ К 55 Наша материя 170 Стандартное отклонение * (№) Р Дисперсия я Итог а 210 23 сГ1 41,65^1739130435 Рис. 5.29 Отображение итоговой записи в таблице Формат итоговых полей Итоговые ячейки имеют такой же формат данных, что и поле, которому они принад лежат. Сортировка, фильтры, подтаблицы 1 ---------------- - “ - К средствам просмотра и анализа таблиц, открытых в режиме таблицы, относятся также фильтры, сортировка и подтаблицы, которые подробнее рассмотрены в гла- ве 6 «Работа с таблицами».
136 Глава 5. Создание баз данных и таблиц Закрепление полей Некоторые поля таблицы можно закрепить так, чтобы они распол агались в ее левой части и отображались на экране (оставаясь неподвижными), независимо от ее прокрутки по горизонтали. Это могут быть поля с важными данными, на- пример, с названием документов в большой таблице Данные документов (рис. 5.30). Для того чтобы закрепить поле, выделите его в таблице, а затем в контекст- ном меню выберите команду Закрепить столбцы. Закрепленные поля переме- щаются к левому краю таблицы. ' к -j AaropcKoejipaBQ , .J 1^ен?арий' < Вводные e философию материализма 17 С ввгелъства БИНОГ Нодвя копия от 11 11.01 Матерый в современном естествознании 58 С авторов. Нет Материальный мир 34 © ян'оров и редакторов Нет Математическое оттсынне матерый 36 © ООО 'Изобразитель “ Нет "еометрия в современном материальном 185 © АО Т нацпроект" Нет ** Мшерыалистическое восприятия деЯсгаи’ 78 © авторов и издательства БИНОМ Нет № Торы4 современной матерым 11 ©антдряв Материализм 23 ©авторов Нет * Матеры ал изац ая соэнвшя 14 © авторов fei Бытовой матермшм^ы е философии *4 © авторов нет пома f- Матерый в истории естествознания 10 © авторов и редакторов Новая копия от 11.11.01 i Метод и событие в материализме [ Г11 Идеалистический материализм 122 (С) авторов документе не* Й Миниатюрный млтериализы 22 © авторов Hei Слово о материализме 5 © авторов нет Пемаграфический мвгериж.и» 18 Неизвестно Hei 1Аж Цоыстррический материалы» 100 “«известно нет Неызееспшй материализм 33 неизвестно нет п Неестественный материализм в мсхум ня 11 неизвестно нет * Мистический материализм 44 ©авторов нет |U) Политический материализм 2Р Авторов и гздя~епьства Пример для провеоки | ® Политический материализм 30 Авторов и издательства Пример для проверки ГВ Наша материя 8 • ’ 0 Л &ли<ж < « 1из23 ► F ► Поиск 1 < Uh ...t 1 Рис. 5.30 Поле Название в таблице Данные документов было закреплено Для освобождения закрепленных полей выберите в контекстном меню ко- манду Освободить все столбцы. Конструктор таблиц Конструктор таблиц используется как для создания и настройки свойств но- вых таблиц, так и для внесения изменений в свойства уже существующих таб- лиц. Например, в этом режиме можно полностью создать таблицы электронной библиотеки по описаниям, приведенным в разделе «Постановка задачи: проект электронной библиотеки» главы 2 «Планирование баз данных». Чтобы открыть конструктор таблиц для создания новой таблицы нужно щелкнуть кнопку Конструктор таблиц в разделе Таблицы вкладки Создание Ленты (рис. 5.31).
Конструктор таблиц 137 Рис. 5.31 Для создания таблицы в режиме конструктора щелкните кнопку Конструктор таблиц Таблица *Т??| Шаблоны таблиц • „ .. ОЬйсгруктсц» , шО Списки SMrePafnl г таблиц ТЛлнЦн .4 £ Новый объегг таблица Соадммце новбй пустой таблицы в режима KOrtnpyicwpr добавление полей, соад»и« Мядекй и выло /нение прочим по конструированию таблиц Откроется режим конструктора для новой таблицы с формальным именем ТаблицаНомер. В ней нет ни одного поля» а курсор ввода установлен в ячейке, предназначенной для имени первого поля. Можно сказать, что это «пустой бланк» конструктора таблиц (рис. 5.32), в котором вы можете создать таблицу «с нуля». Рис. 5.32 «Пустой бланк» конструктора таблиц Ймя лол* мож»т сснсйпо фм зныгам < y4*UM Л|&О’6«Л С< Д» rfQMKW ПО MktCMlM Пбдей мчждот KrtaNittf Н । ' ' ’ I В режиме конструктора нельзя вводить данные В режиме конструктора можно полностью описать структуру таблицы, но нельзя за- полнить ее данными. В этом режиме не воспроизводятся ни записи, ни ячейки данных. В верхней части конструктора располагается список полей. Каждое поле здесь представлено строкой, ячейки которой содержат следующее (слева напра- во): Имя поля, Тип данных и Описание. Внизу слева расположена область для задания свойств полей, а справа — справочное окно с контекстной информацией по выделенному свойству поля. Рассмотрим последовательность создания в режиме конструктора таблицы Типы документов (см. таблицу 2.5, в которой содержится ее описание). Данные в ячейки конструктора можно копировать через буфер обмена, например из документа Office Word, текстового файла и т.д. Таким образом вы можете, на- пример, перенести имена полей из текстового редактооа.
138 Глава 5. Создание баз данных и таблиц 1. В пустом бланке конструктора таблиц введите с клавиатуры имя первого поля таблицы — ID типа документа. Ограничение на имена полей и таблиц Кроме того, что длина имени поля и таблицы не должна быть более 64 знаков, в Access также действуют следующие дополнительные ограничения: • имена могут включать любую комбинацию буке, цифр, пробелов и специальных знаков за исключением точки (.), восклицательного знака (I), надстрочного знака {) и квадратных скобок ([ ]); имена не должны начинаться со знака пробела; имена не должны включать управляющие знаки (с кодами ASCII от 0 до 31 ); имена таблиц не должны включать прямые кавычки (п). 2. Нажмите клавишу со стрелкой, направленной вправо, чтобы перейти к столбцу Тип данных (можно щелкать указателем мыши в ячейке для ус- тановки курсора ввода в нужную позицию). Программа Access заполняет столбец Тил данных автоматически по окончании ввода имени поля, но делает это формально. Поэтому все поля получают «по умол- чанию» тип данных Текстовый. Вам довольно часто придется его изменять. 3. Щелкните кнопку со стрелкой, направленной вниз, в ячейке столбца Тип данных и выберите из раскрывающегося списка значение Счетчик. 4. Нажмите клавишу со стрелкой, направленной вправо, чтобы перейти к столбцу Описание. 5. Введите с клавиатуры описание для этого поля, например — Использует- ся для связи с таблицей Данные документов (рис. 5.33). Рис. 5.33 Создание таблицы Типы документов 6. В разделе Сервис вкладки Конструктор (Работа с таблицами) Ленты щелкните Кнопку Ключевое поле, чтобы установить для этого поля свой- ство первичного ключа. Похожий, но маленький, ключик появится в об- ласти выделения поля.
Конструктор таблиц 139 Автоматическое задание ключевого поля Если вы попытаетесь сохранить новую таблицу, в которой не задано поле первич- ного ключа, программа Access предупредит вас об этом и запросит разрешение на автоматическое задание ключевого поля. В случае вашего согласия ключевым по- лем будет назначено любое поле, которое имеет тип данных Сметчик, а если тако- вого нет, будет добавлено поле с именем Код и типом данных Счетчик, которое будет назначено ключевым. Задание составного ключа Чтобы сделать ключевыми несколько полей (составной ключ), их надо предвари- тельно выделить (поодиночке «поставить ключи» не получится, так как Access сбро- сит ранее установленный ключ, когда вы установите его для второго поля). Чтобы выделить в режиме конструктора несмежные поля, щелкните их области выделения, удерживая при этом нажатой клавишу Ctrl. Выделение будет действовать для зада- ния ключа, но не для перемещения или копирования полей. Если порядок полей в составном первичном ключе должен отличаться от порядка полей в таблице, щелкните кнопку Индексы в разделе Показать или скрыть вкладки Конструктор (Работа с таблицами) Ленты, чтобы открыть окно Ин- дексы: Имя таблицы (см. рис. 6.42), и укажите другой порядок полей для индек- са с именем «PrimaryKey». 7. Нажмите клавишу со стрелкой, направленной вправо, чтобы перейти к ячейке Имя поля во второй строке конструктора. 8. Повторите действия, описанные выше, чтобы .задать второе и третье поле на основе данных, содержащихся в таблице 2.5. 9. В контекстном меню ярлыка новой таблицы выберите команду Сохра- нить. Появится диалоговое окно Сохранение, в котором задайте таблице имя — Типы документов (рис. 5.34). Общие Им* поля I ¥ ID типа документа Т мп документе Комментарий Описание Используется для святи с таблицей Дантоне документов Обязате/,‘э * * * 7 8 9^о£ЛМвии—. . _ । Комментарии к квяедой адпиги (отдельному типу документа! ууамоум, ' Формат ЛОЛ* । Подпись | ’ поуивлмянмв ' Условп? ив знамение I ' Сообщение об ошибке { Обжит»лънге полк fie? < Пуоые строки _ рл И»\декге»ровинное поле Нет Сжатие ‘Онигод Др Режим ПИЕ Нет контроля Режим предложений IMF Нет Смар теги {роршт ikctb ’Обычный текст лнныние текст» Общее. Тил данных Счетчик Текстовый Поле МЕМО Невбязатеяытй параметр ж строку.сфгтоАммя при выборе поя» и форме, Дт» справки го 6nwtiH»uo нажшгтг F1 L I иакгп>уН«Ф fs окон. Н * «ямек* Рис. 5.34 Задайте имя таблицы
140 Глава 5. Создание баз данных и таблиц 10. Щелкните кнопку ОК, чтобы сохранить новую таблицу в базе данных. Таблица готова. Теперь в любой момент можно приступить к ее заполне- нию данными. При задании типа данных полей может оказаться необходимым сразу же скорректировать некоторые свойства полей. Например, для таблицы Данные до- кументов (см. таблицу 2.1), которую также можно построить в режиме конструктора, нужно сделать следующее: 1. Поле Дата должно иметь тип Дата/время, а свойству Значение по умолча- нию необходимо задать функцию Date(). Для правильного задания функции целесообразно пользоваться Построителем выражений (подробнее это сред- ство рассмотрено в разделе «Построитель выражений» главы 7 «Запросы»). 2. Полям ID типа документа, Год издания и ID издательства, а также по- t лям ID языка документа, Количество страниц. Количество рисунков и Количество ссылок следует задать тип данных Числовой. 3. Полю Переход к источнику следует задать тип данных Поле объекта OLE или Вложение, а полю Гиперссылка источника — Гиперссылка. 4. Полям Твердая копия и Комментарий целесообразно задать тип Поле МЕМО (так как заранее неизвестно, какой длины данные могут попасть туда при заполнении базы данных). 5. Некоторые поля следует сделать обязательными, не допуская тем самым в них пропуски данных. Например, для таблицы Данные документов можно сделать обязательными поля Название, ID типа документа, Год издания и ID издательства. Для этого в ячейках их свойства Обяза- тельное поле следует исправить значения с Нет (по умолчанию) на Да. Изменение свойств полей Процедура изменения свойств полей чаще всего выполняется путем выбора одного из допустимых значений в списке. Щелкните ячейку значения для интересующего вас свойства в нижней части окна конструктора. В ней появится кнопка со стрелкой, направленной вниз. Раскройте с ее помощью список и выберите в нем подходящее значение (рис. 5.35). Копирование определения поля В режиме конструктора можно копировать поля вместе с их свойствами (при этом копируются только определения полей, но не их значения). Для того чтобы скопи- ровать поле: 1. Выделите поле (или поля). 2- В контекстном меню поля выберите команду Копировать. 3. Щелкните пустую строку там, куда нужно вставить поле (поля). 4. Выберите в контекстном меню команду Вставить. 5. Задайте новое имя для скопированного поля. Также через контекстное меню можно вставлять поля (строки), удалять их и переме- щать. Кроме того можно перемещать поля, перетаскивая их указателем мыши за область выделения.
Создание таблицы из шаблона 141 23 -Цдашда И Имя ПОЛЛ ТНПЛ1МШЯАЖ Описание А J ID документа Счетчик . * Дата Дата/время Название [текстовый ID типа ^документа Числовой Год издания Числовой ID издательства Числовой Переход к источнику Поле объекта OLE Гиперссылка источника Гиперссылка ID языке документа Числовой Количество страниц Числовой Количество рисунков Числовой Количество ссылок Числовой Твердая копил Поле МЕМО Авторское право Текстовый Комментарий Поле МЕМО Свойств» поли ов°** [йащйак? 100 DnMep полк Формат полк — IfeAWR_____________ Значение по умолчанию т [Сообщение1 об оынбн» Обязательное поле Пустые строки_______ И^ксмрованное цод£ Сжатие Юникод Режмм1МЕ ___ _______ Режим предложений JME Обяательный подданных вето поле [нст kt , Де Нет «онтролл Нет_________ пи» tit Рис» 5.35 Задайте новое значение свойства Таблица, которую вы будете создавать в режиме конструктора, может потре- бовать довольно сложных настроек свойств полей. Поэтому следует иметь в виду, что впоследствии (особенно при проверке работы создаваемой базы) свой- ства полей можно так же легко изменить с помощью конструктора таблиц. Если вы, все же, хотите настроить вашу таблицу сразу, то обратитесь за дополнитель- ной информацией по свойствам полей к разделу «Задание свойств полей таб- лиц» главы 6 «Работа с таблицами*. Создание таблицы из шаблона В Access 2007 вы можете создавать тематические таблицы из шаблонов, уста- навливаемых вместе с программой, а именно: Контакты, Задачи, Вопросы, Со- бытия и Основные фонды Этими шаблонами обеспечиваются таблицы, совмес- тимые с одноименными списками Microsoft Windows SharePoint Services 3,0. Просто откройте список Шаблоны таблиц в разделе Таблицы вкладки Созда- ние Ленты (рис. 5.36), а затем щелкните в нем имя того шаблона, таблицу из ко- торого вы хотите создать. После непродолжительной паузы таблица будет добав- лена в вашу базу данных (рис. 5.37). При ее закрытии вам нужно будет дать ей имя.
142 Глава 5 Создание баз данных и таблиц Рис. 5.37 Таблица, созданная из шаблона События, добавлена к базе данных Рис. 5.36 Список шаблонов таблиц, устанавливаемых в Access 2007 Время начали Орема окончания Менло : Описание______ Вложения Имя пол> может юстоггьи! Ы »налс« с /чатам пробелов. Дпа спрааки по именам полей нажмите кммшу *1 им< - пиля НовыеlNf4*Hna Формат поля Ит^ивффоввммое поле Да (Совпадения не допу Вмраянмвиме текста Обч*« «К Ужинное целое Псслсдоаатглкиыс Назыние Тир данных С*«гчик ’Текстовый Дата/время Дата/время Текстовый Пол» MEMO Вломвмие Описание Создание таблицы, связанной со списком SharePoint Расположенная в разделе Таблицы вкладки Создание Ленты кнопка Списки SharePoint (рис. 5.38), также открывает список названий таблиц, после выбора одной из которых запускается мастер Создание нового списка (или мастер Внешние данные - Узел SharePoint).. В результате его работы будет создан список на указанном вами узле SharePoint, а затем связанная с ним таблица в ва- шей базе денных (импортируются или связываются данные из указанного списка SharePoint со специально созданной для этого таблицей в вашей базе денных). Подробнее о списках SharePoint см. главу 13 «Интеграция данных между Access и узлом SharePoint». Рис. 5.38 Создание списков SharePoint
Импорт и связывание таблиц 143 Импорт и связывание таблиц При импорте и связывании таблиц данные из файла, созданного в другой про- грамме, становятся доступными для обработки в вашей базе данных. Когда ис- пользуется импорт, «чужая» таблица копируется в вашу базу данных вместе с определениями ее полей и содержащимися в ней данными. Связь с файлом-ис- точником разрывается, а исходная таблица в нем не изменяется. Импорт таблиц позволяет вам сэкономить свое время и силы, когда вы, например, знаете, что в какой-либо базе данных есть нужные для создаваемой вами базы таблицы или данные или, когда вы хотите объединить две базы данных. Кроме того, програм- ма Access обычно работает быстрее со своими собственными таблицами. Импортируемые данные нельзя сразу добавлять в существующие таблицы (за ис- ключением импорта электронных таблиц или текстовых файлов). Если вы хотите по- заимствовать данные из другой базы и добавить их в свою таблицу, вам нужно им- портировать всю таблицу, а затем создать и выполнить запрос нс добавление запи- сей. Подробнее запросы на добавление рассмотрены в разделе «Запросы на добавление записей» главы 7 «Запросы». При связывании таблиц создается подключение к данным другой программы без их непосредственного копирования в вашу базу. Связывание данных позво- ляет извлекать и, в большинстве случаев, оперативно обновлять данные из дру- гих файлов. Файл-источник также не изменяется, что позволяет продолжать его использование «по назначению» в той программе, в которой он был создан. Связывание удобно использовать, когда, например, есть таблица, к которой мо- гут обращаться пользователи, работающие в нескольких разных базах данных Access или, когда нужно обеспечить доступ других пользователей к таблице из вашей базы данных, сохраняя при этом ее в структуре и «в подчинении» вашей базы данных. Все варианты импорта и связывания таблиц доступны для выполнения из раздела Импорт вкладки Внешние данные Ленты или из контекстного меню лю- бой таблицы в области переходов (рис. 5.39). Импорт таблиц Процедуру импорта данных можно разбить на три этапа; • подготовка к импорту; запуск мастера импорта данных в программе Access; сохранение настроек импорта данных (при необходимости точного повторе ния этих действий впоследствии). В процессе подготовки к импорту таблиц необходимо определить местополо- жение базы данных-источника и «проинспектировать» ее структуру на предмет тех объектов, которые вы хотите «позаимствовать». Имейте в виду следующее: вы можете импортировать сразу несколько объектов; каждая операция импорта создает в вашей базе данных новые объекты, вы не можете заменить какие-то объекты или добавить записи данных к суще- ствующим таблицам;
144 Глава 5. Создание баз данных и таблиц Рис.5.39 Выберите операцию импорта и связывания на Ленте (вверху) или в контекстном меню таблицы (внизу) ТйЪлицы Д»нн) Колю ***** Орга* JlriCTl Спнсс Открыть |£ Коигтруктор Экспорт £бор и обновление дан «ых по мектрокной почте Перецыеновап» Скрыть этой группе Удалить база дмпмо ООвС Импорт или присоединение базы данных ODBC, например SQI Server $амданчмх:Л(се€5 & Ейсе| ^EjocI Coxpai тнйме операции импорте ' А- Список SharePoint С'.'} ’ __ ——а —— □—u—.< Импорт или присоединение HTML-документа ЛааваОиПоо* Импорт иди присоединение ла мм Outlook ШлгШАЯ Импорт ши присоединение файла rJBASE файл РжаЛох Импорт или присоединение файла Рвгабк»: файл Lotus 1-2-3 Импорт файла Lotus 1-2-3 Выремггъ Копировать Встйрит» Список SharePoint Текстовый файл ХМЬфйл база данных ODBC Документ rTML Овпка Outlook а Диспетчер (дезаиные таблиц Свойства таблицы Если в вашей базе донных имеются таблицы, одноименные с импортируемыми, та добавленные таблицы будут иметь такое же имя. но с добавлением к нему порядко- вого номера. если таблица, которую вы хотите импортировать, является связанной таб- лицей из другой базы данных, то ваша операция импорта заменится опера- цией связывания таблиц; вы не можете «выбросить» из импортируемой таблицы какие-либо поля или записи данных, но если вам не нужны данные, вы можете импортиро- вать только определения полей таблицы; вы можете импортировать также связи между импортированными табли- цами. Перед импортом убедитесь, что исходная база данных не была открыта ка- ким-либо пользователем в режиме монопольного доступа. Откройте свою базу данных (естественно, также не в режиме «только для чтения»). Выполните следующее:
Импорт и связывание таблиц 145 Создайте пустую базу данных Если вы хотите осуществить импорт в новую бозу данных, то должны предваритель- но создать и открыть пустую бозу данных (см. раздел «Создание пустой базы дан- ных» выше в этой главе). Элементы управления на вкладке Внешние данные Ленты доступны только при открытой базе данных. __ _______-_------ ---------- || - L _ г- - . - .. . — ----------- 1. Для запуска мастера импорта и связывания данных, щелкните одну из кнопок в разделе Импорт вкладки Внешние данные Ленты или выберите одну из команд контекстного меню любой таблицы в области переходов (см. рис. 5.39). 2. Откроется диалоговое окно мастера Внешние данные — Tun файла-источ- ника (рис. 5.40). Рис. 5.40 Диалоговое окно мастера импорта данных из файла Access 4 Зависимость от типа файла В зависимости от того, какой тип файла используется в качестве источника данных, настройки в диалоговых окнах мастера могут различаться. Например, текстовые данные можно добавлять в какую-либо таблицу из вашей базы данных, а файлы базы данных Lotus 1-2-3 можно только импортировать в новую таблицу, но не свя- зывать. Ниже рассмотрен вариант импорта из базы данных Access. Естественно, что при импорте из файлов других типов возможны определенные и вполне конкрет- ные ограничения. Для подробного изучения этого вопроса применительно к фай- лам различных типов можно обратиться к соответствующим разделам справочной системы программы Access. 3. В диалоговом окне мастера укажите файл источника данных или найдите его в палках компьютера с помощью кнопки Обзор,
146 Глава 5. Создание баз данных и таблиц 4. Установите переключатель в положение Импорт таблиц, запросов, форм, отчетов, макросов и модулей в текущую базу данных. Щелкните кнопку ОК- 5. Появится диалоговое окно Импорт объектов (рис. 5.41 слева). Вы делите в нем объекты, которые следует импортировать (для более ♦тонкой♦ на- стройки импорта щелкните кнопку Параметры, чтобы отобразить допол- нительные элементы управления в этом диалоговом окне). Из диалогового окно Импорт объектов видно, что из собственного формата файла программа Access позволяет импортировать любые объекты: таблицы, за- просы, формы, отчеты, макросы и модули. Объекты каждого типа перечислены в списках но своих вкладках. Для баз данных других форматов выбор может быть значительно уже. д ttwid..„ . m dbo ЛртирыНл dbo.tyKcreCfai'M d5o Mtdjw л» н*-«ха <fco Дж**» дсжуяжпж dx Hj*ar»?»ciBe cfcc Карта** dbc Off•ыкнинм dbr Раджгар^ dbu Рамкторыллкумаитш dbi). т»Гы л •vnenToa dbojb** Зс* мтдо Длины* ЖОКУИЫП-В Иадж’шьгм [сргянимиги Г«бп>1ц*1 w Mtfc* hj «и ffi ЛХр**ПЪ nvo* СЗс5*маД9ннм С р1^уОИГИИ*Г>- I □ группы эблйстнп*р*хе<|| ' ИМПОРТ М&М| ©£П1.кгден Иоорт млроса* 'IjpawiDiti ►> Рис. 5.41 Выберите и настройте объекты для импорта (слева) или связи (справа) 6. Щелкните кнопку ОК, и новые объекты будут импортированы в вашу базу данных. 7. На экране появится диалоговое окно Сохранение шагов импорта. Если вы хотите сохранить настройки импорта для последующего использования, установите флажок для параметра Сохранить шаги импорта, чтобы ото- бразить дополнительные элементы управления в этом диалоговом окне (рис. 5.42). Здесь вы можете дать имя операции импорта, сохранить ее описание, а также создать для нее задачу в программе Microsoft Office Outlook для периодического выполнения. 8. Когда все настрой ки будут сделаны, щелкните кнопку Сохранить импорт. Теперь, когда вам будет необходимо обновить данные путем повторения опе- рации импорта, достаточно щелкнуть кнопку Сохраненные операции импорта в разделе Импорт вкладки Внешние данные Ленты, а затем выбрать операцию в диалоговом окне Задачи управления данными (рис. 5.43), и запустить процесс импорта щелчком кнопки Выполнить.
Импорт и связывание таблиц 147 Рис. 5.42 Сохраните настройки импорта объектов Рис. 5.43 Вы можете выполнять сохраненную операцию импорта многократно Экспорт таблиц Таблицы можно не только импортировать, но также экспортировать в другие базы данных и сохранять в форматах других файлов. Для выполнения экспорта использу- ются элементы управления раздело Экспорт вкладки Внешние данные Ленты или команды контекстного меню таблицы. Операция экспорта также настраивается с помощью диалоговых окон мастера (см. раздел «Просмотр, печать и экспорт таб- лиц» главы 6 «Робота с таблицами»). И точно так же ее настройки можно сохранять.
148 Глава 5. Создание баз данных и таблиц Связывание таблиц Связывание таблиц осуществляется с помощью того же мастера Access Внешние данные — Тип файла-источника (см. рис. 5.40). В его первом окне вы должны выбрать другое положение переключателя — Создать связанную таб- лицу для связи с источником данных, а затем выполнить то же самое, что было описано в предыдущем разделе. Пройдя через диалоговые окна мастера, вы по- лучите в своей базе данных новую (специальную) таблицу, которая будет отве- чать за связь с таблицей источника данных. Благодаря ей, изменения, внесен- ные в данные Access, будут отображаться в источнике и наоборот. Если база дан- ных источника защищена паролем, то он будет храниться вместе со связанной таблицей (см. рис. 5.41 справа). 4 Связывать можно только таблицы Можно устанавливать связи только с таблицами баз данных. Этого нельзя делать с запросами, формами, отчетами, макросами или модулями. В области переходов Access для обозначения связанных таблиц используют- ся специальные значки (со стрелкой, расположенной слева и указывающей на значок таблицы, рис. 5.44). Рис. 5.44 Связанные таблицы в области переходов программы Access: объекты сгруппированы по типам (слева) и в пользовательские группы (справа) В приведенном на рисунке примере таблица Редакторы является связанной таблицей из другой базы данных Access, таблица Лист! связана с электронной таблицей Excel, Список авторов — с HTML-файлом, таблица Авторы — из базы данных Paradox, таблица Карта — из базы данных SQL Server. Заметим, что если в области переходов удалить значок связанной таблицы, удаляется только связь с таблицей, но не сама внешняя таблица. Связанная таблица может «на равных правах» участвовать в построении за- просов, форм и других объектов вашей базы данных. Но вы не можете изменять ее структуру, то есть не можете добавлять (удалять) поля или изменять тип дан- ных. Все изменения такого типа в связанной таблице должны проводиться толь- ко в исходной базе данных или программе. Если вы попытаетесь открыть свя- занную таблицу в режиме конструктора, то увидите все свойства ее полей (как и у обычной таблицы Access), но перед этим (а также после закрытия режима кон- структора) получите предупреждения (рис, 5.45).
Импорт и связывание таблиц 149 Рис. 5.45 Структуру связанной таблицы изменить нельзя [»*»**..—........................ HI!."' -I . НЧР III ? Kl^lU »<> , "'У*-1 ИМИ у и"; III II е*«Ч1 и > ywiy Таблица "Адгорш (₽4г«Л>н)* ивяяеесо связанной тлбдщсй. структуру которой изменить д нельзя. f с>м требуется Добов ль или удалить поля либо имяаигь мм свойства или ты t у \ денных, это можно идепато в исходном базе данным» Фткр©4П> тв6Л1й/? - Пр * ложениео » «готоЯ Office Лссекз* не удается сохранить изменен .я «мойстй Для связанным -таблиц. • * ' Свойства полей связанной таблицы В связанной внешней таблице можно изменять только некоторые свойства полей, те, которые задаются в вашей базе данных Access и которые относятся к созданной в ней таблице (обратите внимание на подсказку в правой нижней части окно конст- руктора таблиц, рис. 5.46). Вы можете устанавливать новые связи в вашей базе данных с помощью ключевых полей. Если устанавливается связь с двумя таблица- । ми, расположенными в одной баз® данных Access, то остаются в силе все отноше- ния, установленные между этими таблицами в исходной базе данных. • ’s ’ Рис. 5.46 Можно изменять только некоторые свойства связанных таблиц < * г Общие Размер поля Формат поля Ч>Ы»одерпи.цмш «ахов Маска «вода Подпись Значение по умалению (Условие на знамение Сообщение об ошибке Обязательное поле Индексированное поле (Сыар! -тещ ойное с плавающей точкой зг Байт Целое Длинное целое 1 Пдинармсе < плавающей точкой Свойства Полу и н дКчцеп дрепликации йггвительное Ни =ь Для сеямнтдетгёлиц иекошожнс изменение данного войггка ........ 1.1_________________ I* оем Общие .Размер поля дойное с длаваюи$ей точкой Фарызт поля (Основной Число десятичны» знаков АШо Маскаввода_ Подпись Значение по умоли ы 1ию Условие не вчачение J Общее Сообщение ₽б ,1в левому краю Обязательное поле иедексирокамное поле j По праве му краю hb | По ши рине 1Обще е[ Вмраеняыкие текла «нугоя мемонта уповвлемиу ГЬ. ц-.нь.'. ыраа «имние текста $ ЧУ у:' t"'+' ф 0'4' 'Ц 'У ц, у,' о # W.
150 Глава 5. Созданиебазданныхи таблиц Изменение макета связанной таблицы Для связанной таблицы допускается любое изменение ее макета, то есть «внешне- го вида». Связанные таблицы можно переименовать. Так как имена таблиц Access мо- гут содержать до 64 знаков, можно дать связанной таблице более содержатель- ное имя по сравнению с ее именем в исходной базе данных. Для этого восполь- зуйтесь контекстным меню связанной таблицы. Необходимо подчеркнуть,, что сама исходная таблица при этом переименована не будет. Изменится только имя. которое Access использует в ссылке на эту таблицу. Импорт связанной таблицы |. — -ь — '1 -1 » * - -------- - 2 Связанную таблицу можно очень просто «импортировать» в базу донных- Скопи- руйте ее в области переходов, а затем вставьте из буфера обмена {все это легко проделать с помощью контекстных меню). После выполнения команды вставки поя- вится диалоговое окно Вставка таблицы, в котором есть группа переключателей с параметрами вставки. Выберите вариант Структура и данные (локальная таблица), а затем дайте имя копии и щелкните кнопку ОК (рис. 5.47). Новая таб- лица появится в вашей базе данных и отобразится в области переходов. * 1 2 3 4 5 Рис. 5.47 В диалоговом окне Вставка таблицы выберите вариант Структура и данные (локальная таблица) Для просмотра или обновления связей после изменения структуры ил и рас- положения связанной таблицы используется диалоговое окно Диспетчер свя- занных таблиц. Для обновления связей в вашей базе данных сделайте следующее: 1. Откройте базу данных, содержащую связи с таблицами. 2. В разделе Работа с базами данных вкладки Работа с базами данных Лен- ты щелкните кнопку Диспетчер связанных таблиц. Или в контекстном меню связанной таблицы выполните команду Диспетчер связанных таб- ЛИЦ- 3. В появившемся диалоговом окне Диспетчер связанных таблиц (рис. 5.48) установите флажки около имен тех таблиц, связи с которыми требуется обновить, 4. Щелкните кнопку ОК для обновления выбранных связей. 5, Программа Access либо подтвердит успешное обновление, либо, если таб- лица не найдена, выведет на экран диалоговое окно Выбор нового распо- ложения Имя таблицы, в котором можно указать новое расположение таблицы.
Импорт и связывание таблиц 151 Рис. 5.48 Диспетчер связанных таблиц г........................ , . ' , 1 К Авторы (Paradox) {CC :curnerts8rdS6ttJngaV^KWowAaKYMeHTbi\22£)6) Г *gg Лисп (Excal) (С document» end settlng$\ABK»fcw дохумвитълкнигаТлкгхШисП» Диспетчер связанных таблиц не может обновлять связи с таблицами Access, имена которых были изменены после связывания. В таких случаях необходимо удалить текущую связь, а затем установить ее повторно. Создание таблиц: проект электронной библиотеки Теперь, когда были рассмотрены способы создания баз данных и таблиц, вы можете самостоятельно подготовить таблицы базы данных электронной библио- теки, руководствуясь их описаниями, данными в разделе «Постановка задачи: проект электронной библиотеки* главы 2 «Планирование баз данных». Эти таб- лицы пригодятся для рассмотрения примеров работы с объектами баз данных Access, которые приводятся в последующих главах книги. Начните с создания пустой базы данных в формате Access 2007. Для опреде- ления полей таблиц максимально используйте возможности режима конструк- тора. Некоторые таблицы несложно получить «друг из друга» копированием в области переходов и последующим исправлением свойств в режиме конструк- тора, например, Издательства и Организации. Не забывайте, что можно копи- ровать определения полей, даже из одной таблицы в другую (в таблицах проекта электронной библиотеки много полей первичных и внешних ключей, например, ID типа документа или ID издательства* которые имеют одинаковые определения). Когда таблицы будут готовы, их следует заполнить проверочными данными, вводя с клавиатуры в каждую из них по 10 20 записей- Заполнение базы данными для проверки ее работоспособности к| Необязательно все данные вводить с клавиатуры. Можно скопировать их, применяя i r w 1 обычные для Windows приемы. Например, через буфер обмена из таблиц, создан- — ных в программах Word или Excel, можно перенести список авторов, столбцы зна- чений и т.п. Будьте внимательны — при вставке данных нужно выделить в таблице базы данных Access столько полей, сколько вы скопировали столбцов в буфер об- мена. Если выделенных полей будет меньше, то сканируются не все данные.
152 Глава 5. Создание баз данных и таблиц В ячейку с типом данных Гиперссылка может быть введен или полны й адрес гиперссылки (ЭкранныйТекст#Адрес#ДополнительныйАдрес# Подсказка), или только его часть. При этом: если введен ЭкранныйТекст, следующая за ним часть адреса в ячейке ото- бражаться не будет; если ЭкранныйТекст введен не был, то в ячейке отображается только ад- рес; ДополнителъныйАдрес отображается, если не были введены ЭкранныйТекст и Адрес; В качестве дополнительного адреса могут быть использованы имя закладки доку- мента Office Word или файла HTML, указания на лист и диапазон ячеек в элек- тронной таблице Office Excel (например, Лист11А2), номер слайда Office PowerPoint и т.д. Подсказка отображается на экране при наведении указателя на ячейку с гиперссылкой. Например, адрес К образцу#http://www.elbi2004.ги#Обраэеи# задает следующее: в ячейке таблицы отображается текст «К образцу», щелкнув который можно перейти к закладке «Образец» на основной странице сайта elbi2004.ru. Адрес # \\Server\DociHnents\CnpaBKa.docx##CnpaBKa по работе с документом Рис. 5.49 Диалоговое окно Вставка гиперссылки
Импорт и связывание таблиц 153 будет отображаться непосредственно в ячейке и задавать ссылку на документ текстового редактора Office Word 2007 под именем Справка, расположенный на сервере Server, в папке Documen ts (в адресах UN С отображается обратная косая черта (\)). При указании на ячейку будет отображена всплывающая подсказка «Справка по работе с документом». Поле гиперссылки можно также заполнить по-другому. Щелкните ячейку таблицы, где она должна располагаться, правой кнопкой мыши, а затем в кон- текстном меню выберите Гиперссылка । Изменить гиперссылку, чтобы вызвать на экран диалоговое меню Вставка гиперссылки (или Изменение гиперссылки). Используя средства этого окна, задайте адрес ссылки и щелкните кнопку ОК (рис. 5.49). Проверьте работу гиперссылки в режиме таблицы. Добавление связанных и внедренных документов в поля, которые имеют тип Поле объекта OLE и Вложение, будет рассмотрено в разделе «Внедрение и свя- зывание данных в поле таблицы» главы 6 «Работа с таблицами».
Глава 6 Работа с таблицами В этой главе будут рассмотрены средства и способы работы с таблицами. Они могут использоваться как при создании, просмотре или изменении таблиц базы данных, так и при исправлении данных в таблицах уже «действующей» базы данных, в которой «обычные» пользователи (не владельцы базы данных и не ад- министраторы) работают, как правило, не с помощью таблиц, а с помощью форм, запросов, списков SharePoint, макросов или модулей VBA. Поиск и замена данных В больших по размеру таблицах, а они в современных базах данных совер- шенно естественны, простым просмотром нелегко отыскать какие-то конкрет- ные данные. А это бывает нужно, например, для их замены или исправления. В Access имеется целый ряд интерактивных средств работы с таблицами: диало- говое окно поиска и замены, разнообразные фильтры, средства сортировки запи- сей. Многие из этих средств универсализированы с другими программами Microsoft Office 2007, и вам не составит труда освоить работу с ними, если вы, например, знакомы с программами Office Word 2007 или Office Excel 2007. В таблицах (а также в формах и запросах в режиме таблицы) можно прово- дить поиск конкретного значения, одной записи или набора записей. Так же с помощью фильтров можно сузить область поиска, временно «отбросив» те за- писи, в которых искомых данных заведомо быть не может. Наиболее мощным инструментом поиска и замены данных является запрос. Напри- мер, с помощью запроса на обновление можно найти все номера телефонов, для которых телефонной службой было проведено изменение «начальных цифр» и тут же исправить их во всей базе данных. Запросы подробно рассматриваются в главе 7 «Запросы».
156 Глава 6. Работа с таблицами Средство поиска и замены С помощью диалогового окна Поиск и Замена можно найти конкретные запи- си или определенные значения в полях, а также произвести их замену на другие значения. Доступ к окну поиска и замены можно получить из контекстного меню поля таблицы, открытой в режиме таблицы (команда Найти), или из раздела Найти вкладки Главная Ленты (кнопки Найти и Заменить). Диалоговое окно Поиск и замена (рис. 6.1) имеет две вкладки: Поиск и Заме- на. Внешне они почти не отличаются. На вкладке Замена есть одно дополни- тельное поле Заменить на, в котором указываются данные, заменяющие иско- мые, и еще две кнопки Заменить и Заменить все. Поэтому вкладкой Поиск поль- зуются, например, когда нужно заменить данные в одном или нескольких полях (ошибки или опечатки), при этом сами исправления делаются «вручную». Вкладка Замена автоматизирует весь процесс: с помощью кнопки Заменить ис- правляется конкретное найденное значение, а с помощью кнопки Заменить все — сразу все значения в поле или таблице. На рис. 6.2 показано, что в поле Имя таблицы Авторы пользователь хочет заменить неправильно набранные имени «Вечеслав» на «Вячеслав». Рис. 6.1 Вкладки Поиск (вверху) и Замена (внизу) диалогового окна Поиск и замена Ниже дано краткое описание параметров поиска, которые можно задать в диалоговом окне Поиск и замена: Поиск в. С помощью списка можно выбрать либо поиск по записям текуще- го поля (в котором установлен курсор ввода), либо поиск во всех полях таб- лицы (которая задается своим именем). Поиск только в текущем поле, осо- бенно если оно индексированное, обычно выполняется быстрее. Этот параметр установится автоматически, если просто выделить поле, по которо- му требуется выполнить поиск, в таблице. Чтобы заменись поле, по которому буде! проводиться поиск, щелкните его мышью, не закрывая диалогового окна Поиск и замена L________
Поиск и замена данных 157 __ ______тиа*, т Абасов Игорь Гургенович Алешина Диана Викторова 2 тел 111-1111 Вигапьвдич _ £ г Рдйыйк WP Васильевич 3 ЛА Рис. 6.2 Настройка вкладки Заменить на исправление неправильно написанного имени в таблице Авторы 1 ИГ 2 де звв Tjewinil 2ЩЖ обрами. Закекгън!! Поиска 14. A ii Вячеслав В*«мв Мня wi С «обпй «аттьо поля rbocmrp Цс умятом регистра 0с учвгом фзрпатваотй lyar^marfru i Москва упС^ететдаа д241 ком > Мррез Г/ляеааМН davydova ru , 1 dan$o@ma:lту__________________ даА11:Й-12<__________ ~ Его у>^е мет Он ив пенсии и не занимается эти Перешел в другую оргатз<^ию и; actifp{ggmai тс ays5@tntercom.ry | - Перешел в друг ую opPMijuyqtMCii 9 Он на пенсии и не ^ДЭДЫДрся эти - 1 . у - -д-я—мав 17ИО_____ Истомин Иеан_________Олегович *___1JP Е А Каткова Екатерина Андреевка, _________ 19 ^ В Кириленко Впадншгр_ Владимирович 7 г Рог ьск, а'я 275 ® 20АС _Л^зпов. , 1L. : : . 1 ~ ; ; Уг Рогъс« аЪ 275 ' 21 И Ф Копылов Иван 22 BE 24 ПМ ип пл 28 ; ^>-С,у/ц>-01’Ч и < ljn<5 ___ .Федорович i Он на пен ни и нс яцычеется^^ Комелев Влчеспаа Евгеньевич Кудрт идее А/у}рей М?1^йлов|гч 3 П«цн?ше в ДРУГУю opt ’низацию jj Кудрявцева Пкфмигш МныМпгща._____₽тел 111 11 11 Щупиков__ ________3 тел 111 11-ii Педенея Пантеп*л 1аелович_______ 7 Ом на пенсии и не зодмается эти ЦЗрусев Иван_____ Олегович_______ 9 тел 222-22-22 ' ~ Мах Шамиль V1 Е^р^^оаич > > S Черед Гуляева ЯН WWriMW 2Z~~ г 9 теп КЮ И) МО Совпадение. В списке выберите один из типов совпадений. Если выбрать С любой частью поля, то по образцу «слав» будут найдены и «Вячеслав», и «Владислав». Если выбрать Поля целиком, то по образцу «мост» будет найден «Мост», но не «Помост» и не «Мостовая». Наконец, при варианте С начала поля, по образцу «нев» будет найдена «Нева» и «Невское», но не «Кишинев». Просмотр. С помощью списка можно указать направление поиска относи- тельно текущего положения курсора ввода (или выделенной ячейки): Вверх (по направлению к первой записи), Вниз (к последней записи) или Все (во всей таблице). С учетом регистра. Установленный флажок для этого параметра задает по- иск с учетом регистра символов при сравнении с образцом, заданным в поле Образец. Снятый флажок задает поиск без учета регистра символов. С учетом формата полей. Установите этот флажок для поиска данных в указанном формате отображения (например, дата, сохраненная в формате 1.3.01.94, может выводиться как 13-янв-94). Такой поиск является обычно более медленным. Снимите флажок для поиска данных по их значению. Поля Образец и Заменить на имеют раскрывающиеся списки, хранящие по- следние введенные в них значения. Поле Образец должно содержать фрагмент данных, которые нужно найти. При этом в нем допускается использование под- становочных знаков, которые описаны в таблице 6.1.
158 Глава 6 Работа с таблицами Таблица 6.1 Подстановочные знаки и их действие Подстановочный знак Действие знака Пример । Л Соответствует любому количеству символов. Может использоваться в ка- честве первого или последнего знака текстовой строки. Если задать « * восток», ' можно найти «Северо-вос- ток», «Юго-восток» и «Вос- ток». Соответствует одному любому тексто- вому знаку. Если задать «д?м», можно найти «дом» и «дым». п Соответствует любому одному знаку из нескольких, заключенных в квад- ратные скобки. Если задать «В[ея] чеслав »г можно найти и «Вече- слав», и «Вячеслав». X 1 Соответствует любому одному знаку, кроме заключенных в квадратные скобки. Если задать «В[1ия]че- слав», можно найти «Вече- слав», но не «Вячеслав» и не «Вичеслав». а» Соответствует любому знаку из диа- пазона, указанного в квадратных скобках. Необходимо указывать этот диапазон по возрастанию (от А до Я, но не от Я до А). Если задать «В[а-к]че- слов», Можно найти «Вече- слав» и «Вичеслав», но не «Вячеслав». # Соответствует любой цифре. Если задать «# 1», можно найти «1 I», «21» и т.д. Ниже в качестве еще одного примера рассмотрена процедура поиска пустых полей и строк в таблице Авторы электронной библиотеки (например, в таблице могут отсутствовать имена и (или) отчества отдельных авторов): 1. Откройте таблицу Авторы в режиме таблицы. 2. Щелкните кнопку Найти в разделе Найти главной вкладки Ленты, чтобы открыть диалоговое окно на вкладке поиска. 3. Выполните одно из следующих действий: в Если пустые поля содержат какой-нибудь специальный текст, напри- мер, «Неизвестно», введите его в поле Образец и убедитесь, что флажок С учетом формата полей установлен. в Если пустые поля ничего не содержат, введите Null (или Is Null) в поле Образец и убедитесь, что флажок С учетом формата полей снят. 4. Установите в диалоговом окне Поиск и замена все остальные нужные па- раметры. 5. Чтобы начать или продолжить поиск пустых полей, нажмите кнопку Най- ти далее. При необходимости внесите изменения в найденные поля.
Поиск и замена данных 159 Какое поле было найдено? Так как в пустых полях таблицы ничего не отображается, то сориентироваться, ка~ I кое именно поле найдено в данном случае, может оказаться, на первый взгляд, до- вольно сложно (рис 6.3). Щелкните вкладку таблицы Авторы, чтобы перевести фо- кус на нее — найденное поле будет выделено и в нем появится текстовый курсор. Рис. 6.3 Найдено и выделено пустое поле в таблице Авторы Удалите маску ввода перед поиском Если в таблицу, уже содержащую данные, была добавлена маска ввода, могут воз- никнуть сложности при поиске и замене данных в полях, не удовлетворяющих мас- ке ввода. Чтобы этого не происходило, следует удалить маску ввода, воспользо- ваться диалоговым окном Поиск и замена, а потом опять добавить маску ввода. Также можно изменить данные в нужном поле так, чтобы они удовлетворяли маске ввода. Поиск в индексированных полях . — - I Быстрее всего выполняются операции поиска по полному значению поля или по первым знакам в одном индексированном поле. Если приходится часто выполнять поиск в одном и том же неиндексированном поле, полезно создать индекс для этого поля. Установка индекса для поля производится с помощью его свойств (этот вопрос i рассматривается в разделе «Индексирование полей» настоящей главы). Фильтры Можно сказать» что фильтры временно «удаляют» некоторый набор записей, удовлетворяющих определенному условию на значения полей. Их можно при- менять перед проведением поиска, чтобы «уменьшить» количество просматри- ваемых записей, и таким образом ускорить работу. Более того, умело подобран- ные фильтры могут полностью решить задачу поиска конкретных данных. Фильтр используется как инструмент работы с данными, их просмотра, про- верки и редактирования. Фильтр — это фактически набор условий для отбора подмножества данных (или для сортировки данных). Фильтр иногда образно на- зывают «одноразовым» или «мимолетным» запросом, так как его можно нало- жить на таблицу (запрос) и удалить нажатием всего лишь одной кнопки. Разные
160 Г лава 6 Работа с таблицами фильтры можно «наслаивать» друг на друга, постепенно приближаясь к желае- мому результату. У фильтра нет имени (но все же, в программе Access удачно созданный фильтр можно сохранить в виде запроса). Фильтры могут применяться не только в таблицах, но и в формах, запросах и отчетах. ч Хранение фильтров Средствами фильтрации вы пользуетесь в интерактивном режиме, щелкая кнопки и делая выбор в меню. Условия отбора (в виде формальной математической запи- си) Access составляет автоматически. Более того, эти условия могут сохраняться вместе с объектом базы данных до тех пор, пока вы не наложите новый фильтр. Так что, вы можете применять «последний» фильтр на объекте многократно. Чтобы уви- деть условие фильтра, записанное на языке SQL, сохраните фильтр как запрос (в контекстном меню ярлыка обычного фильтра есть команда Сохранить , а затем откройте этот запрос в режиме SQL. _ — _____ . ----- . — — - --! " — — ~ Сохранение фильтра вместе с таблицей Когда вы закончили «фильтровать» таблицу и хотите ее закрыть, Access почему-то спрашивает вас, не хотите ли вы ее сохранить? Даже если вы не изменяли ее струк- туру или содержание. Вопрос программы относится к фильтру, который вы приме- няли в данном сеансе работы с таблицей. Если вы ответите Да, то фильтр сохранит- ся вместе с таблицей, если — Нет, то в ней останется тот, который был перед откры- тием таблицы в данном сеансе. Открытие таблицы с наложенным фильтром Чтобы таблица открывалась с уже наложенным на ее поля фильтром, необходимо изменить ее свойство Фильтр при загрузке. Значение свойства должно быть ус- тановлено в Да (по умолчанию устанавливается Нет). В режиме конструктора щелкните кнопку Страница свойств в разделе Показать и скрыть вкладки Конструктор (Работа с таблицами) Ленты, чтобы открыть окно свойств табли- цы (рис. 6.4). В окне свойств найдите свойство Фильтр при загрузке и измените его значение, после чего закройте окно свойств и обязательно закройте и сохрани- t те таблицу. В Access можно применять фильтры различных типов. Ниже будут последо- вательно рассмотрены: простой фильтр (фильтр по значению поля); фильтр по выделенному; обычный фильтр (фильтр по форме); расширенный фильтр.
Поиск и замена данных 161 Рис. 6.4 Открытие окна свойств таблицы и изменение значения свойства Фильтр при загрузке Комстр«стар Авторы имяоаая . ID автора Инициалы Фамилия Имя Отчество ID организации Комментарий Какой фильтр лучше? Не секрет, что разные фильтры могут использоваться для решения одной и той же задачи и приводят к одному и тому же результату. Каким же образом следует выби- рать тот или инои фильтр? Ответ прост: все зависит от вашего предпочтения и уме~ ния работать с тем или иным фильтром. Простой фильтр Простой фильтр (фильтр по значению поля таблицы) применяется непосред- ственно из заголовка поля в режиме таблицы. В заголовках полей таблиц имеет- ся маленькая кнопка со стрелкой направленной вниз. Именно она и открывает панель фильтра для данного поля (рис. 6.5). Рис. 6.5 Панель настройки фильтра по значению, открытая для поля Язык таблицы Язык иейгиай £1 Сорт нраве* от Адо Я । Сортиром* ат Я до А гфрэнцузомй L-ЯПОК«СЦЙ Кхэитайскни _ ^итальянский.» - -Г~- -- Й [Пустые) И •нгдемскый Й итимнсхиА й китайский Й немецкий •«Э русский (3 финский - I фРвОДСККМЙ «ПРГЦКИЙ. равно. Не равно.. Ис кечгемети с.. Содержит. Не содержит .. Заканчивается на Не мканч еметсл не. 4 'if фыдорс Я1ьж mkJ г Элементы этого фильтра можно наити в контекстном меню выделенного фрагмента данных в поле таблицы и запроса, в контекстных меню поля в форме и отчете. в Access 2007
162 Глава 6. Работа с таблицами В панели прос того фильтра имеются следующие элементы управления: Команды Сортировка от А до Я (по возрастанию) и Сортировка от Я до А (по убыванию), предназначенные для сортировки записей в данном поле свер- ху вниз. Приведенные выше названия команды имеют для текстовых по- лей, а для полей с другими типами данных они называются по-другому. На- пример, для полей Дата/время — Сортировка от старых к новым и Сорти- ровка от новых к старым. Щелкните одну из этих команд, чтобы по-иному разместить записи в таблице. Команда Снять фильтр с Имя поля выполняет действие в соответствии со своим названием. Естественно, что она недоступна, если к полю объекта фильтры применены не были (см. рис. 6.5). Каскадное меню Текстовые фильтры открывает набор команд, вызываю- щих маленькие диалоговые окна Настраиваемый фильтр для ввода усло- вий (названия команд зависят от типа данных поля, к которому применяет- ся фильтр). На рис. 6.6 показано несколько диалоговых окон Настраивае- мый фильтр, примененных к полю Фамилия таблицы Авторы., которое имеет тип данных Текстовый. Введите условие в диалоговое окно и щелк- ните в нем кнопку ОК (или нажмите клавишу Enter) — простой фильтр бу- дет применен к данному полю, и количество записей в таблице станет мень- ше. Настраиваемые фильтры дат и времени I ~ Пожалуй, самый широкий набор команд имеют поля с типом данных Дата/время. Они позволяют выбирать записи по кварталам, месяцам, а также устанавливать ин- тервал дат с помощью календаря. Рис. 6.6 Диалоговые окна для задания условий и применения фильтра по значению к полю Фамилия таблицы Авторы (сверху вниз): для отбора записей авторов с фамилией «Иванов»; для отбора записей авторов, фамилии которых начинаются с «К»; для отбора записей авторов, фамилии которых содержат буквы «ова»; для отбора записей авторов, фамилии которых заканчиваются на «ий» (на рис. 6.7 показан результат применения этого фильтра)
Поиск и замена данных 163 Подстановочные знаки в настраиваемом фильтре I-----U-,— --. В диалоговых окнах Настраиваемый фильтр допустимо применять подстано- вочные знаки. Например, чтобы выбрать авторов, фамилии которых начинаются с буквы «К» и содержат букву «в», в поле Начинается с можно ввести выражение «К* в». Но вряд ли большинству пользователей это будет удобным. Применение и отмена фильтра После применения фильтра изменяется содержимое таблицы, которое показывает- ся в рабочей области. О том, что применен фильтр, свидетельствуют индикаторы: значок фильтра (в виде «воронки») в заголовке поля, надпись «Фильтр» в строке состояния, кнопка со значком фильтра и надписью «С фильтром» рядом с панелью перехода по записям таблицы (рис. 6.7). Последний индикатор удобно использо- вать для оперативного включения и выключения текущего фильтра. Достаточно просто щелкнуть кнопку указателем мыши. Для включения и выключения текущего фильтра (фильтров) предназначена также кнопка Применить фильтр, которая расположена в разделе Сортировка и фильтр вкладки Главная Ленты. Рис. 6.7 К полю Фамилия таблицы Авторы был применен фильтр « Прокручивающийся список всех значений поля, позволяющий проводить отбор записей с одинаковыми или с конкретными значениями всего поля. Начинается список со строки Выделить все. Щелкая ее, вы можете вклю- чать или выключать выделение всех нижележащих значений. Установите флажки около тех значений, которые следует отображать в таблице, а за- тем щелкните кнопку ОК, чтобы применить фильтр (рис. 6.8). Рис. 6.8 В таблице отобраны записи авторов, имена которых «Вячеслав» или «Вечеслав» Берилов Иванов 1в В.В 22 В.Е Комелев ж______________ -1ybjm Фамилии - Вечеслав Вячеслав Отчество -, О органТ] £ортироока от А до Я £оотмровка от Я до А £нятъ фильтр с Имя Хехстовы* фильтры □ (Пустые} 3 АцдреЯ О Вечмаыин Е Вечеслая Виктор _ Владимир Е ВяЧССЛМ О г ал ина JO Вюод
164 Глава 6 Работа с таблицамл Наложение фильтров Г---------------------------------------------' ] Если вы захотите применить список значений для фильтрации уже отфильтрован- ной таблицы, то имейте в виду, что он будет содержать только те значения, которые «остались» после наложения первого фильтра, а не все значения, имеющиеся в таблице. Чтобы увидеть все значения, необходимо снять наложенный перед этим фильтр. Кнопка Фильтр, которая находится в разделе Сортировка и фильтр вкладки Главная Ленты, открывает панель фильтра для выделенного поля или для поля, в котором находится курсор ввода. Фильтр по выделенному Фильтр по выделенному также относится к интерактивным инструментам, ищоэтому его вы можете применять очень быстро. Этот фильтр «реагирует» на содержание всего поля (того, в котором установлен курсор ввода) ил и на выде- ленный в нем фрагмент данных. Фильтр по выделенному управляется с помощью одной кнопки — Выделе- ние, которая расположена в разделе Сортировка и фильтр вкладки Главная Ленты (или с помощью контекстного меню выделенного фрагмента). Кнопка от- крывает меню команд для применения фильтра (рис. 6.9), а контекстное меню — просто содержит эти команды. Выберите одну из команд — и фильтр будет применен. Рис. 6.9 Фильтр по выделенному фрагменту «Ку» в поле Фамилия таблицы Авторы (вверху) и результат его применения (внизу) Це щчннмтсд HS Содержит Kf he содержит ~Ку‘ •S;./ ! • Юап-.Иниц*- В 22 6 Е Фзшгиаа Имя . Кометеа Вячеслав Евгеньевич E 4 1 23AM 24 Г M Кудрявцев ДЦряацева Андрей Людмила Михайлович 1 Михайловна - — — •— — — ™ — —- 1 9 25 И П. Кутиков 1 ffl 26ПП Леденев (жтрпрм Павлович Iffl __ 27 И О Марусе» Иван Олегович SI E 28 Ш.Б 29 Е Г Мак Морозова Шамиль Екатерина Борисович Гавриловна a 30 СО Павлов Семен Станиславович 31 мм Петров Михаил Михайлович ЧГ 32 ЛА Полова __ 9‘РДмиГ’ „ Ацдреевна 33 И п Роыван Иган Пантелеймонов L® « ЮЮ Рудаков Юрий Юрьевич p 35 Ю.Н Самойлов Юрий Николаевич ' JrT 38 С С. Седов Сергей Сергеевич , E'-*7 37 В С 3$ МА. « 24tu4S L » Титов Тклнея Виктор Семенович; Михаил Апекслшоови” п по...— «а ► J Зелии, и 2Ц 1. ** IP?01-!. и Отчество - J23A.M .АНДРЕЙ Михайлов*1"" 24 Л М Кудрявцева Людмила Михайле вна Jffi £5 И П, Купм^ор №
Поиск и замена данных 165 Фильтр по выделенному удобно применять несколько раз подряд, последова- тельно приближаясь к искомому значению поля (или полей), а также в комбина- ции с другими фильтрами. Например, вам нужно найти записи с неправильно написанным именем «Вячеслав», чтобы их исправить. Могут быть варианты «Вечеслав», «Вичеслав» и др. — сколько их и где они расположены, вы точно не знаете. Можно поступить следующим образом. 1. Выделите в какой-либо записи поля Имя первую букву «В» и щелкните кнопку Выделение. 2. Выполните команду Начинается с «В». В таблице останется гораздо мень- ше записей, но сохранятся другие имена, начинающиеся на «В» (напри- мер, «Вениамин» и «Виктор»), Кроме того, останутся записи с повторяю- щимися значениями имен. 3. Откройте фильтр по значению с помощью кнопки со стрелкой, направлен- ной вниз, в заголовке поля Имя. 4. В списке всех значений поля вы увидите все варианты написания имен, начинающихся на «В». Оставьте флажки только у тех значений, которые вы хотите исправить (например, «Вичеслав» и «Вечеслав»), и щелкните кнопку ОК (рис. 6.10). Рис 6.10 Настройте фильтр по значению поля на исправляемые записи 1 Фамилия 1 г® ЗВ В. Аманян Виктор 4 B.B. Берилов 7 В.Н. Гуляев Вениамин цЫ 13 В А Желеэов Виктор 16 В В Иванов 'Вичес^^ .... Вичеслав ;<« * j ' г SEJ3 10 В.В. 22 В.Ё.“ Кирмпедао Комелев 37 ВС. Титов Виктор : ♦ _J_ Г .. Отчвспо < г ! £©ртиревла от А др Я £ортировл* итЯдоА 'вс £нггъ билвтр с Имя [гсгговыс фильтры □ (Пустые] □ Андрей О Вениамин ок О Владимир Г” Вячеслла 3. В таблице останутся только записи, которые вам нужно исправить. Внеси- те исправления только в одну запись, а затем скопируйте ее через буфер обмена в другие записи поля Имя. Фильтр по выделенному не учитывает регистр символов, я положение выде- ленного фрагмента во всей записи задается сделанным выделением и выбором команды. Например, если выделить букву «в» в середине какого-нибудь имени, а затем выполнить команду Содержит «в», то будут найдены следующие имена (рис. 6.11 слева): «Виктор», «Иван», «Евгений* и т.д. (и конечно все «вариан- ты» имени «Вячеслав»). То есть все имена, которые содержат букву «в», в том 1исле и начинающиеся с нее. Чтобы найти только имена, начинающиеся на эту букву, ее нужно выделить в начале слова и выбрать команду Начинается с «В» (см. рис. 6.11 справа).
166 Г лава 6. Работа с таблицами Рис. 6.11 Результат применение команд Содержит «в» (слева) и Начинается с «В» (справа) фильтра по выделенному Евгеьмй Виктор Вечеслав Вениамин Виктор Вячеслав Диктор______ Иван Иван Вичеслав Иван________ Владимир Иван Вячеслав Виктор Иван Вениаш^н Владимир Вичеслав X Вырезать 4^ Солировать Вставить £4 £ортировка от А до Я J j Сортировка от Я до А мЛ —"—-------------------- £нять фильтр с Имя I Текстовые фильтры ► Начинается с ’в" I tfc начинается с 'в' йе содержит 'в' В полях с несколькими значениями фильтр по выделенному может применяться только ко всему полю сразу. Даже если вы выделите фрагмент записи (отдельное значение или значения), фильтр «сработает» по всем значениям, расположенным в ячейке (рис. 6.12). Рис. 6.12 Фильтр по выделенному в поле с несколькими значениями 1999________________6_____________________1£ ____________________ - *1 । 2000 3 10 2Q01 4 10 2002 .. J и. Е у 2003 5 10 1999 2 1 1998 3 10 2004 5 10 2003 _ 3 12; 13
Поиск и замена данных 167 Обычный фильтр Обычный фильтр может содержать сразу несколько условий по нескольким полям таблицы. Чтобы их задать, пользователю предлагается заполнить ячейки в специальном окне — форме фильтра. Поэтому этот тип фильтра еще называют «фильтром по форме». Условия отбора выбираются либо из списка всех возмож- ных значений полей, либо вводятся в виде логических выражений (рис. 6.13). Рис. 6.13 Окно (форма) обычного фильтра, в которую внесены два условия отбора Иниц Фамилия .. ~ — • -— Имя Отчество I а. ЛЬ-. . Л-‘- . L « • - Андрей Вениамин Вечеслав Виктор Вичеслав Владимир Вячеслав Галина Герман Диана Евгений |Екатерина ? I > Игорь Кирилл Обычным фильтром удобно искать записи Обычный фильтр удобно использовать, например, для поиска определенной запи- си в большой таблице. Например, вы знаете часть названия документа и год его создания. Аккуратно введите эти данные в форму фильтра, и, скорее всего, вы сра- зу получите желаемый результат. Чтобы открыть окно обычного фильтра, щелкните кнопку Дополнительно в разделе Сортировка и фильтр вкладки Главная Ленты, а затем в раскрывшем- ся меню выберите команду Изменить фильтр. Удаление фильтра, присоединенного к объекту Если перед открытием окна обычного фильтра вы уже применяли какие-то фильтры, то их условия вы увидите в форме. Если вы хотите открыть «чистую» форму, можете предварительно выполнить команду Очистить все фильтры, которую также най- дете в меню кнопки Дополнительно Или в контекстном меню формы фильтра вы- берите команду Очистить бланк Окно обычного фильтра, которое появляется на месте окна таблицы (обрати- те внимание, как изменилась надпись на ярлыке таблицы), позволяет объеди- нять условия отбора с помощью логических операторов And (И) или Ог (Или). Сама форма фильтра содержит несколько вкладок, ярлыки которых расположе-
168 Глава 6. Работа с таблицами ны внизу (см. рис. 6.13). Если на одной вкладке фильтра значения (или выраже- ния) заданы в разных ячейках, но в одной задней, то это аналогично оператору And (И). Это означает, что будут возвращены только записи, отвечающие усло- виям отбора, указанным во всех ячейках. Если выражения находятся в разных вкладках, это аналогично оператору Or (Или), то есть означает, что будут воз- вращены записи» отвечающие условиям отбора, заданным на любой из вкладок. При создании или изменении условий отбора допускается использование стан- дартных логических операторов: Not (Не) — логическое отрицание условия; And (И) — должны выполняться оба условия; Or [Или — должно выполняться хотя бы одно из условий. 4 Из примера, приведенного на рис. 6.13, видно, что разыскивается запись для автора по имени «Иван»» фамилия которого начинается либо с буквы «К», л ибо с^уквы «Р». Причем имя «Иван» выбрано из списка значений, который содер- жит имена всех авторов, содержащихся в таблице. Список значений раскры ва- ется щелчком на кнопке со стрелкой, направленной вниз, в поле, в котором уста- новлен курсор ввода. Для поля Фамилия использовано логическое выражение, содержащее логический оператор» сравнение и подстановочные знаки. Внизу окна фильтра имеются ярлычки вкладок с надписью Или, на которых можно создать условия отбора аналогичным способом. Когда вы заполняете по- следнюю вкладку (крайний справа ярлычок), появляется дополнительная пус- тая вкладка. Лишние вкладки можно удалить с помощью команды Удалить вкладку контекстного меню формы фильтра. Использованное в данном примере условие отбора (К* Or Р*) в поле Фамилия можно было разнести на две вкладки: на одной — К*, а на другой - Р* (тогда на обеих вкладках необходимо указать одинаковые значения в поле Имя* то есть Иван). Чтобы закрыть форму фильтра и применить его к таблице, щелкните кнопку Применить фильтр в разделе Сортировка и фильтр Ленты или воспользуйтесь контекстным меню формы фильтра, где есть одноименная команда. Результат применения фильтра, описанного выше, показан на рис. 6.14 Найдено три ав- тора. Обратите внимание на то, что в заголовках двух полей появились значки фильтров, которые обозначают поля, по которым проведен отбор записей. Рис. 6.14 Результат применения фильтра по форме, показанного на рис. 6.13 СД * . : . 1 дJ Ю ает - Илщ - Щ тамил НМ Имя v Отчество -, ID ергамизацил - 21 И.ф KoqfctnpB •Иван Федорович 3 25 и п Kyf&wn» Иязн Паяпович 3 33 И.П ’Рпш&ая (Иван Пантелеймонов! В II W ГМ ГхХЛ Расширенный фильтр Расширенный фильтр имеет окно, очень похожее на окно запроса (рис. 6.15). И открывается оно на собственной вкладке в рабочей области программы. Чтобы открыть окно расширенного фильтра, щелкните кнопку Дополни- тельно в разделе Сортировка и фильтр вкладки Главная Ленты, а затем в от- крывшемся меню выполните команду Расширенный фильтр (естественно» что при этом таблица должна быть открыта в режиме таблицы и активна).
Поиск и замена данных 169 Рис. 6.15 Окно расширенного фильтра Из рис. 6.15 видно, что в окне уже есть какие-то данные. Это «остатки» обыч- ного фильтра (рассмотренного в предыдущем разделе), который был сохранен вместе с таблицей. В верхней части окна расширенного фильтра находится ма- кет таблицы (со списком полей), для которой он строится (в отличие от запроса в это окно нельзя добавлять другие таблицы или запросы). В нижней части рас- положены столбцы условий фильтрации, которые строятся на основе полей таб- лицы. Любое поле таблицы из верхней части окна можно просто перетащить указателем мыши в свободный столбец фильтра (если перетащить из списка знак звездочки (*), то в фильтр будут перемещены все поля таблицы). В каждом столбце условий указываются: поле таблицы; сортировка (выбирается из списка: по возрастанию, по убыванию, отсутст- вует); условия отбора; (при необходимости) дополнительные условия отбора, связанные с первой строкой условий отбора логическим оператором ИЛИ. Новым, еще не рассмотренным, свойством, присущим только этому типу фильтров является сортировка. Сортировка по возрастанию расставляет записи в поле таблицы в алфавитном порядке (от А до Я или от меньшего значения к большему), сортировка по убыванию — наоборот. Кроме того, выражения для условий отбора данного фильтра могут быть созданы с помощью построителя выражений (см. раздел «Построитель выражений» главы 7 «Запросы»), окно которого открывается с помощью команды Построить контекстного меню ячей- ки условий (рис. 6.16). После закрытия окна построителя созданное в нем усло- вие отбора автоматически переносится в ячейку, из которой он был вызван. С по- мощью контекстного меню можно копировать данные, а также перейти в режим обычного фильтра (команда Изменить фильтр).
170 Глава 6. Работа с таблицами Рис. 6.16 Контекстное меню ячейки условий позволяет вызвать построитель выражений Условия отбора удобно записывать в окне ввода Команда Масштаб контекстного меню ячейки условии открывает окно Область ввода, которое имеет больше места для задания условий, а также позволяет на- страивать шрифт (рис. 6.17]. После закрытия этого окна созданное вами условие будет автоматически перенесено в ячейку I - - - - -- - _ . - .... л I Рис. 6.17 Окно Область ввода удобно использовать для задания условий 3 О&ЫКП» «ВцДЙ Not In ("Бытовой материализм в философии";**Введеяи« в философию материвлизмаТДемографмческий матерм*лизм";"Доисторичоскмй । материализм") Столбцы полей в расширенном фильтре можно выделять, щелкнув указате- лем мыши в их области выделения (узкий прямоугольник над именем поля). Если перетащить указатель по областям выделения нескольких полей, то все они будут выделены. Выделенные поля можно перемещать, «ухватив* указате- лем за область выделения, и удалять, нажав клавишу Delete или воспользовав- шись кнопкой Удалить раздела Записи вкладки Главная Ленты. Сохранить расш иренный фильтр в виде запроса можно с помощью команды контекстного меню или меню кнопки Дополнительно (рис. 6.18). В последнем меню есть также команда Загрузить из запроса, с помощью которой можно вер- нуться к сохраненному в виде запроса расширенному фильтру. Запустить расширенный фильтр можно или из контекстного меню верхней части окна фил ьтра, или кнопкой Применить фильтр (она расположена ниже кнопки Дополнительно) в разделе Сортировки и фильтр Ленты.
Сортировка записей 171 Детерн • । V ID автора Инициалы Фамилия Имя Отчество ГО организации HIHIWIWHWMW—«««—*<« Поле Сррпфомж- Услояие стборж • • ' ю* фильтр Сорт! Фамилия Имя trice ТС’ Or Ысе 'Р*‘ 'Иваи_ I ХДЙЛНТЬ вклада X ' Оуистить бланк f Л и Дополнительно 3 "ф Счистить все фильтры г Y? Изменить фильтр Хг; Прицепить фильтр Расширенный фильтр. > = Загрузить ю запроса -Сойрамм гь им запрос Прицепить фильтр X Очистить бланк Загрузить из запроса. | сохранить как эалро< GX Закрыть т- 11 Рис. 6.18 Сохраните расширенный фильтр как запрос Сортировка записей Сортировка записей в поле позволяет упорядочить их расположение. Упоря- доченные записи легче просматривать и обрабатывать. Действительно, вряд ли кто станет отрицать, что со списком фамилий (учеников, студентов, сотрудни- ков и т.д.) гораздо удобнее работать, если он составлен в алфавитном порядке. Аналогично, численные значение легче воспринимаются, если они перечисле- ны по порядку. В программе Access есть широкие возможности автоматической сортировки данных различных типов. Порядок сортировки по умолчанию Общий порядок сортировки для базы донных задается в разделе Основные диа- логового окна Параметры Access (рис. 6.19) (чтобы его открыть, нужно щелкнуть кнопку «Office», о затем — Параметры Access). Можно выбрать различные язы- ки и другие особенности сортировки. Измененный порядок сортировки будет дей- ствовать во всех вновь создаваемых базах данных. Изменять установленный по умолчанию порядок сортировки Универсальный без необходимости не следует. О порядке сортировки «необычных» данных (письмо справа налево, иврит и др.) можно узнать из справочной системы программы Access Сортировка связанных таблиц —---------------- Если база данных содержит связанные таблицы из другой базы данных, в которой используется порядок сортировки другого языка, Access использует порядок сорти- ровки, указанный для базы данных, содержащей связь с таблицей, а не для базы данных, в которой хранится сома таблица.
172 Глава 6. Работа с таблицами Таблица Конструкторы объектов Правописание Дополнительно На стройка Надстройки Норвежским/Ддтский Гольский Румынский Словацкий изменение основных параметров Access. Гекущм база данных центр управлений безопасность* Ресурсы & Всегда использовать Cleatfype £тль вплывающих подсказок, Показывать улучшенные всплывающие подскажи pl Включить» подсказки сочетания клавиш Цветовая смык Синяя формат файла по умолчанию1 Рабочий каталог. I C:\Document» and ЗДЪлдОДВ1С\Мои документ Г>2рддок сортировки базы данных Универсальный Имя пользователя; хвг У^ИЦИЛЛЬС АК Китайский (подсчет штрихов’ Китайский (ттадиц. письмо) - подсчет игтрихов Китайский (трддиц, письмо) - болоыофо Хорватский Чеш кий Эстонский Ьранцуп сий I Грузинский (современный) Немецкий (телефонная книга] Венгерский Венгерский (технический) Исландский Японский Японский (ЮникоуО I 'Корейский Корейский (Юникод) ________________________________=» “_____________1 Македонский Рис. 6.19 Порядок сортировки для баз данных без необходимости изменять не следует Обычный порядок сортировки текстовых полей по возрастанию означает упорядочение полей сверху вниз от начинающихся с буквы «А» до начинаю- щихся с буквы «Я*. Если поля начинаются с одной и той же буквы, сортировка производится точно так же по второй букве и т.д. Всего, таким образом, может быть отсортировано до 255 знаков поля. Числа, которые хранятся в текстовых полях, сортируются как строки зна- ков, а не как числовые значения. Для правильной сортировки по значениям, их рекомендуется хранить в полях с типом данных Числовой, Денежный или Дата/время. Сортировка числовых значений как текста Можно корректно отсортировать численные значения и в текстовых полях, допол- нительно заполнив пустые разряды нулями. Например, заменить «4», «5», «1 П> и «44» (которые в текстовом поле по возрастанию будут расположены как «11», «4», «44», «5») на «04», «05», «11» и «44».
Сортировка записей 173 Для расположения значений дат и времени от более ранних к более поздним нужно использовать сортировку по возрастанию. При сортировке по возрастанию пустые значения (Null), ставятся в начало списка. Если поле содержит как записи со значениями Null, так и записи с пус- тыми строками, первыми будут отображены поля со значениями Null, а сразу за ними — поля с пустыми строками. По понятным причинам выполнить сортировку объектов OLE и вложений не- возможно (да и вряд ли кому это может понадобиться на практике'). Поля гипер- ссылок, и МЕМО можно отсортировать с помощью расширенного фильтра (но это тоже достаточно «экзотическая» потребность). Существует два типа сортировки, которые можно выполнить: Простая сортировка. В этом случае записи полей сортируются либо по воз- растанию, либо по убыванию (но не в том и другом порядке одновременно). В режиме таблицы можно использовать только этот тип сортировки. Сложная сортировка. Она означает, что некоторые поля могут быть упоря- дочены по возрастанию, а другие — по убыванию. Такой вид сортировки доступен в окне расширенного фильтра, в режимах конструктора запроса и отчета и др., то есть там, где для каждого поля можно отдельно устанавли- вать свойство сортировки. Откройте таблицу, например, Авторы* в режиме таблицы. Желательно, что- бы поля, по которым будет проведена сортировка, находились в начале табли- цы. Поэтому, при необходимости, переместите их туда. Выделите поле (или со- седние поля), по которому вы хотите провести сортировку данных, для чего щелкните его имя (или перетащите указатель по именам полей). Имейте в виду, что при сортировке записей в нескольких полях, сначала упорядочиваются за- писи первого (левого) поля, затем, сохраняя сортировку первого, упорядочива- ются записи следующего (внутри уже сделанной сортировки) и т.д. Чтобы про- вести сортировку, в разделе Сортировка и фильтр вкладки Главная Ленты щелкните кнопку По возрастанию (или По убыванию), см. рис. 6-20. Или вос- пользуйтесь командами контекстного меню выделенных полей. Индикатор сортировки появляется только в заголовке поля. Это маленькая стрелка, направленная вверх или вниз. На рис. 6.20 показана часть таблицы Авторы* отсортированная по возраста- нию по трем полям: Имя* Отчество и Фамилия. Обратите внимание на порядок расположения авторов с именем «Иван», записи для которых выделены. Рис. 6.20 Данные в таблице Авторы отсортированы по возрастанию в полях Имя, Отчество и Фамилия Имм ел ФЗЬМПИЯ А В I ер^»* Александрович Викторовна ДуТИНСКИЙ Алешина е! Евгений Евгеньевич Федченко Х4 ^ОГ>ГЫПО«М в И АО А »- -i if. /—X не 4i ЕА Екатерина Андреевка Казакова '•ЧЛ {опярокт» Екятешуа Г авркловна Морозова Л ИГ к-звн Иванович KKqPW»"*-—~ -♦ -г—* - • *—ч* «г* Ширин* гголбц»., £ крыть то-бцы Стобротита столбцы. ТШ ' С. Михайлович j' Егоров И;О ИгчН И.б Иван Опвгойич^ . 1 Олегович Марусев Jr ' < ИП йп Иьзй Пдаловйч ; ;;; КугадкоА. , Иван ,, П$н*ег*йьюмови« Рпьжрм «пять стрячцы O<f с£ >дитъ «се столбцы и®. Ивэн нвйгц иг. Игорь Гургенович Абасов V & Встаамгь столбец кк Кирилл Кондратьевн**. £ирюхич лл Лцдия Львовна Трофимова Столбец подстановок. «г 4 Уд» MTfr столбец ГЦрвименовдь столбец
174 Глава 6. Работа с таблицами Чтобы снять сортировку записей, щелкните кнопку Снять все сортировки в разделе Сортировка и фильтр вкладки Главная Ленты. Отмена сортировки не снимает фильтров с полей таблицы. Порядок сортировки сохраняется при сохранении таблицы или формы. В окне расширенного фильтра, в котором для каждого поля, кроме ячеек Ус- ловия отбора, есть ячейки Сортировка, можно отменять и изменять порядок сортировки отдельных полей, не изменяя при этом условий отбора (рис. 6.21). 10 автора Инициалы Фамилия Имя Отчаспо ID оргаминции КоммгнтариА Иван : Иванович Ияая Иван Иван Иван Иван Пателеймоноанч Гриден Павлович Куликов Олегович Мареев Олегович Йсгмшн f Лоле Сортир (ШШ Усоови* отбора: пл* ___________________ ~----—---------...........-... Ими Отчество по воарастами» по убымнип 'Иван” . I f-. Фамилия по убымммв Рис. 6.21 Сложная сортировка полей в окне расширенного фильтра Проверка правописания В Access встроена возможность проверки правописания введенных данных. Настройки параметров проверки орфографии находятся на вкладке Правописа- ние диалогового окна Параметры Access (рис. 6.22). Значения параметров здесь, в большинстве случаев, понятны из их названий. Пояснений требуют только некоторые из них: Кнопка Вспомогательные словари открывает диалоговое окно для созда- ния и настройки пользовательских словарей. У вас может быть несколько тематических словарей, содержащих специальные термины, относящиеся к различным областям знаний, не входящие в общий словарь. По умолча- нию установлен и в дальнейшем будет заполняться файл словаря ^пользова- теля CUSTOM. DIC. Параметр Пропускать слова с цифрами полезно включать, например, то- гда, когда в базу данных вводятся инвентарные номера, содержащие буквы и цифры. Кнопка Параметры автпаамены открывает диалоговое окно Автозаме- на на: язык (рис. 6.23).
Проверка_правописания 175 Рис. 6.22 Настройки параметров проверки орфографии Рис. 6.23. Диалоговое окно Автозамена: русский В диалоговом окне Автозамена также имеется ряд параметров, среди кото- рых есть такой «полезный», как Устранять последствия случайного нажатия cAPS LOCK, а также настраиваемый список автозамены Заменять при вводе. Автозамена может исправить неправильно введенный текст, например, если вы наберете слово «эфект», то при переходе к следующему слову (т-е. при нажатии клавиши пробела) оно будет заменено на «эффект». С помощью автозамены можно автоматически вставлять символы, включенные во встроенный список элементов явтозамены (например, знак авторского права ©, евро и т.д.), а также автоматически заменять сокращения полными значениями.
176 Глава 6. Работа с таблицами Список автозамены состоит из двух полей: заменять: и на:. Просмотрите со- держание этого списка и добавьте, если нужно, свои элементы. Например, если вы хотите окончательно покончить с неправильным написанием имени « Вяче- слав», то введите в поле заменять: «Вечеслав», а в поле на: — «Вячеслав», затем щелкните кнопку Заменить (см. рис. 6.23). Список исправлений автозамены по- полнится новой строкой, и теперь уже никогда в базе данных не будет непра- вильного написания этого имени. В окне Автозамена вы также можете подкорректировать замену (или нет) на прописную первой буквы после точки (чтобы Access правильно распознавал наиболее часто используемые сокращения слрв, например, «млн.», «млрд.» и пр., и не принимал их за окончание предложения), щелкнув кнопку Исключе- ния и сделав необходимые изменения в диалоговом окне. Чтобы все сделанные настройки проверки правописания вступили в силу, щелкните ОК во всех от- крытых диалоговых окнах. Чтобы проверить правописание в таблице, заполненной данными: 1. Откройте таблицу в режиме таблицы. ч 2. Выделите записи, столбцы, поля или текст, в которых требуется прове- рить орфографию (есл и выделить все таблицу или ничего не выделять, то будет проверена вся таблица). 3. Щелкните кнопку Орфография в разделе Записи вкладки Главная Лен- ты. Можно также нажать клавишу F7. Начнется процесс проверки право- писания. При обнаружении ошибочного слова появится диалоговое окно Орфогра- фия: язык (рис. 6.24). При отсутствии ошибок (или в случае, если средство Access не смогло их выявить) появится сообщение об окончании проверки (рис. 6.25). Проверку орфографии для некоторых объектов базы данных можно проводить из области переходов. Для этого выделите таблицу, запрос или форму в которых тре- буется проверить орфографию, и щелкните кнопку Орфография. Объект будет открыт и полностью проверен. Рис. 6.24 Диалоговое окно Орфография: язык позволяет выявить ошибки правописания в выделенной части таблицы и исправить их
Просмотр, печать и экспорт таблиц Рис. 6.25 Проверка орфографии закончена Диалоговое окно Орфография: язык (см. рис. 6.24) показываем текущую най- денную ошибку в левом верхнем поле (оно может иметь названия Пет в словаре. Повторение и др., в зависимости от типа ошибки). У пользователя есть несколь- ко вариантов для дальнейших действий: щелкнуть кнопку Пропустить поле Имя поля', если проверку в данном поле проводить не следует и нужно перейти к следующему; исправить ошибку в поле Нет в словаре и щелкнуть кнопку Заменить (или Заменить все), чтобы внести исправления вданные, и перейти к поиску сле- дующей ошибки; щелкнуть кнопку Пропустить (или Пропустить все), если данное слово не содержит ошибки, и перейти к дальнейшему поиску; щелкнуть кнопку Добавить, если данное слово не содержит ошибки и его следует добавить в пользовательский словарь, чтобы впоследствии средст- ва проверки орфографии его «не находили», и также перейти к поиску сле- дующей ошибки; выделить правильное написание в списке Варианты и щелкнуть кнопку Заменить (или Заменить все), а если щелкнуть кнопку Автозамена, то не- правильное и правильное написания слова будут добавлены в список авто- замены с тем, чтобы автоматически вносить исправления при вводе; щелкнуть кнопку Вернуть, чтобы вернуться к предыдущей ошибке; щелкнуть кнопку Параметры, чтобы перейти к разделу Правописание диа- логового окна Параметры Access (см. рис. 6.22); щелкнуть кнопку Отмена, чтобы прекратить поиск ошибок; если у вас есть поля с данными, записанными на разных языках, то с помо- щью поля со списком Язык словаря вы можете подобрать язык для поля. Просмотр, печать и экспорт таблиц Печать таблицы? Специальным объектом базы данных, предназначенным для «чистовой» печати, яв- ляется отчет. Он имеет широкие возможности представления данных, выбранных из таблиц и запросов, а также их форматирования (в этой книге отчетам посвящено глава 9 «Отчеты»). Таблицы, запросы и формы также можно распечатать, если, на- пример, нужно их просмотреть или показать кому-то содержащиеся в них данные или их макет. Чтобы заранее увидеть, как будет выглядеть таблица (или другой объект) при печати (и иметь возможность настроить этот вид), можно воспользоваться ок- ном предварительного просмотра (рис. 6.26). Открывается это окно с помощью
178 Глава6. Работастаблицами меню кнопки «Office» (команда Печать ] Предварительный просмотр) на месте вкладки объекта в рабочей области программы. Окно предварител ьного про- смотра содержит объект» который перед этим был выделен в области переходов или в рабочей области. Окно предварительного просмотра имеет свою, ориги- нальную» контекстную вкладку Ленты. ОДпжяка 200? бы» дейта 1жхт jfetrrj Mfcrbtnft ’ П*мгг» Ржэыер1 , .3»%./ --- «К» ’ прммрцтммого , ’ Чмпыт* гтв«я>пш ' .тр<1*^цг тта^йф. • - . ч. ч • Г1 мкилж, ... , . Редакторы 16.12.20» ^.Цмя нет нет Ий 10____________________________________________________________________________ 11 ДВ Борисов Дмитрий Валентинович bcnffimad fu____________________________ 1 2 — КВ- Гармаш______Виктор Впадгаироиич Моск Оби t п Маяков, ateffib___ г 13 Кружит** АчдреР Вдсилымт andreytauffinaiiu ...._________ 14 И.И Bapmi_______Ильич йул@гтй т _____ ____15 ЕГ Морозова Е“.аггерика Гетццьев» г Кж^^^упС^ителей^д 1лоф.3§. ____16 В Н Никифоров Вениамин Никифорович Через Кр^илина А В____ Г.П Фролова _ Легдена" froio усилий ш Н.С. Якушев ____Никита _ Сергеевич njkrtaflrrail ru_______________________ *Y юропова ^пкцна____Урсупотя Ввд ацдЙ редактор отдели иностранные языков ИПК j мет нет Илья 17 18 19 Рис. 6.26 С помощью окна предварительного просмотра таблицы (или другого объекта) можно увидеть ее «распечатку» на экране компьютера Масштаб объекта в окне предварительного просмотра В режиме предварительного просмотра таблицы указатель мыши имеет вид «лупы», внутри которой отображаются знаки «+» или «-». Щелкните указателем со знаком «+», чтобы увеличить объект до масштаба 100%, или указателем со знаком «-», чтобы уменьшить его так, чтобы в окне полностью помещалась одна печатная страница. В режиме предварительного просмотра на Ленте имеется всего лишь одна вкладка — Предварительный просмотр, состоящая из нескольких разделов, в которых содержатся все инструменты, как для настроек просмотра, так и для настроек печати и экспорта объекта: Раздел Печать содержит только одну кнопку — Печать (см. рис. 6.27), ко- торая открывает окно выбора принтера и настройки печати. Из этого окна можно выполнить печать таблицы. Раздел Разметка страницы включает в себя параметры для выбора размера бумажной страницы и задания ее параметров: кнопка Размер открывает галерею форматов, в которой вы можете вы- брать один из стандартных форматов бумаги (рис. 6.27); кнопки Книжная и Альбомная переключают ориентацию станицы;
Просмотр, печать и экспорт таблиц , 179 Рис. 6.27 Галерея стандартных форматов бумаги, в которой вы можете установить размер печатной страницы □ I «фД* 21.5В см х 35,56 см □ Executive IB.41 см х 26,67 см кнопка Поля открывает галерею (рис. 6,28), в которой вы можете вы- брать поля бумажной станицы из следующих вариантов: пользователь- ские (т.е. поля, заданные в диалоговом окне), широкие, узкие и обычные поля; Рис- 6.28 Галерея выбора полей страницы Предварительный просмотр J Прл» [ Печатьtfe-tbKQ aamw . ш параметры- И Столбца ' Страницы : Последнее Верхнее Левое по/ыо ветел 1,91 см С,В9 см ьшм зиечени* Нижнее Правое 1,91 см 4 см I Обычно* Верхнее 1,91 см Нкжкег 1.91 гм Г t Левое 1 6,19 ем Правое ь • : ’1: КН» 1 * —п- **— Широкое верхнее: 3.54» Нижнее 154 см Левое: 1.91см Правое. 1.91 см УМОВ 1 Верхнее 0,(4 см Нижнее 0.64 см Лево® 0 *4 СМ Поавое 0 64 см кнопки Показать поля (на экране показываются поля бумажной страни- цы), Печатать только данные (скрываются заголовки полей данных) и Столбцы (задают печать этикеток в несколько вертикальных столб- цов) при печати таблипы не задействованы (они «работают» при печати отчетов, см. раздел «Режим предварительного просмотра» главы 9 «От- четы»); кнопка Параметры страницы открывает диалоговое окно, в котором за- даются все параметры печатной страницы, а также принтер, источник бумаги и т.д.
180 Глава 6. Работа с таблицами Раздел Масштаб содержит четыре кнопки, управляющие отображением объекта базы данных в окне просмотра. Кнопка Масштаб открывает меню постоянных масштабов изображения, кнопка Одна страница отображает документ так, чтобы на экране поместилась целиком одна страница, кноп- ка Две страницы отображает две печатные страницы, а кнопка Другие страницы позволяет показать четыре, восемь или двенадцать страниц. Если объект не помещается на странице? I-------------•----------------------------------------- Если таблица не помещается на одной печатной странице, она может быть распе- чатана на нескольких страницах, которые потом можно склеить. Если таблица «не- много» не помещается на странице, ее размер можно уменьшить. Перейдите в ре- жим таблицы и измените ее макет: уменьшите ширину полей и задайте меньший размер шрифта (рис. 6.29). Рис. 6.29 Таблицы, которая не помещалась на одну страницу (вверху), уменьшена за счет ширины полей и размера шрифта (внизу)
ПросмотрЕ печать и экспорт таблиц 181 Раздел Данные содержит средства для экспорта просматриваемого объек- та. Кнопки Экспорт в таблицу Excel, Экспорт в файл RTF, Экспорт в тек- стовый файл, Экспорт в список SharePoint выполняют экспорт таблицы в электронную таблицу Office Excel, документ RTF (который можно от- крыть в программе Office Word), текстовый документ и список SharePoint соответственно. Кнопка Дополнительно открывает меню (рис. 6.30) экс- порта выделенного объекта в файлы других форматов. Для разных объек- тов базы данных это меню содержит разное количество команд. Все опера- ции экспорта осуществляются с помощью мастера. Рис. 6.30 Меню экспорта выделенного объекта (таблицы) в файлы различных форматов првдаатгг»яьм>г© лрдмлгтЛ fra» даняых Ассам Экспорт ©одоленного объекта • базу данных Accel* ХМ1 фаАл .Hcn ipr ©одоленного объекта > ХМ1-флйл ^кмда.яыкОМС Экспорт оьдоллнкогс о&ъмста В бдя данник ODBC »ипр~ы -з SQL Serve* Документ МТМ «порт одгпг.ного объекта ШМ| докуиен* флй'» iltlAS Экспорт выделения d объекта* файл йяаи Фдйл в«Ля Экспорт выделенного объекна файл P#«adc» «лйл Loti» 12-1 Экспорт выделенного объекта о файл Lotus 1.2-3 Слимиг и Mmowtl Office Wort Малер слилпия с додоентаым Micro* ©П Wo<d Слияние данных в Office Word Команда Слияние с Microsoft Office Word запускает мастер, в котором вы мо- жете установить связь текущей базы данных с новым или существующим текстовым документом {а также создать текстовый документ). Для непосредственного выпол- нения слияния данных из двух программ (т.е. для подготовки и печати, например, серии писем или конвертов) используется другой мастера который запускается из Office Word. Раздел Закрыть содержит только одну кнопку, предназначенную для за- крытия окна предварительного просмотра и возврата к исходному объекту. Печать таблицы Для печати таблицы проделайте следующее: 1. Откройте таблицу в окне предварительного просмотра, для чего выделите ее в области переходов, а затем в меню кнопки «Office» выполните коман- ду Печать | Предварительный просмотр. Или воспользуйтесь панелью бы- строго запуска, где есть кнопка Предварительный просмотр. 2. Настройте параметры печатной страницы (формат, поля, ориентация и др.) с помощью элементов управления раздела Разметка страницы Ленты. 3. Оцените расположение таблицы на печатной странице, изменяя масштаб просмотра и отображая на экране несколько печатных страниц. При необ-
182 Глава 6. Работа с таблицами ходимости вернитесь в режим таблицы и измените макет таблицы. Для пе- рехода к режиму таблицу удобно воспользоваться контекстным мен ю яр- лыка таблицы в рабочей области, в котором есть команда Режим таблицы. Печать части таблицы Для вывода на печать части таблицы (или объекта в режиме таблицы) можно ис- пользовать следующие способы: Чтобы напечатать отдельные записи, их нужно выделить, а в диалоговом окне Печать, которое появится на экране после того, как вы щелкните кнопку Печать, установить переключатель Печатать в положение выделенные записи. Затем щелкнуть кнопку ОК, чтобы распечатать выбранные записи таблицы. " Чтобы напечатать только некоторые поля таблицы, нужно предварительно скрыть остальные поля, выделив их и использовав команду контекстного меню Скрыть столбцы (или Освободить столбцы). 4. Щелкните кнопку Печать в разделе Печать Ленты (или выполните одно- именную команду в меню кнопки ♦ Office»). 5. Настройте принтер и параметры печати в диалоговом окне Печать (рис. 6.31). 6. Щелкните кнопку ОК, чтобы отправить таблицу на принтер. Рис. 6.31 Диалоговое окно Печать Экспорт таблицы При экспорте копия таблицы передается в файл формата другой программы. Экспорт производится с помощью мастера, который помогает пользователю на- строить параметры данной процедуры. Из-за различий в форматах файлов неиз- бежны преобразования ее оформления, а также потеря некоторых свойств. Так- же возможна потеря данных. Различные объекты базы данных допускают экс- порт в разные форматы. Естественно, что больше форматов поддерживается для таблиц и запросов, значительно меньше — для форм и отчетов (рис. 6.32).
Просмотр, печать и экспорт таблиц 183 Рис. 6.32 Форматы экспорта таблицы (вверху) и формы (внизу) Со«рз<ен-ы. Э Список SMrtPoint - jintpapMA экспорта гУЧ Экспорт выделенного объекта XMI. -файл • экспорт мкдалемярго объекта в бкзудаянмй Atceis • к' Экспорт выделенного объекта «бед данных ODBC. например SQL Server JoeyMMi HTML Экспорт выделенного объектов HTML-доку мент файл «BASE Экспорт выделенного объектов файл dBASE файл Paradox Экспорт выделенного объекта в файл Parade» файл totes 1-2-3 Экспорт выделенного объекта в файл lotus I >2-3 £тнадасг в м tmnoft Oftlox Word Мастер слияния с документами Microsoft Word X. ЭтСПОрГт J.*. Экспорт вселенного объекта в HTML документ слитие в Microsoft Office Word Мастер слияния с документами Microsoft Word багу данных Ахсг» XML-файл Экспорт выделенного объекта о ^Мк-файл Настройки процедуры экспорта в Access можно сохранять, что особенно удобно, если вы вынуждены передавать одни и те же таблицы из базы данных в другие про- граммы много роз. Рассмотрим для примера экспорт таблицы Авторы в новый файл электрон- ной таблицы Office Excel. Для экспорта данных в Office Excel вы должны рабо- тать в программе Access, так как Excel не имеет встроенных средств импорта из Access. В Excel есть механизм подключения к базе данных Access, как к источ- нику данных, получения данных и периодического их обновления. Различия между этими механизмами заключаются в периодичности передачи и преобра- зовании данных. Например, после экспорта из Access вы можете иметь в Excel корректные данные из полей МЕМО с улучшенным форматированием (рис. 6.33), правильно переданные гиперссылки и т.д. (что при обновлении свя- занных данных получить нельзя). Подробнее о преобразовании данных различного типа между программами можно узнать в справочных системах Access и Excel.
184 Глава 6. Работа с таблицами Рис. 6.33 Поле Комментарий (тип данных МЕМО, формат RTF) после экспорта в Excel (слева) и в связанной таблице Excel (справа) (обратите внимание на то, что оно помещено в разные столбцы электронной таблицы, это свидетельствует о том, что в связанной таблице поле Переход к источнику (тип Объект OLE) вообще не отображается) а от Н 11.06 x/diV; Нет Н*т Нет Нет нет. •: • ? #г а Н ? f |Нет ; ; _ №т <dtv>Her</div> <dtv>HbB«w i г 1 11рЖ Нет __________< \ Нет <chv>HeT</div>_______________ Йй»'-,“,жМй» <dtv>HeT</div> ЗсйЬАНоетя копия ©; 1 1 Л <div>Hoeafl копия от 11.11 Q6.</dtv> * Команда Сохранить как В Access 2007 нет команд для сохранения объектов базы данных в формате других файлов. Меню Сохранить как позволяет сохранить выделенный объект базы данных в открытой базе данных как новый объект. Например, можно сохранить таблицу, как форму и т.д. (рис. 6.34). Сохранить Печать Управмпме Опубдмкоаць ? ‘.i1 Сохранение копии в формате, полностью совместимом с Access 2007. Сохранение копии а формате, совместимом г Access 2002 2003. Рис. 6.34 Меню Сохранить как программы Access Открыть I Сохранить gax Заваренная почта Сохранен ме копии в формате совместимом < Лесе» 2000 1?1 Параметры Д степ UX ОарвД СВЫМЫИЯ О 'ЯДСТРОЙЫД используемых для сохранения в других форматах таких ык РОГ иХР5.
Просмотр, печать и экспорт таблиц 185 Экспорт подтаблиц -------------------------------------------------------------------------1 Подтаблицы в программу электронных таблиц не передаются. Поэтому, если это нужно, их следует передавать отдельно, и связывать данные уже в программе Excel. Некоторые числовые поля после экспорта в электронную таблицу сохраняются как текст. Ячейки таких полей будут помечены зеленым треугольником в левом верхнем углу. Щелкните индикатор ошибки около такой ячейки и, при необходимости, вы- берите команду преобразования текстовых данных в число (рис. 6.35). Рис.6.35 Вы можете преобразовать текст в число Для экспорта таблицы в Office Excel сделайте следующее: 1. Откройте базу данных, таблицу (запрос или форму) из которой вам следу ет экспортировать в документ Office Excel. 2. Выделите таблицу, щелкнув ее название в области переходов. Если в Excel нужно передать только некоторые записи таблицы, выделите их в режи- ме таблицы. 3. Откройте окно предварительного просмотра с помощью кнопки панели быстрого доступа или команды меню кнопки «Office». Проверьте таблицу с точки зрения форматирования и отсутствия ошибок в данных. 4. Щелкните кнопку Экспорт в таблицу Excel в разделе Данные вкладки Предварительный просмотр Ленты (такая же кнопка есть в разделе Экс- порт вкладки Внешние данные — используйте ее, если вы экспортируете только отдельные записи таблицы). 5. Будет открыто диалоговое окно мастера Экспорт — Электронная таблица Excel (рис. 6.36j, в котором следует задать следующие параметры: в поле Имя файла задайте (или укажите, щелкнув кнопку Обзор) имя и место расположения файла электронной таблицы; в раскрывающемся списке Формат файла выберите его формат (выбор может быть сделан, в основном, из форматов различных версий про- граммы Excel);
186 Глава 6о Работа с таблицами 4 Рис. 6.36 Диалоговое окно мастера Экспорт - Электронная таблица Excel включите параметр Экспортировать данные с макетом и форматирова- нием, если в электронную таблицу нужно передать данные и вид табли- цы; включите, если нужно, параметр Открыть целевой файл после заверше- ния операции экспорта (этот параметр доступен только при экспорте форматированных данных); включите, если нужно, параметр Экспортировать только выбранные записи. | * Авторы22 к1чк - Microsoft Exael Главна* Вставка Разметка страницы Фсрыупв Данные Рецензирование I I ид I Новое окно 3 Уноредочть все Показать Масштаб — нам скрыть - Режимы Просмотра книги а Сохранить Перейти в Закрепить области • О 33 рабочую область другое окно Окно Макросы Макросы Рис. 6.37 Таблица Авторы экспортирована в программу Excel
Индексирование полей 187 6. Щелкните кнопку ОК. Данные будут экспортированы, а файл Excel от- крыт в своей программе (если вы установили соответствующий параметр, рис. 6.37). 7. Если в окне программы Access появится диалоговое окно Экспорт — Элек- тронная таблица Excel для сохранения шагов экспорт (рис. 6.38), устано- вите параметр Сохранить шаги экспорта, а затем заполните поля описа- ния процедуры и щелкните кнопку Сохранить экспорт. Рис. 6.38 Диалоговое окно Экспорт - Электронная таблица Excel для сохранения шагов экспорта ЫВфйМ'П’ МЮ _________*' _____________ в 5.»л • 4 * ‘ 5»ОвжУ- * & i У5 ! ТТ*Ха. •» « • .Г* В®**** Эапорт таблиц Автор»» к» базы Диетричм* Снбтвтота о 4инл йптсрм прогро**» * t й feft У w-т -V г т «г— -----Т" — т — ж. 1"Я Т 1 ** 11 fr * -_4 a" / F a Tt« oriqjwa* *n(жгивфн*' чшМ v sUmH* О Иве*. ^апа**шк««^о t KHi iiHH юттдеан •тай омрвж' 1аа»Ш Cttfctf. б/лйт Сй*^*йп>'«йопку ’Шыгатгт» йгпвсл * дм MtrvoQ cnooeawWJWra 4 Asriax *• ; . r v ‘ * • • 1 .* / Л j i 4 t 4 14 * A • A 1 । । ) M । • h '« * , « / , . » - I J f ' । a ? J []С4МЛиа>/<миЛ z । j । 5 ‘ . 1 . t ; \ \ ’ " i ....... &в®’ ’ малмт. амилгеп^т» <* • OjSoekS» Ижж»п»’>*ое*у ,na«*top<TW'пвшишп* 8. Теперь, для повторения операции экспорта таблицы Авторы в Excel, вам достаточно будет вызвать список процедур экспорта (кнопка Сохранен- ные операции экспорта в разделе Экспорт вкладки Внешние данные Лен- ты), выбрать в списке эту процедуру и щелкнуть кнопку Выполнить. Расписание экспорта Если в диалоговом окне Экспорт - Электронная га&лица Excel для сохранения i шагов экспорта (см. рис. 6.38) вы установите флажок Создать задачу Outlook, будет открыто диалоговое окно мастера в программе Outlook, в котором вы можете создать задачу экспорта и расписание ее выполнения. Индексирование полей В системах управления реляционными базами данных индексация является I механизмом повышения их производительности за счет ускорения сортировки и поиска записей. Индексы полей таблиц Access ускоряют выборку информации из базы данных, подобно тому как, предметные указатели в книгах позволяют быстро найти требуемые страницы. Когда вы ищите определенную тему в книге, то не просматриваете все страницы подряд. Аналогично, при поиске нужных данных в базе индексы служат в качестве логических указателей на физическое месторасположение данных.
188 Глава 6. Работа с таблицами Однако между индексами и предметными указателями существуют и суще- ственные отличия. Читатель сам решает» пользоваться ему предметным указа- телем или нет. Пользователь базы данных может задать индекс» а способы его использования при выполнении запросов определяет исключительно Access. Тогда как книга с предметным указателем печатается только один раз, данные в базах и их индексы могут часто меняться. Еще одно отличие состоит в том, что очень часто таблица имеет несколько индексов. Объединяет же предметные указатели и индексы то, что и таблица, и книга могут их вообще не иметь. Может показаться, что хорошим решением будет проиндексировать все поля. Но это не так. Действительно, индексирование ускоряет процесс выборки данных, но для самих индексов требуется время и место на устройстве базы дан- ных. Удаление и изменение данных в индексированных полях потребует дополнительного времени на их перестройку. Выбор полей для индексирования В основном требуется индексировать поля, по которым часто осуществляется поиск, поля сортировки или поля, объединенные в запросах с полям и из других таблиц. Поля первичного ключа таблиц индексируются автоматически, а поля с ти- пом данных Поле объекта OLE и Вложение индексировать нельзя. Для осталь- ных полей индексирование целесообразно использовать, если: они имеют тип данных Текстовый. Числовой. Денежный или Дата/время; по ним часто выполняется сортировка; они используются для поиска значений; они часто используются в операциях объединения. Индексы нецелесообразно использовать, если: Поля редко используются в запросах. Поля часто используются в запросах на изменение, например, в запросах на добавление, при выполнении которых происходит обновление индексов многих полей. Поля имеют только несколько возможных значений (или много повторяю- щихся значений), например, указание пола человека. Для электронной библиотеки таким полем может быть год издания документа. Поля небольших таблице несколькими записями. Настройка индексов Создание индексов в большой базе данных — достаточно сложная и кропотливая работа. В принципе, следует начинать с построения очевидных индексов, а затем следить за производительностью базы на этапах ее разработки и тестирования. Когда вы поймете, что вам необходимо, то сможете должным образом настроить индексы.
Индексирование полей 189 Индексированные поля: проект электронной библиотеки Достаточно хорошим решением в проекте электронной библиотеки будет ин- дексирование полей, содержащих свойства, по которым проводится поиск и вы- бор документов. Сюда можно отнести следующие поля: Название в таблице Дан- ные документов* * Фамилия в таблицах Авторы и Редакторы* Тип в таблице Типы документов* Издательство в таблице Издательства. В процессе на- стройки и использования базы данных индексы можно будет добавить или изменить. Создание индекса Чтобы создать индекс для одного поля: 1. Откройте таблицу, в которой следует задать индексы, в режиме конструк- тора. 2. Выделите поле, для которого необходимо создать индекс (рис. 6.39). Рис. 6.39 Задайте индекс для поля Издательство таблицы Издательства Ojptumm Текстовый Текстовый Текстовый Лоле МЕМО ID , Издательство Адрес Телефон Комментарий UwcaiHuf ...... л. аиц. .wr io Het L J Пцд<гс ,<*ГфВП понгж » «piWOWJ дмнием годе, иг» с5нсй.<м(к«е ЧунЬм MinpffW'rbКлолг nemo 1Ц0ШНИЯ выдерите jhtWHwr Да Ковгйде.т* игдьгу<кмг»<й5‘ ДИоТрММ'гм ЯДОМ МжырпгМлрвяжуН ... Общие Размер ноля Ойрып поля Масса мода Подпись Зпа'И’кис по умолчанию усл МИГ ил IflftHPtHir Сообщенке об о иибкс СМ)|*»1?ЛпНС>С рол» | ,Пуаыг ороси | Икди ГИрОТИИНО» пол» | . 1жаты« Юникод "’«жим ME * Режим предложен *м1МЕ I .март-теги .«Г 3. В нижней части окна, в ячейке свойства Индексированное поле, откройте раскрывающийся список и установите значение Да (Допускаются совпа- дения) или Да (Совпадения не допускаются). Повторяющиеся значения в индексированных полях Для поля, в котором могут быть повторяющиеся записи следует установить значе- ние Да (Допускаются совпадения), в противном случае Access блокирует ввод таких значений (рис. 6.40}. Например, среди названий документов совпадения не исключены (например, могут быть несколько книг «Математика», «Экология» и др., принадлежащих разным авторам). Поэтому, например, для поля Название следу- I ет выбрать значение Да (Допускаются совпадения).
190 Глава 6. Рабо га с таблицами Рис. 6.48 Значения, введенные в поле, не могут быть внесены в базу данных из-за повторяющегося индекса \ Лгтеяеьмя Kt уСПВЫЮ ЖШЭДн MVM ПОВТОрИйЛЦилда MWWMF I ьмдеко «Л>»|»еигх поляг* или ' 1 \ св«*х. Измените даннье в поди или поляк, содержании?- повторйдилнкя зноч»мияг удалив индекс или ЛоА переопределите ого, чтобы рафвмпте поглэргеошлее» зиечвнид, и повтори »• лх»гку Составные индексы Бывает так» что несколько полей одной таблицы часто используются вместе при поиске и сортировке. Например» Фамилия и Инициалы (или Фамилия, Имя и Отчество). Для таких полей имеет смысл создать составной индекс. При сортировке таблицы по составному индексу Access сначала выполняет сортировку по первому полю» определенному для данного индекса. Если в пер- вом поле содержатся записи с повторяющимися значениями, то выполняется сортировка по второму полю, определенному для данного индекса, и так далее. Составной индекс можно включать до 10 полей. Чтобы создать составной индекс: 1. Откройте таблицу, в которой следует создать индексы, в режиме конст- руктора. 2. В разделе Показать или скрыть вкладки Конструктор Ленты щелкните кнопку Индексы- Появится диалоговое окно Индексы: Имя таблицы (рис. 6.41). Рис. 6.41 Диалоговое окно Индексы: Авторы используется для задания составного индекса в таблице Авторы ! К Индексы Авторы I . индеад > PrimatyKey ФИО ID автора Фамилия Имя______ Ш Порядок шрта.-w*» * По возрастанию JU По возрастанию _ По возрастанию Дпп возрастай мю ID дяторя Инициалы Фамилия Имя сируембга ПОЛЯ ID организации Комментарий 3. В первой пустой строке столбца Индекс введите имя индекса. Для индекса можно использовать либо имя одного из индексируемых полей, либо дру- гое подходящее имя. 4. В столбце Имя поля щелкните кнопку со стрелкой, направленной вниз, и выберите из списка первое поле’, для которого необходимо создать ин- декс. 5. В следующей строке столбца Имя поля задайте второе индексируемое поле, а столбец Индекс оставьте для нее пустым. Повторите эти действия для всех полей, которые необходимо включить в индекс. 6. По умолчанию для индексированных полей применяется порядок сорти- ровки По возрастанию. При необходимости сортировать некоторые поля по убыванию, укажите для этих полей значение По убыванию в столбце Порядок сортировки. 7. Закройте диалоговое окно Индексы: Имя таблицы.
Задание связей между таблицами 191 Свойства индекса можно настроить в нижней части окна Индексы Имя таб- лицы. (рис. 6.42). Справа располагается краткая справка для значений свойства (в поле которого установлен курсор ввода). Рис. 6.42 В нижней части окна Индексы: Авторы можно настроить свойства составных индексов Для удаления индекса в окне Индексы: Имя таблицы выделите строки, со- держащие удаляемый индекс, и нажмите клавишу Delete (или воспользуйтесь контекстным меню). Задание связей между таблицами Для того чтобы создать единую информационную структуру, все таблицы базы данных необходимо объединить, создав для этого связи между их полями. Связанные таблицы дают возможность объединять все данные на основе совпа- дающих значений полей. Только после того, как связи будут заданы, можно соз- давать запросы, формы и отчеты, отображающие сведения из разных таблиц базы данных. Связи устанавливаются между ключевыми полями таблиц на схеме данных (см. раздел «Схема данных» ниже в этой главе). В большинстве случаев с пер- вичным ключом одной таблицы, являющимся уникальным идентификатором каждой ее записи, связывается внешний ключ другой таблицы. Подавляющее большинство связей в базе данных имеют отношение «один-ко-многим». Достаточно редко могут встречаться связи «один-к-одному» и связи типа объединения. Прямых связей типа «многие-ко-многим» в базе данных быть не должно. Два способа реализации связи типа «многие-ко-многим» в Access 2007: проект электронной библиотеки «Традиционно» связь «многие-ко-многим» заменяется двумя связями ♦один-ко-многим» путем введения дополнительной (связующей) таблицы. В базе данных Access 2007 связь «многие-ко-многим» может быть «преодолена» еще одним способом — за счет полей с несколькими значениями. Формально на схеме устанавливается связь «один-ко-многим», но с полем, которое может иметь несколько значений. Можно понимать это так, что связь «многие-ко-мно- гим» разбивается на несколько параллельных ветвей «один-ко-многим», каж- дая из которых с одной стороны присоединяется к единственному (собственно- му) значению поля. Все формальные неопределенности такой « множественной » связи «улаживает» программа Access без вмешательства пользователя.
192 Глава 6. Работа с таблицами «Связующая таблица» для полей с несколькими значениями «Связующую» таблицу, которую Access использует в связи с полем, имеющим не- сколько значении, можно получить с помощью запроса на выборку, в котором ото- бражаются ключевые поля связываемых таблиц (рис. 6.43). Вы можете использовать ее для изменения варианта реализации связи «многие-ко-многим» е проекте элек- тронной библиотеки. Подробнее о запросах на выборку см. главу 7 «Запросы». даням* • ГЧШЯПИГ [О ntna Пмрдонм [Г гамгелкт*» Ю ргдиповся 10 МДДятоЯОЯЛШия Переход к источнику Гьп*р«ЫЛ1С4 ИСТОЧНИК! IP !сЛИ-ГСТ»О П|МГ>Ш. Количкг’ва рнчумсоа ПсЯИЧССТЯО (ОМС* • Тмрддя КОПИЯ Атторнее ПРЯМ I и» Рис. 6.43 Запрос (открытый в режиме конструктора (вверху) и в режиме таблицы (внизу)), который «открывает» связующую таблицу, используемую Access для связи поля с несколькими значениями ПШИЛЯЯ Ргдзктопь V шрадягчр» Инициалы ОШМЛИЯ Имя Ог»гт»о КоммешяриЯ Ю документа Шредэггоря Дямпи е Я геумеятоя I Р«д*»тлр м по ао>ряа*нчх> Пии!’ Сор1ИрОЯЕ№ Вы>ЭЯ0Мк УГ«п^»вЯ1(1Оу ante <в$ДМП»рЫ®|!"' 10 кет 10 нет 10 нет 10.нет _ 19 Фролов? _____ 15 Мороялаа 16 Никифоров 15 Мйирзлва_____ «Л нрт '1 Бор гла -'<* V- -« W S 30 40 £ *3 , . . _ 44 45 45 4* Подход, который можно использовать в Access 2007, имеет свои ограниче- ния, «Старомодная» связующая таблица, которая преодолевает связь «мно- гие-ко-многим» , может включать в себя еще и дополнительные поля. И эти поля могут содержать важные данные. Рассмотрим, например, связь полей ID доку- мента таблицы Данные документов и ID автора таблицы Авторы. Понятно, что одному автору могут принадлежать несколько документов, а также у одного документа может быть сразу несколько авторов. Но как быть с авторским спи- ском? Если у документа несколько авторов, то каждый из них стоит на какой-то позиции в авторском списке любого документа. В одном документе его фамилия может стоять на первом месте, а в другом — на третьем и т.д. Если считать, что сохранение позиции в авторском списке для электронной библ иотеки важно, то в связующую таблицу нужно ввести поле Позиция автора, которое будет это
Задание связей между таблицами 193 учитывать. И тогда связующая таблица будет не просто «преодолевать е гео пре- делен кость», но содержать данные об авторском списке каждого документа (если вам понравится, можете переименовать ее в Авторский список). Аналогично можно поступить со связующими таблицами редакторов и пере- водчиков документов. Они могутсодержать дополнительные данные о видах ре- дактирования (научное, литературное, общее и т.д.) или языках перевода. Подход, который предлагается в Access 2007, не дает такой возможности. Так как создаваемые в нем параллельные ветви связей «один-ко-многим» рав- ноправны, то с их помощью нельзя указать ни позицию автора в списке, ни тип редактирования, ни язык перевода, ни каких-либо еще дополнительных дан- ных, расшифровывающих и дополняющих связь «многие-ко-многим». В проекте электронной библиотеки, который рассматривается в этой книге, связь документов и авторов реализована с помощью таблицы (и имеется возмож- ность обрабатывать позицию авторов в авторском списке документа), а связь до- кументов и редакторов — с помощью поля с многими значениями. Переводчики документов не рассматриваются. * Схема данных На схеме данных таблицы обозначаются в виде прямоугольников со списка- ми имен полей, а связи между ними представляются соединительными линия- ми со специальными значками около таблиц (рис. 6.44). Таблицы-прямоуголь- ники можно перемещать в рабочей области схемы данных, перетаскивая их за за- головок, можно изменять их размеры, перетаскивая границы. Также можно скрывать и отображать таблицы (в том числе можно отобразить несколько копий одной и той же таблицы), используя команды контекстного меню или Ленты. Рис. 6.44 Отображение связей различного типа на схеме данных Связь «один-ко-многим» помечается цифрой «1.» около главной таблицы (имеющий первичный ключ) и значком «оо» вблизи подчиненной таблицы (имеющей внешний ключ). Связь «один-к-одному» помечается двумя цифрами «1» (оба поля таблиц имеют первичные ключи). Неопределенная связь не имеет никаких значков (условий целостности данных для нее не накладываются, и нет гарантии уникальности записей в любой из таблиц). Если установлено объеди- нение, то его направление показывается стрелкой на конце соединительной ли- нии (ни одно из объединяемых полей не является ключевым и не имеет уникаль ного индекса). Чтобы открыть окно Схема данных, предназначенное для задания, просмот- ра и изменения связей между таблицами, в разделе Показать или скрыть вклад ых Ленты щелкните кнопку Схема данных. Окно Схе- ки Работа с базами да 11; I ма данных отобразится в рабочей области программы, а на Ленте появится 7 Access 2007
194 Глава 6. Работа с таблицами вкладка Конструктор (Работа со связями) (рис. 6.45)» содержащая все инстру- менты, необходимые для работы в этом окне. Конструктор X Очистить макет Отчет по схеме данных Изменить связи ____.. ___С^внс Отобразить т»вл«г Я|В««ми '•«'и Закрыть КарГо^ка Y IE документа Нмванме Авторы Тип Количество страниц Количество рисунков Количество ссылок Редакторы Яше Издательство Год издания Комментарий Переход к источнику Гиперссылка источника ID издательства Ютипа JD языка I И2ДР*»*1ЬСП*б I V ID издательства Издательство Адрес Телефон Комментарий L Язык f ID языка Язык данные' Ддк^менгоа ? Ю документа Дгг» Название ©типа Год издания Ю издательства Ю редакторов ID редакторов.Value Переход к источнику Гиперссылка источника ID языка Количество страниц Количество рисунков Количество ссылок Твердая ка пы Авторское право Комментарий ТтШдофмвятев W ID типа Тип Комментарий Авторы дфёучиейтгмв V Н> документа 9 Ю автора Полиция автора ^Редакторы t ID редактора Инмцмвлги ИМА Отчество Комментарий Организации V ID организации Название Адрес Комментарий Авторы ©автора Инициалы •омилит Имя Отчество ID организации Комментарий i а I i Рис. 6.45 Схема данных и вкладка Конструктор (Работа со связями) Ленты предназначены для задания, просмотра и изменения связей между таблицами Многие команды доступны также из контекстных меню окна, отображаемых в нем таблиц и связей. Чтобы увидеть связи, установленные в базе данных, нужно открыть схему данных на Ленте, и в разделе Связи, щелкнуть одну из кнопок: Все связи для просмотра всех связей, установленных в базе данных. Прямые связи для просмотра связей, заданных для конкретной (выделен ной на схеме) таблицы.
195 II Задание связей между таблицами Очистите окно схемы данных Макет схемы данных для этого должен быть пустой. Если в нем отображена схема данных, то кнопка Прямые связи может «не сработать». Очистите окно схемы данных, щелкнув кнопку Очистить макет в разделе Сервис вкладки Конструк- тор (Работа со связями) Ленты (при этом таблицы и связи из базы данных не удаляются, а только скрываются в окне). Добавьте в него интересующую вас табли- цу (например, Авторы), щелкнув кнопку Отобразить таблицу и выбрав ее из списка в появившемся диалоговом окне, а потом отобразите ее прямые связи (рис. 6.46). Рис. 6.46 Прямые связи для таблицы Авторы Макет схемы данных Программа Access «не умеет» красиво расставлять таблицы в схеме данных. Поэто- му, отобразив однажды все связи, изменив размеры окон таблиц и расставив их так, как вам нравится, сохраните «красивый» макет Для этого в контекстном меню окна Схема данных выберите команду Сохранить макет. Чтобы удалить таблицу из окна Схема данных, щелкните ее заголовок или какое-нибудь поле в ней» а затем нажмите клавишу Delete. Или в контекстном меню таблицы выберите команду Скрыть таблицу. Это более точное название» так как такое действие затрагивает только отображение таблицы в окне Схема данных. Сама таблица остается в базе данных» и ее связи не изменяются. Как установить связи между таблицами Связываемые поля могут иметь разные имена» но должны иметь одинаковый тип данных» а значение свойства Размер поля у них должно совпадать (исключе- ние составляет поле типа Счетчик, для которого можно установить связь с чи- словым полем такого же размера). Чтобы установить связи «один-к-одному* или «один-ко-многим»: 1. Закройте все открытые таблицы. 2. Щелкните кнопку Схема данных в разделе Показать и скрыть вкладки Работа с базами данных Ленты. 3. Если в базе данных еще не были определены связи, автоматически откро- ется диалоговое окно Добавление таблицы (рис. 6.4"). Чтобы открыть это окно можно использовать также кнопку Отобразить таблицу в разделе Связи вкладки Конструктор (Работа со связями) или команду Добавить таблицу в контекстном меню рабочей области.
196 Глава 6 Работа с таблицами Рис. 6.47 Диалоговое окно Добавление таблицы 4. На вкладке Таблицы дважды щелкните имена таблиц, которые следует отобразить. Закройте диалоговое окно Добавление таблицы кнопкой За- крыть, чтобы перейти к рабочей области схемы данных. 5. Чтобы установить связи между полями, выделите поле в одной таблице и перетащите его на подходящее поле в другой таблице. Когда вы отпусти- те кнопку мыши, на экране появится окно Изменение связей (рис. 6.48). Рис.6.48 Диалоговое окно Изменение связей • данный Jt’ • [jrjacKaANofl свчмнны* попей хмеей Тип Г cuw-Kcnmsw 6. Щелкните в диалоговом окне Изменение связей кнопку Создать. 7. Для каждой пары таблиц, которые необходимо связать, повторите опи- санную выше процедуру. Диалоговое окно Изменение связей позволяет изменять и настраивать связь. Для существующей связи его можно вызвать, дважды щелкнув линию интере- сующей вас связи в окне Схема данных, или с помощью ее контекстного меню. Сверху в окне Изменение связей (см. рис, 6.48) отображены два поля с рас- крывающимися списками Таблица/запрос и Связанная таблица/запрос. В пер- вом поле отображается имя главной таблицы (которое с помощью списка можно изменить), во втором — отображается имя связанной таблицы. Ниже располо- жены списки полей как для главной, так и для связанной, таблиц. Если вы уста- навливали связь перетаскиванием поля указателем мыши, то эти поля будут за- полнены в соответствии с вашими действиями. Но, изменив их значения, вы можете установить совсем другую связь (между други ми таблицами и полями). Ниже расположены параметры целостности и каскадного обновленм а и уда- ления данных:
Задание связей между таблицами 197 Обеспечение целостности данных. Установите флажок для этого парамет- ра, если хотите, чтобы программа Access следила за целостностью данных в вашей базе. При этом необходимо обеспечить, чтобы связываемое поле в главной таблице было полем первичного ключа и имело уникальный ин- декс, а связанные поля имели один и тот же тип данных и содержались в од- ной и той же базе данных. В противном случае Access «не позволит» вам ус- тановить этот параметр» отобразив соответствующее предупреждение. Выбрав обеспечение целостности, вы можете установить флажок для пара- метра каскадное обновление связанных полей, задающего автоматическо- го обновления соответствующих значений в связанной таблице при любом изменении значения первичного ключа в главной таблице. Выбрав обеспечение целостности, вы можете также установить флажок для параметра каскадное удаление связанных записей, который задает авто- матического удаление записей в связанной таблице при удалении записи в главной таблице. Внимательно проанализируйте создаваемую связь, прежде чем устанавли- вать два последних параметра. Рассмотрим таблицы Данные документов^ Ав- торы документов и Авторы. Если документ удален из таблицы Данные доку- ментов , то, вполне вероятно, что не нужно хранить сведения о нем в таблице Ав торы документов^ а если таких авторов больше не осталось среди прочих документов, то — ив таблице Авторы. Поэтому правильным решением для свя- зей между этими таблицами будет установка флажков для параметров каскад- ное обновление связанных полей и каскадное удаление связанных записей. В нижней части окна Изменение связей отображается тип отношения, кото- рый будет установлен. Возможны варианты: «один-ко-многим», «один-к-одно- му» и «не определено». В последнем случае установить целостность данных не удастся и следует проверить свойства связываемых полей. Если существует связь между двумя присоединенными таблицами» то отношение будет помечено как «...(внешнее)» (рис. 6.49). Рис. 6.49 Отношение между полями двух присоединенных таблиц помечено как«... (внешнее)» ** * f Тип отношения: один-коммогим (внешнее) 4 ' К Л | ..««.г...-.-’ Наконец, в окне изменения связей имеются две кнопки: Объединение и Но- вое, Кнопка Новое позволяет начать создавать связь заново, начиная с выбора таблиц и полей. Кнопка Объединение предназначена для выбора типа объедине- ния, используемого по умолчанию при создании запросов на основе связанных таблиц. Если ее щелкнуть, то откроется диалоговое окно Параметры объедине- ния (рис. 6.50), в котором для выбора типа объединения используется трехпози- ционный переключатель (подробнее см. раздел «Конструкторзапросов» главы? «Запросы»): Объединение только тех записей, в которых связанные записи отдельных таблиц совпадают. Объединение ВСЕХ записей из ‘Имя таблицы 1 и только тех записей из Имя таблицы 2’, в которых связанные записи совпадают. Объединение ВСЕХ записей из "Имя таблицы 2 и только тех записей из Имя таблицы 1, в которых связанные записи совпадают.
198 Глава 6. Работа с таблицами Рис.6.50 Диалоговое окно Параметры объединения (•)[£? Объедянежв только тех мпмсем в которых связанные поля обеих таблиц совпадают 02= Объе. ьинуние ВСЕХ записан на ТРедвктооьГ и тшъко тех записей и: “Данные документов^ в которых связанные поля совпадают. 03: Обьедин ?ние ВСЕХ записей из Данные докумезгов* и только тех мгисен из 'Редакторь?', в которых связанные поля совпадают. Как удалить связь между таблицами Если вам понадобится удалить связь между таблицами, найдите ее в окне Схема данных (см. рис. 6.45) и выделите, аккуратно щелкнув указателем мыши. Выделенная связь отображается жирной линией. Затем нажмите клави- шу Delete. Можно также в контекстном меню связи выбрать команду Удалить Следуя процедурам, описанной выше, несложно установить связи в проекте элек- тронной библиотеки, описанном в разделе «Постановка задачи: проект электрон- ной библиотеки» главы 2 «Планирование баз данных» (в соответствии со схемой, показанной на рис. 2.14). Подтаблицы Подтаблица — это объект в режиме таблицы, вложенный в другой объект в режиме таблицы и содержащий данные, связанные или объединенные с дан- ными в этом объекте. Данные в подтаблице можно просматривать и редактиро- вать. Подтаблицы удобно использовать для анализа данных. Обратите внимание на то, что после того как были созданы и настроены свя- зи, вид таблиц в режиме таблиц немного изменился. В их ключевых полях поя- вились индикаторы развертывания — маленькие квадратики со знаками «+» внутри (рис. 6.51). Щелкните какой-нибудь индикатор развертывания (при этом знак внутри него изменится на «-»), чтобы развернуть (или свернуть) подтаблицу. Хотя Access автоматически создает подтаблицы для связей со стороной «1» по совпадению связанных ключевых полей, в качестве подтаблицы можно доба- вит любую другую таблицу (а также запрос или форму). В пределах таблицы можно вложить до восьми уровней подтаблиц. На рис. 6.51 видно, что вложенная подтабл и па имеет свою вложенную подтаблицу (которая свернута). Однако каждая таблица или подтаблица может иметь толь- ко одну вложенную подтаблицу (двух различных подтаблиц в одной таблице быть не может). Для развертывания и свертывания подтаблиц обычно используют их индика- тор развертывания. Если вложений много, то удобно пользоваться также коман- дами меню Подтаблица (в частности, Развернуть все и Свернуть все). Чтобы его открыть щелкните кнопку Дополнительно в разделе Записи вкладки Главная Ленты (рис. 6.52).
Подтаблицы 199 fj Ji ---- нет Hei щ 2 Минск ’Сотрудничество’’ Беларусь Минск просп Псюра_имов 1 3 1234567 нет * t±J 3 М "Экономика и м^р' Москва, Зимний проезд, О 2345678 Новое издательство. И1 4 М. РИОИПК Москва, Лютеранская пл, 77 3456/89 нет « 5 Киев "Издательский дом АГК" Украина Киев, Здолбуновская уп.,23 4567890 Ndl 6 М ООО *Ъином-Пресс* Мо Эваденив а философии 15 1ак< ЕВ 13 17 09 2004 Мяглмагическое описание материи 13 2002 11 12 >7 2003 Docunwnl flpKVWitnw4)QCsV15^YW0*ir ЕВ 24 27 09 2004 Бытовой материализм с философии 13 2000 15 О»™ Дшм8ШиУ?0£~ яХ9яйг № 37 08 10 2004 Идеалистический материализм 13 2003 io Точечный рисунок - *- К 39 08 10 2204 Миниатюрный материализм Б 2003 10 Й 40 ОВ.10 2004 Слово о магериж измв i 1ЭЧВ 10 Точечный рисунок Докумен1ы\Р1рТэ\ФОН 4.bmp кЕ 44 22 10 2004 Неизвестный материализм 1 2002 19 лжет Я 46 25 10.2004 Мистическим материализм 2 2001 15 Пакет Я 50 27 11.2004 Попмтичроэд материалам 1 1997 10 Пакет докумоитЗ ,И Л 54 27 И 20П4 Политический материализм 1 1997 10 rlaw Докуманты\Ук1во«П1т.УУМУ • (№) 17 122006 6789012 Издательство закрыто. 7890123 Null £ 14 N ЗАО ‘Полипом Прогресс" Москва Черный бульв, 84,98 . — —у— — Ж’ - - - — —- — “ —0 •——. ——- —.» ~ -- —" - — - — »* -J~r~ IB 15 М ООО “Пресс Конгресс* Москва Международный пер, 100 ,, . — — л »- *» ... —. -ш г_— Г 11 ж |I — (Ne) Рис. 6.51 После установления связей в таблице Издательства появилась подтаблица Данные документов Anti Л вщ eetMMt» Й жи jow** С ... £1 ( >Ж ^МЙ»«?**** -иг с®ад4яжп»;^Оя»«п>д*«» fl * X wwrb - •jf <i Дыдмт / Понизит |У ДоОиштъм) Outlook д* £смс«Чип kAKKoinwr Outlook JL| Вцготв строки.. _ЛрЫП ПОАвЦЫ Qrnftp«3Klb столбцы* к, ЗадолхТА РгвоЛоДМТ* Щ Шйр*н» столбце, ЛМлить •f £»монутъ •« j СмриутдЫ* Рис. 6.52 Меню команд управления подтаблицами Вставка и изменение подтаблицы « У таблицы может быть несколько связей, по которым можно вставить под таблицу. Можно настроить новую связь и вставить в виде подтаблицы запрос или форму- Например, в таблицу Данные документов, в качестве подтаблицы можно вставить запрос Редакторы (выборка ) (см. замечание «Связующая таб- лица» для полей с несколькими значениями» выше в этой главе), который будет показывать список редакторов конкретного документа (рис. 6.53). Чтобы задать другую подтаблицу сделайте следующее: 1. Откройте таблицу в режиме таблицы. 2. Щелкните кнопку Дополнительно в разделе Записи вкладки Главная Ленты и откройте меню Подтаблица (см. рис. 6.52). 3. Чтобы удалить подтаблицу, выберите команду Удалить.
200 Глава 6. Работа с таблицами >4 .______Т 1 £ 1 Ki _7.L_ название - l J ТИШ ’ _ Год из, - Ю 10 редакторов j в 31 27 11 2004 Наша материя 1 1997 14 10 75 Гл н нд вГбо 46 [ 27,11.2004 Политический материализм 27.11 2004 Политический материализм [ 25.10.2004 Мистический материализм 1 1 таен 4ii>mIi «« 2 1997 1997 2001 - I 1 1 1 1 ! слот Qi 10 10 15 |Г. ч *' 45 22 10 2004 Неестественный материализм в искусстве 13 2002 2 15, 16 t <£ • * 1 44 22 10 2004 Неизвестный материализм 1 2002 6 19 22 10 2004 Доисторический материализм 13 2002 2 17.18. 19 •в. Издательство Л Адрес Телефш • l__ I Е 0 Минск ^Сотрудничество” Беларусь Минск» чросп Побратимов; 18,3 1234567 HI ф ^.<2 22 10.2004 Демографический материализм 13 2003 3 ii ЕГ 40 08 10 2004 Слово о материализме _1 1998 6 10 I “ 08 10.2004 Миниатюрный материализм 6 2003 6 1р ! « 3? 08 10 2004 Идеалистический материализм 13 2003 6 10 Mirk -Т 36 08 10.2004 Метод и событие в материализме 4 2004 5 12 л r : Я 28 — * — 04 10.2004 Материя в истории естествознания 13 2000 _ _ 4 15 27.09.2004 Бытовой материализм в философии 21.09.2004 Материализация сознания 13 13 2000 2003 6 3 £ 1& 16 12; 13 21 21.09.2004 Материализм 13 2004 £ 10 к й 16 17.09.2004 Торы" современной материи 13 1998 3 10 17 09 2004 Материалистическое восприятие действи’ _ _•13_ дш.. 2 11 12 —*1 Г ту Ут/ш» 1 вометрня в современном материальном 2 2003 5 1С II * 1- 17 09 2004 Математическое описание материи 13 2002 6 11,12 i 12. 17 09.2004 Материальный мир 2 2001 4 10 11 17.09,2004 JferepKfLe СРФ3?*8**?** «стесуиозна^ии 2 2000 3 10 * в й. 1/.09.^7 4 W® в философию материализме 1999 6 15 I -1.' Ш ШПТШПП i I S' | Л i 4*1*1 ’ f 9 •! •! г» • f •• » Т L Т Дрта • _ назваине _ Z fiJMLt.. «"V Окзд^вльства tjCj MhLJKKT ’ • ВЦ 5 4 27.11 2004 Наше материя 27 11.2004 Политический материализм _1 1 1997 1997 14 6 16 5? at 46 27.11.2004 ыиак*вва^!£ 1 199Т 6 w 25.10 20Q4 Ммсти^ здцД WgyaERM 2 2001 6 15 il 1 22 10 20Q4 |£@естественны£ материализм в искусстве 13 2002 2 15; 16 3 44 22 10 200^ ”&зваста>й материализм 1 2002 6 19 ИТ4 т 43 22 10.2004 Доистдо» геский материализм 13 2002 2 17.18; 19 • ? . ID ред - । Ггдагт-эры Фамилия г 19 ФрйЙОВЗ • • 19 Якушев -w " ' 17 Фролова ж № I h ::: 10 ^04Дем£йТ»афический материализм 08 10.2004 Слово о материализме 13 1 2003 1998 6 11 10 ,.i 39 08.10 2004 Миниатюрный материализм 6 2003 6 10 ЗВ 37 08 10.2004 Идеалистический материалы.™ 13 2003 6 10 Я, > J 08 10 2004 Метод и событие в материализме А 2004 ^5 12 04 10 2004 Материя в истории естествознания 13 2000 4 is Bl 24 27 09 2034 Аытояой м ггярияпмэы п фыпософни 13 2000 6 12; 15; 16 1 Г 22 21 09 2004 Материализация сознания 13 2003 3 12,13 ь 2 1 21 09 2004 Материализм — 13 2004 5 10 * г * _J2Jl?:2r'M “5й,“.ядре*«» Й^ериЯ-- I3 1998 3 10 1 _В 1709 2004 Материалистическое восприятие дейсгвит 13 1999 2 11.12 il т 1 17.09.2004 Г еометрня в современном материальном 2 2003 5 10 Рис. 6.53 Различные подтаблицы в таблице Данные документов: таблица Издательства (вверху) и запрос Редакторы (выборка) (внизу)
Подтаблицы 201 Удаление подтаблицы ,----------Г------------I Уделение подтаблицы не приводит к удалению таблицы базы данных и никак не влияет на связи. 4. Чтобы вставить подтаблицу, выберите в том же меню команду Подтаблн- ца. Откроется диалоговое окно Вставка подтаблицы (рис* 6.54). Рис. 6.54 Диалоговое окно Вставка подтаблицы 5. Выведите на передний план вкладку, на которой находится объект, встав- ляемый в виде подтаблицы, а затем выделите его в списке. 6. В поле Подчиненные поля задайте поле, которое должно быть полем внешнего ключа для таблицы, являющейся подтаблицей,, выбранной в предыдущем пункте. 7. В поле Основные поля выберите поле, которое должно быть первичным ключом для таблицы, являющейся основной таблицей, открытой в п.1. Если в поле Подчиненные поля или в поле Основные поля нужно задать не- сколько полей, введите их имена, разделяя их точкой с запятой. 8. Щелкните ОК- Подтаблипа будет вставлена в таблицу. Отображение и скрытие полей в подтаблице По умолчанию в подтаблице отображаются все поля, кроме внешнего ключа. Можно отобразить поле внешнего ключа, а также скрыть поля, которые не сле- дует показывать в подтаблице. Для того чтобы настроить поля: 1, В таблипе щелкните индикатор развертывания, а затем выделите ка- кую-нибудь запись в подтаблице. 2. В контекстном меню любого из полей подтаблицы выберите команду Ото- бразить столбцы. Появится диалоговое окно Отображение столбцов (рис. 6.55) для подтаблицы.
202 Г лава 6 Работа с таблицами 4 Рис. 6.55 Диалоговое окно Отображение столбцов 2 Институт повышения кб Абасов тел 111-11-11 Дивна * Москва, а/я 1764 ....I II • - —й. - — — - —--- - Г ургемович Через Гуляева Н Н ВВ_2ДВ_______Алешины___ Дивна_____Викторовна S 7 В.Н______Гуляев _ Вениамин Никмфороаич___Через ГуляеваШ! И 34 Ю.Ю Рудаков Юрий Л Юрьевич Он на пенсии и не за^ииаотся 3 Институт подготовки кадров JW 4 Кафедра проблем развития ИПК Мог 5 Кафедра проблем интеграции ИПК Мое _6 ^_Г9суД5^твенного контроля Кие 7 Международная академия информации Мш 1 8 Международный центр ‘Сотрудничество Ми» 1 9 Краснознаменский машиностроительный зэе Кр* в 10 Издательство ’Советский Материализм М 15 НИИ промьшюенных материалов г Л» !* 12 16 НИИМатФил IС4 Столбец; И.О. Фажпия Имя Отчество Орг. Коичемтарий Добавить юле <« * I I .11* 3. Установите флажок рядом с полем внешнего ключа, снимите флажки у полей, которые отображать не следует. 4. Щелкните кнопку Закрыть. При следующем открытии таблицы, содержащей подтаблицу, поле внешнего клю- ча снова будет скрытым. При необходимости его придется отображать снова. Но другие поля, которые вами были скрыты, отображаться не будут, Задание свойств полей таблиц Теперь, когда таблицы созданы, а связи между ними установлены, кажется, что база данных, наконец, 4>задышала*. И хотелось бы поскорее наполнить ее настоящими данными. Но, будет разумно, вернуться немного назад и более под- робно рассмотреть свойства полей таблиц. На то есть определенные причины. Добавить новое поле и задеть его основные свойства, как показывает практика, очень просто. Но если вы захотите изме- нить свойства существующего поля, наполненного большим объемом важных данных, то можете столкнуться с неприятными ситуациями. Например, если у вас есть текстовое поле с длинными строками в некоторых записях, а вы хоти- те уменьшить его размер, то некоторые строки будут просто урезаны, и часть ин- формации, содержавшейся в них, утеряна. Еще один пример. Если вы решили задать полю значение по умолчанию, то сделанные вами изменения будут дейст- вовать только для вновь создаваемых записей и, наоборот, старое значение по умолчанию останется в ранее введенных полях, даже если вы удалите его из свойств поля, Чтобы изменить свойства поля, откройте таблицу в режиме конструктора. В списке полей выделите поле (или установите в нем курсор ввода). В области свойств поля (в нижней части окна конструктора) щелкните в ячейке свойства и выполните одно из следующих действий (рис. 6.56):
Задание свойств полей таблиц Рис. 6.56 Средства для изменения значения поля 203 Построить.. МвсцраС Фермат поля Маска вао^а Подпись Значение по умолчанию Условие на значение ^Сообщение об ошибке Обязательное поле Индексированное поле Режим IME Нет Нет Вырезать Формат выеода значений данного поля выберите стандартный формат или создайте новый. Для «правки по форматам нажмите клавишу F1. Режим предложений IME Смарт-теги Нет ыравчиозние тег,ста .Общее .Отображать элемент выбора да^ Вставить Свойства Копировать При необходимости удалите старое значение свойства и наберите с помо- щью клавиатуры новое значение или выражение. Что такое выражение? Выражение — это сочетание математических и логических операторов, констант, функций, имен полей, элементов управления и свойств, в результате обработки ко- торых получается единственное значение. Выражение может выполнять вычисле- ния, обрабатывать текст или проверять данные. Подробнее см. раздел «Использо- вание выражений в запросах и фильтрах» главы 7 «Запросы». • Если в ячейке появляется кнопка со стрелкой, направленной вниз, щелк- ните ее и выберите значение из раскрывающегося списка. Если в ячейке появляется кнопка построения (квадратная кнопка с симво- лом «многоточия»), щелкните ее, чтобы открыть окно построителя выра- жений. Для открытия построителя можно также выбрать команду Постро- ить в контекстном меню ячейки свойства. Для получения подробной справки по данному свойству, нажмите клавишу F1. Если требуется больше места для ввода или редактирования значения свой- ства, нажмите клавиши Shift+F2 для открытия окна Область ввода. Для этой же цели можете выбрать в контекстном меню команду Масштаб. Вы можете заметить, что список свойств для полей данных разных типов от- личается. Например, текстовые поля и поля гиперссылок не имеют установки числа десятичных знаков, а поля МЕМО — установок размеров. Изменение типа данных Изменение типа данных поля — это очень ответственная процедура. Но в не- которых случаях ее проведение может потребоваться для полей, в которых уже содержатся данные. Чаще могут встретиться следующие виды преобразований: преобразование в текст других типов данных; « преобразование текстовых данных в числовые- денежные, логические фор- маты или в формат Дата/время: преобразование денежного типа данных в числовой; преобразование текстового поля в поле МЕМО (и наоборот); изменение свойства Размер поля для числовых полей.
204 Г лава 6. Работа с таблицами При преобразовании в текст числовых данных используется основной число- вой формат и полный формат даты (рис. 6.57, о форматах см. ниже). Преобразо- ванные значения не будут содержать никаких символов денежной единицы и других специальных знаков, установленных для этого поля. Рис. 6.57 Числовые данные и даты (вверху) были преобразованы в текстовый формат (внизу) 58,900 1 декабря 2006 г. 347,120 1 июня 2006 г. 4,446 14 декабря 2 J06 г. 4 '”58,9~ ^^оПгаобб** 347,12 01062006 4,446 14.12.2006 Ч1ри преобразовании из текстовых данных в числовые, в большинстве случа- ев, неприятностей быть не должно, если хранящиеся значения подходят под но- вый тип данных. Если в текстовом поле хранятся данные в виде чисел, при пре- образовании в числовой или денежный тип потерь не будет, а десятичные запя- тые и разделители рядов будут восприняты корректно. Символы денежной единицы будут преобразованы в соответствии с настройками Windows. Недопустимые значения будут удалены. При преобразовании текста в тип Дата/время большинство дат и форматов времени будут восприняты в соответствии с настройками Windows. Текстовые значения «Да», «Истина» и «Вкл.» в логических полях превра- тятся в «Да», аслова «Нет», «Ложь» и «Выкл.» — в «Нет». А чтобы отобразить «Да» и «Нет» вместо флажков (см. рис. 6.58), нужно предварительно сделать из- менения на вкладке Подстановка логического поля: для свойства Тип элемента управления вместо значения Флажок установить значение Поле. Рис.6.58 Чтобы отобразить «Да» и «Нет» (справа) вместо флажков (слева), нужно предварительно сделать изменения на вкладке Подстановка логического поля При преобразовании числового типа данных в логический нулевые и пустые (Null) значения преобразуются в «Нет», а ненулевые — в «Да». Преобразования денежного типа данных в числовой, а также текстового - в поле МЕМО, происходят без потерь и искажений данных. Преобразование по- лей МЕМО в текстовые производится с обрезанием данных, размеры которых превышают размер, заданный в свойстве Размер поля» а также с потерей форматирования текста (рис. 6.59). Нельзя преобразовывать поля типа Вложение. Преобразование всех типов данных в счетчик в программе Access запрещено. При преобразовании счетчика в текстовый тип возможно обрезание значений в соответствии со значением свойства Размер поля.
Задание свойств полей таблиц 205 Рис. 6.59 Потеря форматирования текста в поле МЕМО (слева) после его преобразования в текстовый формат (справа) Если преобразование может привести к потере данных. Access выдаст сообщение об ошибке преобразования (рис. 6.60). Щелкните кнопку Отмена чтобы отме- нить изменения, или ОК для принятия изменений. Рис. 6.60 Предупреждение о потере данных при преобразовании типа поля f \ Знм»*чв свойства F'leWS**Одногоив^ойьких полай было ^еньшвнз.Т1Г>и потере данных погли выть уловил-ив амачениа / . v I . < . _ L Изменение размера числовых и текстовых полей Размеры новых текстовых и числовых полей установлены по умолчанию: для текстовых — 255 знаков (это максимальный размер текстового поля), для числовых — Длинное целое. Однако значения по умолчанию можно изменить, открыв с помощью меню кнопки «Office* диалоговое окно Параметры Access. В разделе Конструкторы объектов этого диалогового окна в секции Конструктор таблиц установите подходящие значение (см. таблицу 6.2). Для того чтобы изменить размер отдельного поля, следует задать новое значе- ние для его свойства Размер поля. Для этого: 1. В режиме конструктора таблицы в верхней части окна выделите числовое или текстовое поле, для которого необходимо установить свойство Размер поля. 2. В нижней части окна на вкладке Общие выделите ячейку свойства Размер поля. 3. Введите размер текстового поля (от 1 до 255). Для числового поля щелкни- те кнопку со стрелкой и выберите требуемый размер поля из раскрываю- щегося списка (см. таблицу 6.2). Не всегда следует выбирать максимально возможный формат, так как он ре- зервирует для данных больше места, а значения обрабатываются медленнее. На- пример, для числа в формате Действительное требуется 12 байт, а для целого — только 2 байта.
206 Глава 6 Работа с таблицами Таблица 6.2. Значения, сохраняемые в числовых полях Параметр Размер поля Диапазон значений Десятичные знаки Байт от 0 до 255 нет Целое от -32 768 до *32 767 нет Длинное целое - - . . - - , от-2 747483 648до +2 147 483 647 нет । Одинарное с плавающей точкой от-3,4х10зедо3,4х10эв (до семи значащих цифр), 4 байта для хранения Двойное с плавающей точкой от-1,797х1030'до 1,797x1О308 (до 15 значащих цифр), 8 байт для хранения 15 • код репликации 16 байт для хранения кодов репликации (GUID), в формате баз данных .accdb репликация не поддерживается • Действительное от-102'-! до 7О2’-!, 72 байт для хранения 28 Потеря данных при изменении размера поля При изменении размера числового поля (от большего к меньшему) может произойти потеря данных. Если хранящиеся данные выходят из диапазона значений для уста- навливаемого размера, то может потеряться их дробная часть или, вообще, может быть получено значение Null. Например, если вы хотите перейти от Одинарного с плавающей точкой к Целому, то дробная часть будет утеряна, а если значение выходит за пределы диапазона от-32 768 до 32 767, то в поле останется Null. Формат поля Свойство Формат поля используется для того, чтобы указать Access в каком виде следует отображать данные в таблице (а также при печати). Отображаемое значение, естественно, может отличаться от того, что хранится в поле. Форматы можно выбирать из списка встроенных форматов. Также можно создавать собст- венные (пользовательские) форматы. Встроенные форматы имеются для числовых (денежных) полей, дат и време- ни, а также для логических полей. На рис. 6.61 показаны таблицы с одними и теми желанными в полях, которые отформатированы различными способами. Хранящиеся и отображаемые данные Заданные форматы действуют на отображение данных в таблице. На хранение данных, которые были введены или вводятся, они влияния не оказывают. Обратите еще раз внимание на рис. 6.61. Все поля каждой из трех таблиц заполнены одними и теми же данными. Не помня о форматах, можно думать, что данные в полях раз- ные. Щелкните в ячейке таблицы указателем, чтобы установить в нее курсор вво- да — представление данных изменятся, открыв их «истинный» вид.
Задание свойств полей таблиц 207 Рис.6.61 Свойство Формат поля влияет на вид одних и тех же данных в таблице: числовых (вверху), дат и времени (в середине) и логических(внизу) 0.60 0,60 60,ол% 5.О0Е-01 0,50р. 0.50€ 1,33 1.33 133.00% 1,ЗЗЕ*00 133? _ L3M 20^,75 2000,75 200075,00% 2.00Е*03 2000,75р. 2 000.754 40000.09 40000.09 4000009,00% 41О0Е*О4 4и 000,09р. 40 000. Ж 100000.00 100000.00 10000000.00Н 1,Q0E+05 10000001 100 000.01 € 18.12.200g 18 декабря 2006 г 1В-дек-2ООв <122006. 10.46:00 10:45 '19122006 1В декабря 29Q6f 19^ст-2006 19.122006 1200.00 12.00 2012 2006 20 декабря 2006 г 20-ДСК-2006 20122006 14.00.00 14:00 " 28.122006 28 декабря 2006 г 28-дек-2ОО6 28 12.2006 16:20 00 1620 ' 07112006 7 ноября 2006 г 07-ноя 2006 07.112006 19'40,00 19:40 103102006 3 октября 2006 г. 03чжт-2006 >.102006 23.M.QQ Нет Ложь Вьжп Нет Ложь Выкл ..-CL Да Исшив 0кл . д* Истина Вкп Нет Ложь 8ьжл _п„ Да Истина вкл Нет Ложь Вьил п Числовые форматы выбираются из списка, который можно открыть в ячейке свойства Формат поля (рис. 6.62): Рис. 6.62 Список доступных форматов для типов данных Числовой и Денежный Общие Размер прп“ Формат поля_________j Число десятичных знаков Маска ввода__________ Подпись______________ Значение Л° умолчанию Условие на значение__ Сообщение об ошибке Обязательное поле_ Индексированное поле Q«PT Tfги____________ Гбайт Ihi* шк-елнныиИ . а. Основной Денежный Евро С разделителями разряд© Процентный Экспонен дольный 3456,789 3 456,79р. ? 456,794 123,00% Э46ЕЧВ Нет I В1фмнимнме геггта Общее Основной, например, «3456.789»; Денежный, например, «3456,789р.»; Евро, например, «3456,789€»; Фиксированный, например, «3456,79»; С разделителями разрядов, например «3 456,789»; Процентный, например, «345679%»; Экспоненциальный, например, «346Е+03». Если вы введете в поле» для которого установлен формат Евро» значение «123», то при переходе к следующей ячейке (выходе из текущей ячейки) оно отобразится в соответствии с заданным форматом как «123,00€». Форматы для типа Дата/время также выбираются из списка (рис. 6.63): Полный формат даты, например, «19.06.2007 17:34:23»; Длинный формат даты, например, «19 июня 2007 г.»; Средний формат даты, например, «19-июн 2007»; Краткий формат даты, например, «19.06.2007»: Длинный формат времени, например, «17:34:23»;
208 Г лава 6 Работа с таблицами Средний формат времени» например, «5:34»; Кратким формат времени, например, «17:34». * Рис. 6.63 Список доступных форматов для типа данных Дата/время Общие Когда вы вводите год двумя цифрами (например, «07»), в Access 2007применяется следующее правило: года от «00» до «29» воспринимаются, как принадлежащие двадцать первому веку /например, «2007»), а ©▼ «30» до «99» — как года, принад- лежащие двадцатому веку (например, «1945»). Число десятичных знаков ----------------------------- — --------------------------------------------, Вы можете использовать свойство Число десятичных знаков, чтобы отображать после запятой больше знаков, чем установлено основным числовым (или денеж- ным) форматом посредством свойства Формат поля. Например, если установлен формат поля Денежный, то отображаются только два знака после запятой на- пример, «15,25р.». Если нужно отображать четыре знака после запятой, установи- те значение свойства Число десятичных знаков, равное «4» Тогда отображе- ние значений изменится — «15,2500р.» (по умолчанию установлено Авто а вы можете выбрать от 0 до 15 десятичных знаков). Наконец, логические форматы также выбираются из списка, где есть всего три варианта выбора: Истина/Ложь, Да/Нет или Вкл/Выкл» Программа Access позволяет создавать собственные форматы пользователя. Их можно устанавливать для любых типов данных полей, кроме полей объектов OLE и вложений. Собственные форматы представляют собой строки символов, введен- ных в ячейку значения свойства Формат поля. Например, при заданном в ячейке свойства значении dddd mmmm\ d, УУУУ для типа Дата/время введенные в него данные «02,07.07» отображается как «Понедельник, июль 2, 2007». Для типа данных Текстовый знак «>» означает форматирование всех введен- ных символов, как прописных (знак «<» — наоборот). Например, «Рф» будет отображено в таблице как «РФ»(при использовании знака «<» — как «рф»). Списки символов для построения собственных форматов можно найти в спра- вочной системе Access. Чтобы открыть в окне справки соответствующий раздел, при установленном в ячейке свойства курсоре ввода нажмите клавишу F1
Задание свойств полей таблиц 209 Значение по умолчанию С помощью свойства Значение по умолчанию можно указать значение, кото- рое будет автоматически вводиться в поле при добавлении каждой новой записи. Например» если в поле Гиперссылка источника таблицы Данные докумен- тов нужно отображать просто надпись, указывающую на действие, которое бу- дет выполнено (а не адрес документа), целесообразно задать определенное значе- ние свойству Значение по умолчанию. На рис. 6,64 показано, что была набрана фраза «Переход к документу по ссылке», которая будет отображаться в каждой новой записи (обратите внимание на то, что после сохранения введенный вами текст будет взят в кавычки, так как он является текстовой константой). Пользо- ватель при вводе новой записи в поле гиперссылки может либо оставить текстовую константу, либо ввести вместо него другое значение. Рис. 6.64 Значение по умолчанию в поле гиперссылки Покумемты\ТХТз\Гякстовый документах!___ Документы\ТХТз\Техстовьй документЗ.Ьй Документы\У|део\Кпмп.УУМУ Документы\Изд&р^ения\ЭмблемаАгпр Паойжод к докумрнтупо ссылка Установка свойства Значение по умолчанию никак не влияет на уже сущест- вующие в поле данные. Еще один пример применения значения по умолчанию. В поле Дата той же таблицы фиксируется дата добавления каждой новой записи в базу. Для него це- лесообразно установить значение по умолчанию в виде функции, возвращаю- щей текущую дату (или дату и время). При сохранении каждой записи функция будет фиксировать в поле текущую дату (или дату и время). Здесь в ячейку свойства Значение по умолчанию можно ввести функцию Date() (или выражение Date() + TimeO). В результате, в поле таблицы будут ото- бражены текущие дата и время в соответствии с установленным для поля форматом (рис. 6.65). Пустые строки Разрешение на ввод пустых строк можно определить только для полей типов Тек- стовый. Поле МЕМО и Гиперссылка. Для этого используется свойство Пустые строки в ячейку которого вносится значение Да
210 Глава 6, Работа с таблицами Рис. 6.65 После изменения свойства Значение по умолчанию с Date() на Date()+Time() в поле стали выводиться и дата, и время (внизу) [значение по умолчанию | DBteQ»Tlme J 22 10,2034 2510.2004 27,11,2004 27 11,2004 2711.2004 20.12 20061:10:33 Наложение ограничений и условий на вводимые данные В Access существует несколько способов проверки достоверности ввода дан- ных в таблицы. Кроме использования типов данных и размеров полей, можно установить для поля условие на значение. Если вводимые данные не соответст- вуют установленному условию, то появится сообщение об ошибке, и данные вве- дены в таблицу не будут. Еще одним способом управления вводом является соз- дание масок ввода. Маски ограничивают данные, которые можно ввести в опре- деленные позиции поля. Также для всех полей, кроме полей счетчика (генерирующих свои собственные данные), можно сделать ввод данных обяза- тельным. Наконец, во всех полях, кроме полей объектов OLE и вложений, можно предотвратить ввод в одно поле или в комбинацию полей повторяющихся значений. Наследование условий в формах В большинстве случаев условия на значение и ограничения задаются в свойствах полей таблицы. Когда вы создаете на основе таблицы форму, условия наследуются и действуют также при вводе данных в поля формы. В этом случав отпадает необхо- димость в наложении дополнительных ограничений в формах . Но при этом не стоит забывать, что для корректировки или отмены условий следует обращаться к свойст- вам таблиц, а не форм. Условия на значения Задание условий на значения позволяет контролировать данные, которые вводятся в таблицу. Выполнение этих условий проверяется как при вводе, так и при любом изменении данных. В Access имеется возможность определять два типа условий: Условие на значение поля. Оно проверяется при выходе курсора ввода из поля. Примером условия на значение для числового поля может служить выражение «>=1*, записанное в ячейке свойства Условие на значение. На- пример, данные в поле Количество страниц таблицы Данные документов* должны удовлетворять такому условию, так как в любом документе долж- на быть хотя бы одна страница. Условие на значение записи. Оно проверяется при сохранении всей записи. В отличие от условия первого типа, в условиях на значение записи допуска- ется использовать выражения со ссылками на другие поля таблицы. Это по- зволяет сравнивать значения разных полей таблицы. Например, дата выпус- ка документа не должна быть позднее, чем дата внесения записи о нем в базу данных. Это несколько «надуманное» условие, и оно может отсеивать только явные ошибки пользователя, который заполняет базу данными.
Задание свойств полей таблиц 211 Рис. 6.66 Нарушено условие на значение в поле Количество страниц таблицы >. 4Д . #c*.’ymryDB Kwh4Kt^.£ WH’- , -nrniqm , j j J ! I ’ ( У 1 л I J I 1 i 1 { 1 ! *. ill * ??*'<*;> I I » > 1 Г * > , * , j HlHf f< L ’ Если условие на значение для поля или записи нарушается, Access выводит сооб- щение, содержащее сведения о том, кок правильно вводить данные (рис. 6.66). Чтобы задать условие на значение поля, откройте таблицу в режиме конст- руктора, щелкните поле, на значения которого нужно наложить условие, а за- тем: 1. В нижней части окна в ячейку свойства Условие на значение введите усло- вие (или щелкните кнопку Построить в его контекстном меню, чтобы соз- дать условие на значение с помощью построителя выражений). 2. Если нужно, в ячейке свойства Сообщение об ошибке введите сообщение, которое должно появляться на экране, если данные не соответствуют за- данному условию. Например, для выражения ♦>=].», можно ввести сооб- щение «ВНИМАНИЕ! Задайте целое число больше 1.» (рис. 6.67). Рис. 6.67 Сообщение об ошибке, созданное пользователем 3. При наложении условия на значение в поле, которое уже содержит дан- ные. Access выводит предупреждение об изменении условий на целост- ность данных с вопросом «Проверить данные на соответствие с новыми ус- ловиями?» (рис. 6.68). Если выбрать Да, то при нарушении условия на значение существующими данными появляется окно предупреждения, содержащее варианты ваших возможных дальнейших действий (рис. 6.69). Рис. 6.68 Программа Access предлагает проверить данные на соответствие новым условиям Рис. 6.69 Имеющиеся данные противоречат новому значению свойства
212 Глава 6. Работа с таблицами Подстановочные знаки в условии на значение Задание условий на значения записи проводится в диалоговом окне свойств таблицы: 1. В режиме конструктора таблиц в разделе Показать и скрыть вкладки Кон- структор (Работа с таблицами) Ленты щелкните кнопку Страница свойств, чтобы открыть Окно свойств для таблицы (рис. 6.70). Рис. 6.70 Задайте условие на значение записи таблицы 2. В ячейке свойства Условие на значение введите необходимое условие или щелкните кнопку Построить, чтобы создать условие на значение при по- моши построителя выражений. 3. Если нужно» в ячейке свойства Сообщение об ошибке введите сообщение, которое должно появляться на экране, если данные не соответствуют за- данному условию. 4. При наложении условия на значение в таблице, уже содержащей данные, Access выведет предупреждение об изменении условий, содержащее вари- анты ваших возможных дальнейших действий. Проверить условия на значения записей и полей, а также свойства Обяза- тельное поле и Пустые строки для всей таблицы, можно с помощью кнопки Про- верка условий, которая находится в разделе Сервис вкладки Конструктор Лен- ты (таблица должна быть открыта в режиме конструктора). По мере проведения проверки Access будет выводить предупреждающие сообщения о найденных ошибках с указанием типа ошибки, поля таблицы и свойства, значения которого были нарушены. Маска ввода Маски ввода играют роль шаблонов поля, указывая пользователю, какие знаки и в какие позиции строки следует вводить. Для задания маски ввода ис- пользуется свойство Маска ввода поля. Значение свойства Маска ввода состоит из текстовых знаков (таких как про- белы, точки, тире, скобки и др.) и специальных знаков, определяющих тип зна- чений, которые могут быть введены в данную позицию. В основном, маски вводя
Задание свойств полей таблиц 213 используются в текстовых полях, полях даты и времени, а также в полях числового и денежного типов. Свойства Маска ввода и Формат поля, на первый взгляд, приводят к похо- жим результатам. Но если свойство Формат поля используется для отображе- ния данных в постоянном формате, то Маска ввода непосредственно управляет вводом. Формат применяется только после сохранения введённых данных, он влияет только на отображение значения, но никак не влияет на значение, хра- нимое в таблице. Если требуется отображать данные так, как они были введены, можно не устанавливать формат, а для контроля над вводом использовать мас- ку, Маска ввода может обеспечить соответствие введенных данных определенному формату, а также заданному типу значений. Если для поля заданы как формат, так и маска ввода, то при добавлении и ре- дактировании данных используется маска ввода, а формат определяет отобра- жение данных после сохранения записи. При установлении значений обоих свойств нельзя допускать, чтобы заданные значения противоречили друг другу. Чтобы задать маску ввода для поля таблицы, откройте ее в режиме конструк- тора, а затем: 1. Выделите поле, для которого необходимо задать маску. 2. В области свойств поля установите курсор ввода в ячейку свойства Маска ввода и введите определение маски ввода (см. таблицу 6.3). Для получе- ния справочных сведений об определении маски ввода, нажмите клавишу F1. 3. Или щелкните кнопку Построить рядом с ячейкой свойства Маска ввода для запуска мастера (рис. 6.71), а далее следуйте инструкциям в его диало- говых окнах. Создание watoit веодз Рис. 6.71 Первое диалоговое окно мастера масок ввода Которая из масок вводе обеспечивает нужный вид датах? Г^юввоить работу рыбратой маски ммюю в owe Tfofa Для изменения «тжканваж ввода махвыте кнопку "Слиаж ± г If Маска ввода: вил Данных* 27.09. DOOO 1200 27<ем-1969 л | Пароль Создай Лоомвт даты • •• э Краткий формат даты Краткий формат еремгж - mi йй । h Отучив iti ii » Ц —I----'------------------1--- В таблице 6.3 приведены знаки, используемые для построения масок ввода. Чтобы добавить в маску текстовые константы, следует просто ввести их в нужную позицию.
214 Г лава 6. Работа с таблицами Таблица 6.3. Знаки, используемые для построения масок ввода Знак Описание 0 Цифра: от 0 до 9, знаки плюс (+) и минус (-) не допускаются (ввод обязателен). 9 Цифра или пробел: знаки плюс (+) и минус (~) не допускаются (ввод не обязателен). # Цифра или пробел: пустые знаки преобразуются в пробелы, допускаются знаки плюс (+) и минус (-) (ввод не обязателен). 1 Буква: от А до Z или от А до Я (ввод обязателен). г ? Буква: от А до Z или от А до Я (ввод не обязателен). Буква или цифра 'ввод обязателен). а Буква или цифра (ввод не обязателен}. & Любой знак или пробел (ввод обязателен). с » Любой знак или пробел (ввод не обязателен). Десятичный разделитель, разделители тысяч, значений дат и времени (зависят от настроек языка и стандартов в Windows). Указатель перевода всех следующих знаков в нижний регистр. Указатель перевода всех следующих знаков в верхний регистр. 1 е Указывает изменение порядка заполнения маски на «справа налево». По умолчанию заполнение маски знаками всегда происходит «слева направо». Восклицательный знак в маске ввода можно помещать в лю- бую позицию. у Указывает ввод любого следующего знака (из числа перечисленных выше) в качестве текстовой константы (например, \А выводится как знак «А»). Пример маски вводе серии и номера российского паспорта: 00 00 000000. Пример маски ввода телефонного номера с указанием кода города: (000)000-0000. Пример маски ввода имени с большой буквы: >L<??????????????. Пример маски ввода номера документа: TH № 000000. На рис. 6.72 показано заданное значение маски ввода (вверху) и вид записи перед вводом в это поле нового значения (внизу). Рис. 6.72 Маска ввода (вверху) и «подсказка» новой записи (внизу) Общие Формат поля Маска ввода^;~99:00:РО^.~< С । Подпись ; 18 44 22 ________0:00:00 ________17:20 10 _______1422 1" Вл дд J Hi ГГ1
Задание свойств полей таблиц 215 Обязательное поле В таблицах Access предоставляется возможность указать обязательность вво- да значении в конкретное поле во всех новых записях (даже при наличии в этом поле существующих записей с пустыми (Null) значениями, изменять которые не потребуется). Для того чтобы установить это свойство, в режиме конструктора таблицы вы- делите поле, а затем в ячейке Обязательное поле выберите значение Да (по умол- чанию устанавливается значение Нет). Все новые записи будут проверяться в со- ответствии с этой установкой, независимо от способа ввода данных в поле. Предотвращение ввода повторяющихся значений Запретить ввод повторяющихся значений можно для индексированных по- лей. Одновременно с установкой индекса можно задать это свойство. Если это- поле таблицы, то в режиме конструктора следует выбрать ячейку свойства Ин- дексируемое поле и задать из раскрывающегося списка значение Да (Совпаде- ния не допускаются). Если нужно «защитить» от повторяющихся значений не- сколько полей, то создается составной индекс, для которого устанавливается значение Да в поле параметра Уникальный индекс (см. раздел «Составные ин- дексы» настоящей главы и рис. 6.42). Подпись Полю можно задавать свойство Подпись. Это свойство определяет надпись, которая выводится как заголовок столбца в режиме таблицы. Значение свойства Подпись может отличаться от настоящего имени поля. Подпись полезно вво- дить тогда, когда заголовок столбца должен быть длиннее и информативнее, чем имя поля (рис. 6.73). Рис. 6.73 Значение свойства Подпись задается в режиме конструктора посередине), не изменяет имени поля (вверху) и отображается как заголовок столбца в режиме таблицы (внизу) Формат поля __________Да/пет_________ Ордпись^~ ТПервая попытка 'Значение по умолчанию D Условие не значение Сообщение об ошибке Индексированное поле Выравнивание текста Нет Общее
216 Глава 6. Работа с таблицами Это свойство также задает текст подписей для элементов управления в фор- мах и отчетах. В схемах данных отображается имя поля. Подпись может быть любой комбинацией букв, цифр, пробелов и расширен- ных знаков, имеющей длину до 255 знаков. таблицы исправляется имя поля, а если у поля была под- Если подписыполя не задана, для заголовков столбцов в режиме таблицы использу- ется имя поля. В режиме пись, то оно удаляется. Создание поля со списком подстановок или списком значений Поле со списком подстановок или списком значений облегчает ввод данных в таблицу. Пользователь не набирает данные, а выбирает их из специально соз- данного раскрывающегося списка прямо в ячейке. Это не только исключает ошибки, но также сохраняет согласованность вновь введенных данных. Список значений поля подстановок может быть сформирован из таблиц или запросов те- кущей базы данных, а также из заданного пользователем постоянного набора значений. Новые поля со списком подстановок или списком значений можно создавать как в режиме конструктора, так и в режиме таблицы. Однако если поле (которое будет использовано как внешний ключ для поля подстановок) уже существует, необходимо использовать режим конструктора. На рис. 6,74 показана таблица Авторы (в режиме таблицы) с раскрытым спи- ском подстановок, созданным для поля 1D организации (внешний ключ). В таб- лице Организации хранятся названия и другие данные об организациях, в кото- рых работают авторы. На основании существующей связи между таблицами по- строен список подстановок, с помощью которого удобно вносить в таблицу Авторы значения для поля ID организации. Новые числовые значения выбира • ются из списка, состоящего из двух столбцов ID организации и Название. Та- ким образом, пользовател ь выбирает организацию не по цифровому коду, кото- рый обычному человеку запомнить очень сложно, а по ее названию. Программа Access в соответствии со сделанным пользователем выбором помещает в поле цифровой код. Рассмотрим, как можно создать список подстановок для уже имеющегося поля ID организации в таблице Авторы. Сначала нужно создать для него элемент управления. Для этого: 1. Откройте таблицу Авторы* содержащую нужное поле, в режиме конст- руктора. 2. Выделите поле 1D организации, для которого нужно создать элемент управления (или щелкните его, установив в него курсор ввода). 3. В нижней части окна перейдите на вкладку Подстановка. 4. В ячейке свойства Тип элемента управления выберите нужный тип в рас- крывающемся списке. На рис. 6.75 выбран элемент Список. 5. Как только вы сделаете такой выбор, на вкладке появятся ячейки свойств, характерные для этого элемента. С их помощью следует настроить содер- жание и вид списка, 6. В ячейке свойства Тип источника строк задайте значение Таб^гица или за- прос.
Задание свойств полей таблиц АЖМ>рМ Я i иФзмилия -Т Имя Л Отчество Коммент * 1 К 1 И Г Абасов Игорь Г ургенович 2 Через Гуляева Н.Н. га 2 Д.В Алешина Диана Викторовна 2 гел. V1-11-11 РЯ 3 В.В. Аманян Ви кт , Витальевич 5 г. Рольск. а/я 275 И 4 В-В Берилоа Вечеслав Васильевич 3 Через Смирнова А А я 6 ИИ Гончарский Иван Иванович _1Ъ ] ivan@nail ш га 6 Л. Л Г рафинова Лидия Львовна 1 Технологический университет 1 — * га 7 В.Н Гуляев Вениамин Никифорович 2 Институт повышения квалификации EjS в 9 ГЛ- Давыдова Галина Н.С. Данилов Николай Павловна Сергеевич 3 4 Институт подготовки кадров Кафедра проблем развития ИПК - га 10 Р.И. Дровских Роман Игнатьевич 5 Кафедра проблем интеграции ИПК -н Е и ГА Путинский Гвоман Александрович Михайлович б Академия гос /дарственного «очтрора ♦ ♦ га 12 ИМ Егоров Иван народи»? академия ннформоцни га 13 В.А Желеэов Виктор Андреевич 8 L" и Международный центр Сотрудничество' JvJ 1 •• га 14 Ю А Зажигзлкин Юрий Андреевич 4 za7hfg@mail ги га 15 С .С. Зуев Семен Семенович 6 zyss@intercom nj 1 ffl 16 В В Иванов Вячеслав Владимирович 5 Этой темой больше не занимается Рис. 6.74 Раскрывающийся список подстановок в поле ID организации, созданный из значений полей таблицы Организации Рис. 6.75. Выберите из раскрывающегося списка тип элемента управления в поле Об Подстановка Только значения источника строк ft •» • i‘l м>1!> [Гил элемента управления Тип источника строк Источник строи Присоединенный столбец Число столбцу Заглавий столбцов Шцрича столбцов .Разрешение месколькмя значений Нет Разрешить изменение списка значений Нет Форма изменения влементов списка Поле со списком Нет Нет Поле 7. В ячейке свойства Источник строк выберите таблицу Организации . 8. В ячейку свойства Число столбцов введите значение «2». Заглавия столб- цов указывать не обязательно, ширину столбцов можно установить позже «по месту». 9. Щелкните ячейку свойства Источник строк. Справа около нее появится кнопка Построить. Щелкните эту кнопку, чтобы открыть окно Построи- теля запросов (хотя запросы будут рассмотрены ниже, но вы можете заме- тить, что это окно очень похоже на окно расширенного фильтра, рассмот- ренного выше в этой главе). 10. В верхней части окна построителя располагаются окна таблиц (рис. 6.76). Там должна быть таблица Организации. Если это не так, то удалите другие таблицы и откройте таблицу Организации, используя команды контекст- ного меню. 11. Из верхней части окна построителя перетащите указателем мыши поля ID организации и Название в первый и второй столбцы полей запроса, рас- положенные в нижней части окна (см. рис. 6.76). 12. В первом поле задайте значение по возрастанию для свойства Сортировка. Оставьте установленными флажки для свойства Вывод на экран для обоих полей.
218 Глава 6. Работа с таблицами Рис. 6.76 Окно построителя запросов используется для организации списка значений 13. Закройте окно построителя. Выражение на языке SQL будет перенесено в ячейку свойства, из которого был вызван построитель. 14. Перейдите в режим таблицы, сохранив таблицу Авторы. В режиме табли- цы щелкните любую ячейку поля ID организации? чтобы раскрыть сп исок подстановок (см. рис. 6.74). Теперь любое значение в поле 1D организации может быть задано простым выбором из этого списка. Настройте при необходимости ширину столбцов раскрывающегося списка. Дгя этого задайте в ячейку свойства Ширина столбцов, например, значения «1 см;7см». Первое значение будет применено к столбцу ID организации, а вто- рое — к столбцу Название. Затем в режиме таблицы проверьте, все ли значения по- лей полностью помещаются в столбцы такой ширины. Еще проще создать поле подстановок с помощью мастера подстановок. И де- лается это как в режиме конструктора, так и в режиме таблицы. Мастер подста- новок не только позволяет установить связь полей таблиц, но также создает до- полнительное поле со списком подстановок. Рассмотрим работу мастера на при- мере таблицы Авторы документов. Создадим в ней список для выбора позиции автора в авторском списке (будет создан список фиксированных значений): 1. Откройте таблицу Авторы документов в режиме таблицы. Выделите поле, слева от которого нужно вставить поле со столбцом значений (пред- положим, что поля Позиция автора в таблице Авторы документов еще нет, и столбец, который вы выделите будет Добавить поле). В контекст- ном меню его имени щелкните команду Столбец подстановок г Появится первое диалоговое окно мастера Создание подстановки (рис. 6.77). Если ваша таблица открыта в режиме конструктора, то чтобы сделать то же самое, вам нужно будет создать новое поле и выбрать для него тип данных Мастер под- становок
Заданиесвойств полей таблиц Рис. 6.77 Первое окно мастера подстановок 219 2. Установите переключатель в положение Будет введен фиксированный на- бор значении. Щелкните кнопку Далее. 3. Во втором диалоговом окне мастера выберите число столбцов и заполните их значениями (рис. 6.78). Щелкните кнопку Далее. Рис. 6.78 Заполните столбец значениями Создание подстамомки MfCMW«ячмш, ♦Фтерые будет садсрмп» стадбецпМк нимки.. йтвдите чиоя столби» ечкэо й ДЛ» Кемой npeownww мгсиажд етдеби* мвнужую иммнг >ее для 4. В последнем диалоговом окне мастера задайте имя нового поля и заверши- те работу, щелкнув кнопку Готово. В таблице появился удобный список значений для задания позиции автора (рис. 6.79). Изменение списка фиксированных значений - — - - - - - - I Если для свойства Разрешить изменение списка значений (на вкладке Под- становка в режиме конструктора таблицы, см. рис. 6.80 внизу) установить значе- ние Да. то рядом со списком в таблице появится небольшая кнопка (см. рис. 6.79), щелкнув которую, вы можете внести изменения в список фиксированных значении, а также задать новое значение по умолчанию (рис. 6.80 вверху). Новые значения можно непосредственно внести в ячейку свойства Источник строк (на вкладке Подстановка режима конструктора, рис. 6.80 внизу).
220 Глава 6. Работа с таблицами Рис. 6.79 Список значений для задания позиции автора в авторском списке г 7 Гт V f 7 г’ Г • дога* - IC a 1 ЮЗИЦМЯ й 10 5 В № 7 J 11 10 21 2 га 10 34 3 га 10 45 4 га 11 10 5 | и 11 25 га 12 21 [tzl 1 га 12 23 l!=J2 ж 12 41 3 га 13 21 1 щ 13 38 2 га 14 6 1 in 1 1 8 2 р 14 11 3 Её 1 1 12 4 га 15 33 3 га 15 40 1 га 15 41 2 Рис. 6.80 В диалоговом окне Изменение элементов списка можно изменить список фиксированных значений и задать другое значение по умолчанию (вверху), а можно это сделать в ячейке свойства Источник строк (внизу) Допускается создавать в таблице списки подстановок» в которых содержатся значения из других полей этой же таблицы. Список подстановок в форме При добавлении поля со списком подстановок из таблицы в форму, Access копиру- 81 в форму его определение. В форме автоматически создается поле со списком подстановок.
Задание свойств полей таблиц 221 Задание полей с несколькими значениями Чтобы задать поле, в котором могут содержаться несколько значений, нужно сначала создать для него список подстановок (см. предыдущий раздел этой гла- вы). В последнем диалоговом окне мастера создания подстановок необходимо установить флажок для параметра Разрешить несколько значений (рис. 6.81) и щелкнуть кнопку Готово. Появится предупреждающее сообщение, с которым нужно ознакомиться, и щелкнуть ОК (рис. 6.82). Рис. 6.81 Последнее диалоговое окно мастера создания подстановок Отмена поля с несколькими значениями Отменить поле с несколькими значениями невозможно (рис. 6.82). Его можно толь- ко удалить (вместе сданными), а затем создать заново с «обычными» значениями. Рис. 6.82 После сохранения таблицы отменить поле с несколькими значениями будет невозможно столбец подкГ4№мж "Попе с мечениями* 6ыпи>нене« ддесоииаиемля неоФпьнихзначсгий<П(иА?с>онра««мия таблицы otwciwгьэто HiMewhkK’iiy/jnTнеыимачсно. ; “ть жмчг-иямнГ для сохраиюяшиеосйльлих жчгч’гн 1й? С_30 ~7Г |НШ|Г| ..1 ............" - ... Ст- «Готовое» поле со списком подстановок также можно превратить в поле с не- сколькими значениями, просто изменив значение параметра Разрешение не- скольких значении с Нет на Да (на вкладке Подстановка режима конструктора, см. рис. 6.80 внизуГ Рис. 6.83 Панель поля, в которой можно вводить несколько значений
222 Глава 6. Работа с таблицами После того как такое преобразование будет сделано, список подстановок за- менится на панель. Если в панели поставить флажок около какого-либо значе- ния, то оно будет записано в поле (рис. 6.83). Форматированный текст в полях МЕМО У полей МЕМО имеется свойство Формат текста, которое может иметь два значения: Обычный текст и Текст RTF. Первое значение, устанавливаемое по умолчанию для вновь создаваемых полей, означает, что в этом поле сохраняют- ся текстовые данные без какого-либо форматирования (только текст). Если для параметра Формат текста задать значение Текст RTF (это делается в режиме конструктора таблицы на вкладке Общие свойств поля), то кроме самого текста, в поле будут сохраняться и параметры его форматирования. Форматировать текст в поле таблицы можно с помощью элементов управления разделов Шрифт и Текст RTF вкладки Главная Ленты, или в другой программе (с последующей передачей в Access через буфер обмена). При возврате свойства Формат текста к значению Обычный текст, сам текст в поле сохраняется, нс его форматирование теряется. Форматированный текст передается в другие объекты базы данных, создан- ные на основе таблицы. На рис. 6.84 показана таблица с полем МЕМО» в котором задан текст RTF, а также форма, построенная на основе этой табл ицы. Рис. 6.84 Таблица с «форматированным» полем МЕМО (вверху) и форма, созданная на ее основе (внизу) I ПРИКАЗ В целях оптншоацнв учебной. учебяо-ыетоднчесжой ы ортпкмшкшво- мгтоддчосюой работы кафедр к определенна обмыа работы профессоров?- пресоддмтедъасого состава. 1 сос ветстшк с Приложением к письму Мннобраэомннл Россяи от 26.06.2003 года №14 S5 ’84 wtAIS “Прилцркш мррыы «pawwu йтя рдечятяа обьешэ учабной работы и основные виды учебно- методической научно иссмдователекой и других работ, выполняемых профессорско-преподавательским составом в образовательных учреждениях высшего и доло.1паям 1ъмого профессионального образования’] В Access имеется возможность опредедять дм типа ycnamdfc • УЛ1ИШ N* * лначочи ПОЛЯ Ом 1фМ^мтилртам1аяаКучмам»» «.поп тсвсжим иисв, да, яжжваап жвал нажат raj жм*жи»аг.ст» О“1.,чпкия*<п«Ь«еи,гг>» Гемм, «««к. БшфжМф- ««"» Хлмиао '"ря* аавшяш/Ямм, Длфммтм. малошумжкмргг» ташиу ,еппжа>.тимавкж>6*мжм7Н,«м*м«жабнп коп 6« сажа прайм, • Усяовкг на ХЯНЧОШв записи Ож<^«,1паф1ИЧ>иамжНмта р.пмпмммфмм 1ПИ,ау спас*» мамжж,жгпжямаугкажгелас-имомга wpiwwrt<*»« Мдотва пма«сСжмм. Эг» жтаппг ерчмап шачаака ,,«аи* мшмбпЛмф| Нацрмир. дао aerj« докумам, м д**мм вся» жгпвм. смдлпмк«1мааама1от«ж6муда»<а Эте wuuo «жадум ааша.ушшм. вам можм •кшаптомаж мн ашбааггшгнпн.штамп бааул.мжим Форма, гъздвнная из заблииь! с полем МЕМО ь ПРИ ICY 1 В целях огпнмшацнн учебной. учеби*>-методнч«яой п оппшкэжшюшки методической работы кафедр и определения объема работы Приложением к письму Минобразования России от 26.06.2003 голи №14 5f ’84 иа/lS "Примерные нормы времени дня расчета объимо уибкоа работы и основные виды улебно-методическод научно ие&идолатсхьской и других, работ, еыпо шяемыхпрофоссорско првподаеатаяиехим составом о образовательных учреждениях высшего и дополтппехьного профясси намного образования"
Поля гиперссылок 223 Поля гиперссылок1 Гиперссылки дают возможность быстро перемещаться к объекту, на который они указывают. Чаще всего они указывают на веб-страницу, документ, рисунок, программу или адрес электронной почты. Любой текст, содержащийся в поле с типом данных Гиперссылка, воспринимается как ссылка, но «сработает» она только тогда, когда имеет правильный формат и указывает на существующий объект. При срабатывании гиперссылки конечный объект отображается на эк- ране, открывается или запускается (в зависимости от его типа). Например, ссылка на звуковой файл откроет его в проигрывателе, а гиперссылка на веб-страницу отобразит ее в обозревателе. Сам файл, для которого записана ги- перссылка, находится вне базы данных и никаким образом, кроме созданной вами ссылки, с ней не связан. При установке указателя на текст, содержащий гиперссылку, указатель при- мет форму «руки», указывающей, что это объект, который «можно щелкнуть» (рис. 6.85). Рис. 6.85 Гиперссылки в поле таблицы Обложка Рефердт и содержание yvww jamfrief ги Поля гиперссылок в таблицах Access имеют практически такие же свойства, что и текстовые поля. Для них вы можете задавать значения по умолчанию, под- писи, индексы, условия и т.д. Сами данные, т.е. адрес гиперссылки можно зада- вать в поле таблицы (или связанного с ней объекта базы данных), набрав его с клавиатуры, скопировав через буфер обмена или задав с помощью диалогового окна изменения гиперссылок (в котором имеются удобные средства для правильного задания ее формата). В поле таблицы, сохраняющем адрес гиперссылки, программа Access не отобража- ет все четыре компонента ев адреса. Если требуется целиком посмотреть адрес ги- перссылки, выделите поле и нажмите клавишу F2 Для работы с данными полей этого типа в таблице используется меню Гипер- ссылка. которое открывается из контекстного меню поля (рис. 6.86). Сего помо- щью вы можете изменить гиперссылку, открыть ее, копировать, поместить в папку Избранное или удалить. Ниже рассмотрены поля трех типов данных (Гиперссылка. Поле объекта OLE и Вложение), кото- рый отличаются тем, что их содержимое непосредственно не отображается в поле таблицы. Для записи данных в такие поля, их обработки и отображения используются специальные средства Access и операционной системы.
224 Глава 6. Работа с таблицами Рис. 6.86 Контекстное меню поля гиперссылки Обложка & Вмреэть Цл Копировать А Вставить I } ------ j| £ортмро«в ст Аде И £огп*ф(Ж0 от я да л www.ram ^мать фильтр С Гиперссылки 1 «кетовые Фмлыры Содержит "реферат и содержание" Це содержит 'Реферат и содержание' Открыть гиперссылку w Отжруть новом окне Колировать гиперссылку Повестить в папку' 'Избранное •JI Хамить гиперссылку Для задания и изменения гиперссылки: 1. Откройте таблицу (запрос или форму в режиме таблицы). 2. Щелкните правой кнопкой поле гиперссылки. В контекстном меню выбе- рите команду Гиперссылка 1 Изменить гиперссылку (см. рис. 6.86). Поя- вится диалоговое окно Изменение гипероссылки (рис. 6.87) или Вставка гиперссылки. Рис. 6.87 Диалоговое окно Изменение гиперссылки 3. В поле Текст введите текст гиперссылки, который будет отображаться в поле таблицы. 4. С помощью элементов управления диалогового окна (кнопок и списков) найдите файл, к которому должна вести гиперссылка. Его адрес должен появиться в поле Адрес. 5. Щелкните кнопку Подсказка, чтобы открыть маленькое диалоговое окно Подсказка для гиперссылки и задать в нем подсказку (см. рис. 6.85). 6. Щелкните кнопку ОК. чтобы закрыть диалоговое окно и перенести гипер- ссылку в поле таблицы.
Внедрение и связывание данных в поле таблицы 225 Внедрение и связывание данных в поле таблицы Тип данных Поле объекта OLE предназначен для объектов, созданных (или создаваемых) в других приложениях, которые могут быть связаны или внедре- ны в пбле базы данных. В чем отличие связывания от внедрения? Здесь уместна аналогия со связыва- нием и импортом таблиц. И в том, и в другом случае вы можете редактировать объект. Но при внедрении он будет принадлежать только конкретной таблице в базе данных, а при связывании, он будет каждый раз импортироваться, когда вы будете к нему обращаться. Внедренные документы могут значительно увеличить объем файла базы дан- ных. Связанные документы «оставляют» в Access только ссылку на свой адрес, туда, где они находятся или будут находиться. Со связанными документами кто-то может «поработать» в ваше отсутствие, изменив йх до неузнаваемости, или даже переместив их в другую папку. Тогда не только может быть «испор- чен» документ, но и его связь с базой данных может быть нарушена. Что лучше выбрать для электронной библиотеки, зависит от конкретной ситуации. Корректное отображение объектов OLE в базе данных Не все файлы в полях объектов OLE Access могут отображаться правильно. Для кор- ректного отображения требуется специальное программное обеспечение, содер- жащее компоненты (называемые «серверами OLE») для соответствующих форма- тов. В Office 2007 серверы OLE есть у документов программ Microsoft Office, гра- фических форматов .bmp и .dib, а для файлов, например, Jpeg и .gif — их нет. Поэтому в поле объекта OLE для них будет значится слово «Пакет» вместо ожидае- мой надписи «Точечный рисунок», а в форме для них будет отображен не рисунок, а надпись с именем файла (рис. 6.88). Для того чтобы вставить в таблицу объект OLE: 1. Установите для поля таблицы, куда будут вставляться или внедряться объекты, тип данных Поле объекта OLE. Для поля этого типа есть только два свойства. Оставьте их установленными по умолчанию. 2. Перейдите в режим таблицы. Установите курсор ввода в ячейку, в кото- рую нужно добавить объект. Щелкните ее правой кнопкой мыши и выбе- рите в контекстном меню команду Вставить объект. Появится диалоговое окно добавления объекта (рис. 6-89). > Объект можно добавлять также в форму, открытую в режиме формы или в режиме таблицы. После этого он также будет внесен в таблицу. 3. Если нужно создать новый объект, то установите переключатель в поло- жение Создать новый и выберите в списке Тип объекта тип создаваемого объекта. Установите флажок для параметра В виде значка, если хотите, чтобы в форме или отчете объект отображался в виде значка, представ- ляющего файл. Ниже вы увидите этот значок, а также кнопку Сменить значок, щелкнув которую вы можете выбрать новый значок и изменить в Access 200?
226 Глава 6. Работа с т аблицами подпись под ним. Щелкните кнопку ОК. Откроется программа, в которой вы можете сразу начать создавать новый документ. После ее закрытия вы увидите в поле таблицы надпись, характеризующую тип внедренного объ- екта (см. рис. 6.88). Рис. 6.89 Установите параметры вставки или связывания объекта в этом диалоговом окне Рис. 6.88 Отображение объектов OLE в таблице (слева вверху) и в форме 4. Если объект уже существует, можно как внедрить его, так и создать с ним связь. В диалоговом окне вставки и внедрения объектов (см. рис. 6.89) ус- тановите переключатель в положение Создать из файла. Гели нужно уста- новить связь с объектом, то установите флажок для параметра Связь, и щелкните кнопку Обзор, чтобы найти файл объекта.
Внедрение и связывание данных в поле таблицы 227 б. Щелкните кнопку ОК (рис. 6.90). Поле таблицы будет связано с файлом или файл будет в него внедрен. Рис. 6.90 Поле таблицы будет связано с существующим файлом Открытие объекта OLE I--------: ~ Если связь устанавливается с «неизвестным» для Access файлом, то он отображает- ся в таблице кок «Пакет», в форме будет представлен своим значком, а открыть его можно будет, как и «нормальный» объект, двойным щелчком в поле OLE (на значке или надписи . Причем файл откроется в программе, для которой он зарегистриро- ван в Windows. Чтобы изменить программу, в которой он будет открыт, можно вне- дрить ярлык, указывающий на файл и программу (тоже «Пакет» в поле таблицы}. «Внедрение перетаскиванием» Можно просто перетащить файл непосредственно из папки Windows или с рабочего стола в поле объекта OLE в таблице Access. Если приложение, которому принадлежит файл, поддерживает операцию перетаскивания объектов OLE, файл будет внедрен. Используя поддержку некоторыми приложениями (в частности, программа- ми Microsoft Office) связывания части существующего документа с помощью механизма OLE, в поле таблицы можно установить связь с частью документа, например, листом или диапазоном ячеек Excel, фрагментом документа Word и др. Можно также внедрить часть документа. Для этого нужно открыть про- грамму, в которой редактируется объект, выделить часть документа и в контек- стном меню выполнить команду Копировать. Затем, оставив приложение от- крытым, перейти в Access, к полю объекта OLE, и щелкнуть его правой кноп- кой, а затем в контекстном меню выполнить команду Вставить. Объект будет внедрен. Можно настроить параметры вставки, в том числе и для установки свя- зи с объектом. Для этого следует использовать команду Специальная вставка, которая открывается из меню кнопки Вставить раздела Буфер обмена вкладки Главная Ленты. Эта команда открывает диалоговое окно Специальная вставка (рис. 6 91), в котором есть те же настройки, что и в диалоговом окне связывания и внедрения, описанном выше. По умолчанию связанный объект OLE обновляется автоматически при входе в поле, где он находится. Можно изменить эту установку и задать «ручное* управление обновлением. Делается это с помощью диалогового окна Связи, от- крываемого командой Связи OLE/DDE, которую можно добавить в панель быст- рого доступа. *
228 Глава 6 Работа с таблицами Щелкните ячейку таблицы, куда был вставлен объект, откройте диалоговое окно Связи (рис. 6.92), в котором вы можете сделать следующие настройки: 4 Рис. 6.91 Диалоговое окно Специальная вставка Вставка а док умант содepxmxv буфер* с всзилмк w мпикьжии Объекта при помощи Mtaojof t C4Nc* Wad > ф '•v-.-r x тч-' ГТЧ—< лл. <X* •-» v-'-' <* *** Рис. 6.92 Диалоговое окно Связи В раскрывающемся списке Группа можно выбрать, какие связи отобра- жать OLE или DDE. В списке Связи отображаются имена каждого связанного файла, связанные данные (например, лист электронной таблицы Excel), источник данных и режим обновления. Для изменения связи выделите ее, а затем щелкните нужную кнопку. Переключатель Обновление следует установить в положение автоматиче- ское или по запросу. Кнопка Обновить обновляет связи, выбранные в списке Связи. Если дан- ные в связанном файле были изменены в приложении объекта, то в форме, отчете или таблице будут отображены новые данные. Кнопка Открыть источник позволяет перейти к приложению с загружен- ным документом и изменить его. Кнопка Сменить источник позволяет указать для выбранной связи другой файл приложения объекта или изменить элемент данных.
Вложения 229 Кнопка Разорвать связь позволяет разорвать связь, выбранную с вписке Связи. После этого изменения в связанном файле не будут поступать в базу данных. Отмена этой команды невозможна. Внедренные объекты можно преобразовать в другой тип (например, «Лист Microsoft Excel» в «Диаграмму Microsoft Excel»). Для этого в контекстном меню ячейки поля OLE нужно выбрать команду Объект Тип объекта Преобразовать (или Связанный объект Тип объекта I Преобразовать). Откроется диалоговое окно Преобразование (рис. 6.93), в котором может быть совсем немного вариан- тов преобразования. Если они есть, то выберите подходящий и щелкните ОК. Объект будет преобразовав внутри базы данных или будет преобразовываться всякий раз при его открытии. Рис.6.93 Диалоговое окно Преобразование В диалоговом окне Преобразование можно также установить или отменить вы- вод документа в виде значка. Вложения Поля нового типа данных, который появился в Access 2007 — Вложение — имеют всего два, ничем не примечательных свойства — Подпись и Обязательное поле. Но они позволяют хранить внутри базы данных любые файлы в их «род- ных» форматах, не требуя поддержки серверов OLE, причем в одну запись поля можно поместить сразу несколько вложений различного типа, а объем занимае- мый ими значительно меньше, чем для объектов OLE. Поля вложении можно создавать только в базах данных Access 2007 (.accdb). Поля с типом данных Вложение являются полями с несколькими значениями. Чтобы создать поле вложений в таблице можно использовать как режим кон- структора, так и режим таблицы. Просто создайте новое поле и установите для него тип данных Вложение. В заголовке (ив пустых записях) нового поля поя- вится значок в виде «скрепки» (рис. 6 94 слева). Переименовать это поле в режи- ме таблицы нельзя, но можно задать ему подпись в режиме конструктора (рис. 6.94 справа).
230 Глава 6 Работа с таблицами Рис. 6.94 Создано новое поле с типом данных Вложение (слева), полю была задана подпись в режиме конструктора (справа) Поле вложений можно только удалить 1 Тип донных Вложение задается при создании поля. Этот тип данных нельзя изме- нить или присвоить уже созданному полю. Можно только удалить поле вложении. После того как поле создано, вы можете заполнять его данными, используя для этого специальное диалоговое окно Вложения. Чтобы его открыто, дважды щелкните ячейку таблицы (другого объекта базы данных) или выберите в ее контекстном меню команду Управление вложениями (другие команды мея ю будут недоступны, рис. 6.95 вверху). Рис. 6.95 Откройте диалоговое окно Вложения и задайте с его помощью содержание поля Щелкните кнопку Добавить (рис. 6.95 внизу), чтобы открыть диалоговое окно Выберите файл, в котором вы сможете найти и выделить файл, а затем, щелкнув кнопку Открыть, поместить его в список вложений (рис. 6-96). Анало- гичным образом вы можете добавить столько вложений» сколько вам нужно.
Вложения 231 Рис. 6.96 В поле таблицы будет добавлено вложение — звуковой файл (.mp3) Размер вложений В полях вложений можно разместить до 2 Гбайт данных, один файл вложения не должен иметь размер больше 256 Мбайт. При сохранении вложений Access ис- пользует сжатие файлов. Когда добавление будет закончено, щелкните в диалоговом окне Вложения кнопку ОК, чтобы упаковать файлы в поле таблицы. Так как при занесении фай- лов в таблицу используется их сжатие» то этот процесс может занять определен- ное время. В таблице 6.3 перечислены некоторые форматы файлов, которые сжимаются (или нет) при упаковке в поле таблицы Access. Таблица 6.4 Сжатие файлов вложений Расширение файла Сжатие Замечание -Ipg, -ipee Нет Сжатый формат файла .gif Нет Сжатый формат файла .png Нет Сжатый формат файла .tlf, .tiff Да • •exit Да .bmp Да 1 .emf Да .wmf Да .zip Нет Сжатый формат файла .cab Нет Сжатый формат файла .docx Нет Сжатый формат файла -xlsx Нет Сжатый формат файла .xlsb Нет Сжатый формат файла .pptx Нет Сжатый формат файла
232 Глава 6 Работа с таблицами Запрещено по соображениям безопасности! Некоторые файлы по соображениям безопасности запрещено помещать в поле вложений базы данных {изменить эти настройки нельзя). Вот список форматов этих файлов: .ade; .Ins; .mda; .scr; .adp; .Isp; .mdb; .set; .app; .its; .mde; .shb; .asp; Js; .mdt; .shs; .has; .jse; .mdw; .tmp; .bat; .ksh; .mdz; .url; .cer, .ink; .msc; .vb; .cbm; .mad; .msi; .vbe; .cmd; .mat; .msp, .vbs; .com; .mag; .mst; .vsmacros; .epi; .mam; .ops; .vss; .erf; .moq; .ped; .vst; .csh; .mar; .pit: .vsw; .exe; .mas; .prf; .ws; .fxp; .mat; .prg; .wsc; .hip; .mau; .pst; .wsf; .hta; .mav; .rep; .wsh; Jnf; .maw и ,scf. Нетрудно заметить, что это программы и исполняемые файлы, ко- торые потенциально могут содержать вредоносное содержание и которые сложно отнести к «хранилищам» информации. В записи таблицы вложение отображается как значок «скрепки » с указан' ным рядом (в скобках) количеством файлов. В полях форм и отчетов вложения представляются значками файлов (в соответствии с зарегистрированными для них программами) или миниатюрами изображений (форматы .bmp; .rle; .dib; .gif; -jpeg; .jpg; .jpe; .exif; .png; .tiff; .tif; .icon; .ico; .wmf и .emf), рядом с которы- ми отображается малая полупрозрачная панель инструментов с тремя кнопка- ми (рис. 6.97 вверху): Переход к предыдущему вложению, Переход к следующе- му вложению и Открыть окно Вложения (слева направо). Рис. 6.97 Малая панель инструментов поля вложений (вверху) появляется около поля вложения Вложения Диалоговое окно Вложения, которое открывается для каждой записи поля в любом объекте базы данных, позволяет управлять содержащимися в ней фай- лами (рис. 6.98): Рис. 6 98 Диалоговое окно Вложения используется для управления вложениями список Вложения (открытие — двойной щелчок) отображает все файл ы, которые хранятся в данной записи; кнопка Добавить используется для добавления нового объекта к записи;
Печать макета базы данных и характеристик таблиц 233 кнопка Удалить удаляет выделенный файл вложения из списка (из поля файл удаляется после щелчка кнопки ОК, щелкните Отмена, если вы оши- бочно удалили файл из списка); кнопка Открыть открывает файл выделенного вложения в программе, в ко- торой он был создан; Редактирование вложений ।~ ~ ~ Вы можете редактировать файл вложения, если программа, в которой он был соз- дан, установлена в вашем компьютере. После закрытия программы отредактиро- ванный файл будет записан во временный файл на жестком диске, но не в ту папку, откуда он был когда-то скопирован в базу данных. При закрытии окна Вложение кнопкой ок появится запрос Access 2007 о сохранения файла вложения в базе данных (рис. 6.99). Щелкните Да, если это нужно сделать. Рис. 6.99 Щелкните ОК» чтобы сохранить вложение в базе данных кнопка Сохранить как позволяет записать выделенный файл в указанную вами папку; кнопка Сохранить все сохраняет все файлы вложений в папку; кнопка ОК закрывает окно с сохранением сделанных изменений, а Отме- на — без сохранения изменений. Из отчета вы можете только открывать файлы вложений и сохранять их в папку. Изменение типа данных поля Переход к источнику: проект электронной библиотеки Но основе изложенного в двух расположенных выше разделах, целесообразно из- менить тип поля Переход к источнику таблицы Данные документов с Лоле объек- та OLE на Вложение. Этот тип поля надежнее сохраняет данные, а также занима- ет меньше места в файле электронной библиотеки. Кроме того, он допускает удоб- ную работу с большим количеством форматов файлов. Вам необходимо просто удалить поле Переход к источнику, а потом создать новое поле с таким же именем и типом данных Вложение. Печать макета базы данных и характеристик таблиц Иногда вам может понадобиться распечатать не данные из базы, а схему Разы данных и свойства созданных в ней таблиц. Особенно часто, на этапе разработки
234 Глава 6 Работа с таблицами и тестирования новой базы данных, это бывает не лишним. Печать схемы дан- ных и характеристик таблиц можно осуществить с помощью специальных отче- тов, которые автоматически формируются для схемы данных и таблиц. Эти от- четы могут храниться в базе данных наравне с другими объектами. Для печати схемы данных: 1. Откройте окно Схема данных, щелкнув кнопку Схема данных в разделе Показать и скрыть вкладки Работа с базой данных Ленты. 2. Вместе со схемой данных откроется вкладка Конструктор (Работа со свя- зями) Ленты. 3. В разделе Сервис вкладки Конструктор (Работа со связями) Ленты щелк- ните кнопку Отчет по схеме данных. 4. В рабочей области появится отчет Связи для Имя базы данных, открытый в режиме предварительного просмотра. 5. На вкладке Предварительный просмотр Ленты настройте параметры пе- чатной страницы и щелкните кнопку Печать, чтобы распечатать отчет (рис. 6.100). Рис. 6.100 Распечатайте и сохраните отчет Связи для Электронная библиотека 2007 6. Отчет Связи для Имя базы данных можно сохранить как объект базы дан- ных при его закрытии или из контекстного меню. Для печати свойств таблиц базы данных сделайте следующее: 1. В разделе Анализ вкладки Работа с базой данных Ленты щелкните кноп- ку Архивариус 2 Появится диалоговое окно Архивариус, в котором перейд ите на вкладку Таблицы (рис. 6.101).
Анализ таблиц: проект электронной библиотеки 235 Рис. 6.101 Диалоговое окно Архивариус Печать свойств других объектов базы данных Вы можете распечатать свойства любого объекта базы данных, выбрав соответст- вующую вкладку и выделив его в списке. Можно, например, распечатать отдельно свойства текущей базы данных и установленные в ней связи между таблицами. Этот выбор дает вкладка Текущая база данных. Для отображения полного списка выберите вкладку Все объекты. 3. Отметьте флажками таблицы» характеристики которых требуется про- смотреть или вывести на печать. 4. Щелкните кнопку Параметры, если хотите конкретно указать характери- стики таблиц, которые следует распечатать. 5. Щелкните кнопку ОК для создания отчета, содержащего описания объектов. 6. Отчет Описание объектов появится в рабочем окне в режиме предвари- тельного просмотра (рис. 6.102). Рекомендуется проверить перед печатью объем описаний» так как некоторые из них, особенно для формы или Отче- та, могут состоять из многих страниц. 7. Щелкните кнопку Печать на вкладке Предварительный просмотр Ленты. Печать описания объектов Описания таблиц можно вывести в файл HTML, текстовые файлы RTF и TXT, файл снимка отчета и др. Для этого в контекстном меню отчета выберите одну из команд каскадного меню Экспорт, настройте параметры экспорта и отправьте отчет в одну из программ, в которой его можно будет сохранить, а затем распечатать, j Анализ таблиц: проект электронной библиотеки Работа с построением таблиц электронной библиотеки практически заверше- на. Но прежде чем переходить к рассмотрению и созданию других объектов базы данных, можно воспользоваться средствами анализа программы Access, кото- рые помогут оценить созданную структуру, выявить в ней изъяны и, при необ- ходимости дадут советы по их устранению Не стоит отвергать предложение ♦бескорыстно© проверить вашу работу!
236 Глава 6 Работа с таблицами Рис. 6.102. Отчет Описание объектов Автозамена имен полей В базах данных Access имеется возможность автоматического устранения не- поладок, возникающих при переименовании таблиц* запросов, форм, отчетов, полей, текстовых полей и элементов управления. Например, если вы изменили имя поля, которое участвует в связях, используется в запросах, отчетах, формах и т.д., то без его исправления в связанных объектах они просто перестали бы правильно работать, так как «не нашли» бы этого поля. Но Access следит за та- кими заменами и автоматически вносит исправления во все связанные объекты. Средство автозамены программы настраивается в диалоговом окне Парамет- ры Access (кнопка Параметры Access меню кнопки «Office»). В секции Пара- метры автозамены имен раздела Текущая база данных есть три параметре (рис. 6.103), которые включаются установкой около них флажков (по умолча- нию для вновь создаваемой базы данных включены первые два из н их): Параметр отслеживать замену имен. Если установить этот флажок, Access просто следит за изменением имен в базе данных. Ошибки, вызван- ные переименованием полей, не исправляются. Сведения об изменениях хранятся в полях имен. Там же хранятся сведения о зависимостях объек- тов. Если затем установить флажок для следующего параметра, сохраняе- мые сведения будут использованы для устранения ошибок. • Параметр выполнять автозамену имен. Включение этого параметра оз- начает не только отслеживание замены, но и автоматическое исправлен ие ошибок, вызванных переименованием-
Анализ таблиц: проект электронной библиотеки 237 Рис. 6.103 Раздел Текущая база данных диалогового окна Параметры Access Параметр журнал изменений автозамены имен. Этот параметр включа- ет ведение журнала отслеживания исправлений, которые производятся ав- тозаменой. Access сохраняет журнал в таблице Журнал автозамены имен текущей базы данных. Автозамена работает не для всех объектов, что вполне обосновано. Напри- мер, она не работает для ярлыков на рабочем столе, открывающих определен- ный объект базы данных, на связанных объектах и т.п. Более подробные сведе- ния об этом вы можете найти в справочной системе Access. Мастер анализа таблиц В одном или нескольких полях таблицы могут содержаться повторяющиеся данные. Мастер анализа таблиц может рассмотреть их структуру и выявить та- кие случаи. Он предложит разделить одну таблицу, содержащую повторяющие- ся данные, на новые отдельные, но связанные таблицы, в которых каждый тип данных представлен только один раз. После этого база данных станет более эф- фективной и простой для обновления, ее размер уменьшится. Этот процесс (нор- мализация таблиц) обеспечивает повышение эффективности хранения и ис- пользования данных. После разделения данных мастером можно по-прежнему просматривать данные и работать с ними в одном месте, создав с помощью мастера запрос. Он позволит одновременно обновлять данные более чем в одной таблице. Чтобы запустить процедуру анализа таблиц: 1. В разделе Анализ вкладки Работа с базами данных Ленты щелкните кнопку Анализ таблицы, чтобы запустить мастер анализа таблиц. 2, Первые два окна мастера носят информационный характер и знакомят пользователей с постановкой задачи анализа таблиц. Внимательно прочи- тайте их содержание и щелкните кнопку Далее.
i 238 Глава 6. Работа с таблицами 3. В третьем диалоговом окне вам необходимо указать таблицу, которую мас- теру следует проанализировать (рис. 6.104). Затем, вернувшись назад, вы сможете проанализировать все свои таблицы. А пока, выберите, напри- мер, самую большую и щелкните кнопку Далее. Рис. 8.104 Выделите таблицу, которую следует проанализировать 4. В следующем окне мастера нужно ответить на вопрос ♦Доверяете ли вы мастеру провести разделение полей по таблицам?», установив переключа- тель в одно из положений: Да, разделение полей выполняется мастером или Нет, разделение проводится вручную. Щелкните кнопку Далее. 5. Если вы доверили работу мастеру, и он нашел повторяющиеся данные, то появится диалоговое окно с вариантом разделения таблиц (рис. 6.105). В этом окне вы можете отклонить или изменить предложенный вариант. Если вы хотели разделить таблицу вручную, то также перейдете к этому окну. 6. В диалоговом окне мастера анализа таблиц (см. рис. 6.105) вы можете вы- полнять следующие действия: выделить в таблице поле и перетащить его в другую таблицу ил и «нару- жу» для создания новой таблицы; задать для новых таблиц свои имена, выделив таблицу и щелкнув кноп- ку Переименовать таблицу (или щелкнув дважды заголовок таблицы); отменить произведенное действие с помощью кнопки Отмена; получить подсказки с помощью кнопки Советы (на ней изображена «электрическая лампочка»).
Анализ таблиц: проект электронной библиотеки 239 .1, ....... > I I II I R. - —......- AWWWJ % ли нет, пчретжммтя поля споиощмо деды в подходящие по омелу трупы. Какие имена следует присвоить новых таблицы? Кж правило. имя тябгмаи умывает не «рвнмдйеав в йй данные- Таблица Год издания ID издательства Переход к иоточнгку Гиперссылке источни» ID языке Количество страниц Количество рисунков Количество ссылок Твердея копия Комментарий Пабе те ноем Тебгиц» ш — I' ГвВЛгЦЯ^ | 9 Уникальный код IАв юрское прево 0 Анализ таблиц Обкфужены поля с поггарйшммся ****** Предлагается перенести эти поля в новые таб/миы где каждое внмние будет храниться тодес одйн раз. Л Если кдкая-гибо таблица содержит поля. в которых вояюжяо повторение данных, перетащите зги поля с .юношыо мним в другую или в новую таблицу. 2. Убедитесь, что каждая таблиц* содержит данные об одном , редмете Есла честь полем в какой-либо на таблиц относигея К друпжу предмету, перетащите такие поля с помощью мыши « другую или в новую таблицу. Эч Пер&ыенуйте предложенные таблицы после подтверждения их структуры. Выделите таблицу и нажмите химку *Перемненомп> таблицу’ либо дважды щелкните ее заголовок Название таб лк** должно описывать ее дамье Рис. 6.105 Мастер предлагает вариант разделения таблиц, в которых имеются повторяющиеся данные Найдена ошибка! Воспользуйтесь этой кнопкой, чтобы понять, что предлагает мастер в данном кон- кретном случае (см. рис. 6.105). Действительно, при планировании базы данных была допущена неточность В поле Авторское право (тип данных Текстовый) мо- гут содержаться повторяющиеся значения. Документами, входящими в электрон- ную библиотеку, может владеть ограниченное число лиц: авторы, издатели или лица, которым эти права были переданы В зависимости от того, каким образом эти данные будут использоваться в электронной библиотеке, нужно принять решение об исправлении этой ошибки. Можно просто удалить поле Авторское право, а можно согласиться с мастером анализа таблиц, добавить новую таблицу Владель- цы и ввести в нее данные о владельцах, например: Авторы, Издатель, Неиз- вестно и тд. Выбираем второй вариант! Следуя ему, можно сделать исправления вручную, а можно доверить всю работу мастеру. Выбор за вами (в примере, кото- рый мы будем рассматривать дальше, изменения сделаны вручную). Имейте в виду, что вместе с полями таблиц вам придется, скорее всего, исправлять и проверочные данные, которые в них были внесены.
240 Глава 6. Работа с таблицами 7. Щелкните кнопку Далее. Если мастер найдет другие ошибки, например, некорректно заданное ключевое поле, похожие записи или опечатки, то отобразит соответствующие диалоговые окна, в которых вам нужно будет сделать исправления, принять или отклонить его предложения. 8. В последнем диалоговом окне мастера, необходимо указать следует ли соз- давать запрос, переименовав исходную таблицу, а также стоит ли выво- дить справку по работе с новой таблицей и запросом. Прими*! е решение и щелкните кнопку Готово для завершения работы мастера и внесения всех изменений. Щелкните кнопку Назад, чтобы вернутся к предыдущим окнам, или кнопку Отмена, чтобы не вносить никаких изменений и пре- кратить работу мастера. Мастер анализа таблиц может применяться на любом этапе работы с базой данных. Он не испортит ее работоспособность, даже если она содержит большое количество данных. Именно поэтому он и предлагает создать запрос. Формы, за- просы и отчеты, ранее основывавшиеся на исходной таблице, будут автоматиче- ски основываться на этом запросе, поскольку мастер назначает имя исходной таблицы запросу, а таблицу переименовывает (например, в Таблицу!), Сущест- вующие формы и отчеты, основанные на запросе, наследуют также автоматические обновления полей, а новые формы и отчеты — списки подстановок. Анализ быстродействия Анализатор быстродействия не оценивает ваш компьютер, установленную на нем операционную систему или программу Access. Его работа направлена на оп- тимизацию быстродействия созданной вами базы данных. Анализатор быстродействия выдает три типа рекомендаций по опти мизации производительности: Советы (значок — «восклицательный знак*). Рекомендации этого типа со- держат конкретные варианты исправлений, например, добавление индекса в определенное поле таблицы. Предложения (значок — «вопросительный знак»). Они, как правило, под- разумевают определенные компромиссы, которые следует иметь в виду, приступая к оптимизации. В нижней части окна анализатора дается ин- формация, позволяющая пользователю принять правильное решение по предложению. Мысли (значок — «электрическая лампочка»). Обычно у анализатора нет предложений по данным рекомендациям. Например, он обнаружил, что таблица не связана с другими таблицами базы. С какой таблицей и с помо- щью каких полей установить связь, может решить только разработчик базы данных, а анализатор указывает только на сам факт отсутствия свя- зей. Анализатор быстродействия Access может автоматически реализовать реко- мендации типа совет и предложение. Рекомендации типа мысль должны выпол- няться разработчиком вручную из окна базы данных. Для того чтобы проанализировать быстродействие создаваемой вами базы данных:
Анализ таблиц£проект электронной библиотеки 241 1. Щелкните кнопку Анализатор быстродействия в разделе Анализ вклад- ки Работа с базами данных Ленты. На экране появится диалоговое окно Анализ быстродействия (рис. 6.106). Рис. 6.106 Диалоговое окно Анализ быстродействия 2. Перейдите на вкладку, соответствующую типу объекта базы данных, ко- торый нужно оптимизировать. Для просмотра списка всех объектов базы данных выберите вкладку Все типы объектов. 3. Установите флажки около имен оптимизируемых объектов базы данных. Чтобы выбрать все объекты из списка, щелкните кнопку Выделить все. 4. Щелкните кнопку ОК. После определенной задержки, связанной с рабо- той анализатора, на экране появится окно, содержащее его рекомендации (рис. 6.107). Рис. 6.107 Предложения анализатора быстродействия по всем объектам файла проекта электронной библиотеки Изменение типа данных в поле Год издания: проект электронной библиотеки Анализатор быстродействия не нашел существенных проблем в проекте электрон- ной библиотеки. Единственная мысль, которая должно привлечь наше внимание на данном этапе — «Изменение типа данных в поле Год издания таблицы Данные до* кументов с Текстового на Числовой (длинное целое)». Очевидно, что следует к нему прислушаться, и заменить тип данных в поле таблицы, К потере данных это, скорее всего, не приведет.
242 Глава 6. Работа с таблицами б. Выделите одну или несколько предлагаемых рекомендаций типа совет или предложение (чтобы выполнить все рекомендации типа совет и пред- ложение» щелкните кнопку Выделить все) и щелкните кнопку Оптимизи- ровать, После внесения изменений» выбранные рекомендации будут отме- чены значком исправления (синяя «галочка*). в. Чтобы выполнить рекомендации типа мысль, выберите рекомендацию и следуйте инструкциям в области Примечания. Анализатор быстродействия также может применяться на любом этапе рабо- ты с базой данных. После создания новых объектов базы данных, особенно за- просов, к его помощи стоит прибегнуть снова. Ну, а пока, хорошие новости: ана- лизатор быстродействия не нашел ошибок в структуре базы данных создаваемой электронной библиотеки! В результате анализа проекта базы данных электронной библиотеки (см. рис. 2. 14), проведенного в этой главе, он был подвергнут модернизации. Теперь схема данных выглядит немного иначе (рис. 6.108). V ID тыка ЙЭЫК f ID документа 9 ID автора Позиция автора И ¥ ID документа Дата Название Ютнпа Год издания Ю изшгельства Переход к источнику Переход к источнмку.ГНеОвм Переход к мсточкику-FlwName переход к источмщуТИеТуре Гиперссылка источника ГО редактора ГО редактора Value ID языка Количество страниц Количество оисунков Количество ссылок Таердм копня Комментарий ID владельца Комментарий 9 10 автора Инициалы Фамилия Имя Отчество 9 1D организации Название Комментарий Вяал^льць» 9 Код Авторское право V 1D редактора Инициалы Фамилия Имя Отчество Комментарий Р Рис. 6.108 Измененная схема данных проекта электронной библиотеки
Глава 7 Запросы Запросы используются для представления, просмотра и изменения данных самыми различными способами. Можно считать, что запрос — это просто во- прос, который вы задаете базе данных. Сколько вопросов, столько и ответов. За- прос должен «уметь* формализовать любой правомерный вопрос к данным, хра- нящимся в базе. Наравне с таблицами (чаще даже вместо них), запросы исполь- зуются в качестве основы для построения форм, отчетов, списков и т.д. Запрос можно сохранять. Как только вы откроете уже созданный и сохраненный в базе данных запрос, он тут же будет выполнен, а результаты будут представлены в виде таблицы. Режимы запроса г — I - — —- — — — Есть два основных режима представления запросов: режим таблицы, в котором по- лученные в результате выполнения запроса данные отображаются в виде таблицы, и режим конструктора (внешне напоминающий уже знакомый вам расширенный фильтр), позволяющий создавать и редактировать структуру запроса. Еще один режим {режим SQL) позволяет записывать или редактировать запрос (если он уже существует} на языке программирования реляционных баз данных. Можно ска- зать, что режим конструктора позволяет «составлять» запрос SQL с помощью инте- рактивных инструментов и параметров, а режим SQL — непосредственно. Кроме этого имеются режимы сводной таблицы и сводной диаграммы. Сводные таблицы и диаграммы, которые используются обычно для анализа отобранных в результате запроса данных, подробно описаны в главе 11 «Сводные таблицы и диаграммы». Переключение режимов запроса J Из области переходов двойным щелчком запрос открывается в режиме таблицы, а с помощью контекстного меню — в режиме таблицы и в режиме конструктора. Мож- —= но переключать режимы открытого запроса с помощью контекстного меню его яр- лыка или меню кнопки Вид, которая находится на вкладке Главная Ленты (рис. 7-1). Но гораздо проще воспользоваться кнопками режимов, которые нахо- дятся в правой части стрбки состояния.
244 Глава 7. Запросы Рис. 7.1 Команды переключения режимов запроса Г/IWHK АГМ1 * * 1 ги Закрыть «<г SQL EraMSQI foHPmuw .ну PtXHbSQl tJfxxM таблицы Сводная таблица Свод мая диаграмма Ааымеып Соасрккит» Jax рыть Л Л ж- * Режим таблицы запроса В режиме таблицы можно накладывать фильтры и сортировку (см. соответствую- 1 щие разделы главы 6 «Работа с таблицами»). Они принадлежат таблице запроса и могут сохраняться вместе с запросом. Во избежание ошибок интерпретации дан- ных обращайте внимание на фильтрацию и сортировку полей таблицы запроса при его открытии! В предыдущей главе уже были рассмотрены фильтры. С фильтром работают непосредственно в одной открытой таблице» заполненной данными. По сравне- нию с фильтром запрос: можно сохранять и использовать многократно; он может включать поля более чем из одного объекта базы данных (таблиц или других запросов); он может включать только отдельные поля объектов, на которых он построен; он позволяет не только просматривать таблицы, но также модифицировать данные в них (добавлять, удалять, объединять в полях и записях). Типы запросов % Любой запрос, существующий в базе данных Access, относится к одному из следующих типов: запросы на выборку; запросы с параметрами; перекрестные запросы; запросы на изменение (обновление, объединение, создание, добавление, удаление); запросы управления. Запрос любого типа можно создать в режиме конструктора запросов, начиная с пустого бланка. На Ленте перейдите на вкладку Создание. Справа, в разделе Другие, щелкните кнопку Конструктор запросов. Откроются пустой бланк за- проса (режим конструктора), диалоговое окно Добавление таблицы и вкладка
Типы запросов 245 Конструктор (Работа с запросами) Ленты (рис. 7.2). Вкладка Конструктор (Ра- бота с запросами) содержит элементы управления для создания запросов. А диалоговое окно Добавление таблицы предоставляет пользователю возмож- ность выбрать таблицы (и запросы)» на которых будет основан создаваемый за- прос. Рис. 7.2 Средства для создания запроса любого типа: вкладка Конструктор (Работа с запросами) Ленты, пустой бланк запроса и диалоговое окно Добавление таблицы ВМА Вмгголи ЧЦл QD V ваамта гголацы S/F О 0 ST удалит* с?мбць» »! Я таблицу Й? Вомрат: Все Страниц* ооиста Итоги . Т>] Параметры Айторы Владельцы Данные документея ИМатслктм Карточка Оргциимцим Редакторы Типы документе* Язык Ончутм А Таблицы Авторы документом Сажтм для Эяектрон Авторы документов Владельцы i Издательства Карточка Органнэации РАДактирь! Ммятятимж Седтярр^а. |мвдммдо Урлряае rreopfc илм; Окно Добавление таблицы Так как после открытия пустого окна конструктора в запросе не существует ни од- ной добавленной таблицы, окно Добавление таблицы будет «навязывать вам свои услуги». Закроите его кнопкой Закрыть, чтобы можно было обратиться к другим инструментам. Окно Добавление таблицы можно в любой момент вер- нуть но экран из контекстного меню верхней части рабочей области запроса (коман- да Добавить таблицу) или с помощью кнопки Отобразить таблицу Ленты. Список всех типов запросов (в виде кнопок) вы можете увидеть на вкладке Конструктор (Работа с запросами) Ленты» в разделе Тип запроса (рис. 7.3). Щелкните любую из этих кнопок, чтобы подготовить бланк конструктора и ин- струменты Ленты к созданию запроса нужного типа.
246 Глава 7. Запросы Рис. 7.3 Запросы этих типов можно создавать в базе данных Access Создание перекрестного запроса, который выполняет сведение данных по двум наборам значений, один из которых отображается в левей части таблицы, в другой - ® верхней ее части, Создание запроса, который выполняет отбор записей из базы данных и лядазддагж I ... >..111 ! .1 ^М^М-^И.ИИ^Г 1 II. I Тип запросе обновление . Создание запроса, который обновляет I * ъшдоппъ мигни Г данное в сэлдаокдощей таблице. > ? 1* V -j ' 1 Создание запросе, который выполняет____ отбор записей из базы данных и сохраняет зека Тип запроса: добавление Созданий запроса, которой добавляет Е данные « существующую таблицу, Г- Ш^ -ЖИ - 1№--' Ы. 1 . -В. > - ' Тип запроса: удаление Создание запроса, который удаляет данные, соответсгаующие указанным Вторым способом подготовки запросов в программе (для некоторых типов за- просов, безусловно, более простым) является использование мастера запросов. Для его запуска нужно щелкнуть кнопку Мастер запросов в разделе Другие вкладки Создание Ленты. Мастер позволяет создать только некоторые типы за- просов, которые перечислены в его первом диалоговом окне (рис. 7.4). Рис. 7.4 Типы запросов, которые позволяет создавать мастер Чтобы разобраться во всех этих вариантах, рассмотрим типы запросов в ба- зах данных Access более подробно. Начнем с запроса на выборку и его разновидностей. Запросы на выборку и его разновидности Запросы на выборку составляют большую часть запросов, имеющихся в лю- бой базе данных. Этот тип запроса можно назвать «расширенным фильтром по всем данным базы». Запросы на выборку создают новые, удобные для пользова- теля «таблицы », данные в которых обновляются при любом вызове запроса. До- полнительно эти запросы позволяют группировать записи, вычислять суммы, средние значения, подсчитывать количество записей, а также находить дру] ие типы итоговых значений.
Типы запросов 247 На рис. 7.5 приведен пример простого запроса на выборку. Он отбирает авто- ров документов из таблицы Авторы, фамилии которых начинаются с буквы «М». А также показывает» какую позицию в списке авторов каждого документа они занимают (для справки выведены также номера документов). Эти данные выбираются из таблицы Авторы документов. Все данные отсортированы по номеру позиции автора и по номеру документа по возрастанию значений. Рис. 7.5 Запрос на выборку представляет авторов, фамилии которых начинаются с буквы «М», и их позиции в авторском списке документа Частными случаями запросов на выборку являются запрос на поиск повто- ряющихся записей и запрос на поиск записей без подчиненных (то есть таких, которым не соответствует ни одна запись в подчиненной таблице). В Access эти два частных запроса на выборку могут быть созданы с помощью мастера, кото- рый автоматически записывает для них условия отбора записей. На рис. 7.6 по- казан один из таких запросов, отвечающий на вопрос «Каким редакторам, зане- сенным в таблицу Редакторы, не принадлежит ни одного документа в таблице Данные документов?*. Рис.7.6 Запрос на поиск записей без подчиненных 'Ю.Ю> Смцрнов _____________ м ЯЛ_______Югов_________ Ж Л~_____Кобзева______ «Лишние» данные Запросы на поиск записей без подчиненных можно использовать для поиска «лиш- них» данных. А затем удалить эти данные. Действительно, зачем нужно хранить сведения о редакторах или авторах, у которых нет ни одного документа в элек- тронной библиотеке? При установленном свойстве каскадного удаления записей по связи между таблицами Редакторы и Данные документов (или Авторы и Авто- ры документов) в этих запросах не должно быть ни одной строки. Как только мы удалим документ, по свойству связи будут удалены и его редакторы или авторы (если они не редактировали или не написали другие документы). Но пока база электронной библиотеки заполнена проверочными данными (в определенной мере взятыми «с потолка»), могут встретиться и записи без подчиненных в этих таб- лицах, которые вы сможете найти и удалить- Запросы с параметрами Запросы с параметрами отличаются тем, что при их выполнении выводятся диалоговые окна с приглашением ввести параметры для условий на отбор запи сей (или значения, которые требуется вставить в поля). Вводимых параметров
248 Глава?. Запросы в одном запросе может быть несколько. С помощью двух значений можно зада- вать» например» интервалы времени или дат, диапазоны цен и т.д. На рис. 7.7 показан запрос на выборку авторов (см. рис. 7.5), начальные бук- вы фамилий которых задаются как параметры перед выполнением запроса. Если задать интервал от «Е» до «К», то он будет выглядеть именно так. Рис. 7.7 Запрос с параметрами . ' 1 Л! Дхл * и v waMwjMH * ШЗИ41 И Ф. Копылов 1 AM Кудрявцев 1 13 AM Кудрявцев 1 16 ЮА Зажигалкин 1 40 И С Копылов 2 10 И П Куликов 2 11 А М Кудрявцев 2 12 Л М Кудрявцева 2 16 B.E Комелев 2 40 В А Желеэов 2 42 Ю А Зажнгалкин 2 43 И.П Куликов 3 16 В.Е комелев 3 39 ИМ Егоров 4 14 k Н К Карамышев - 5 10 Перекрестные запросы Перекрестные запросы специально предназначены для представления дан- ных в удобном для анализа виде и проведения расчетов. Здесь можно подсчиты- вать сумму, находить максимальные, минимальные и средние значения, число значений и др. Результаты группируются в виде таблицы по двум наборам дан- ных (созданным из полей таблиц). Один из наборов задает заголовки столбцов, а другой — заголовки строк таблицы запроса. Для упрощения создания таких запросов в Access имеется мастер. На рис. 7.8 показан перекрестный запрос, который отвечает на вопрос ♦Сколько документов и сколько страниц написал каждый автор?». Запросы на изменение Из самого названия этого типа запросов можно догадаться, что они предна- значены для редактирования записей в таблицах. Запустив запрос на измене- ние, можно переместить, удалить» обновить» добавить одну или несколько запи- сей, можно даже создать новую таблицу. Запросы на изменение могут быть че- тырех видов: на удаление записи, на обновление записи, ня добавление записи и на создание таблицы: Запрос на удаление записи. С его помощью можно удалять только всю за- пись, а не отдельные ее поля. Запрос на удаление удаляет группу записей из одной или нескольких таблиц в соответствии с установленными условиями отбора. Например, можно удалить записи с пустыми полями или записи до- кументов определенного автора. Применять этот запрос нужно осторожно, так как отменить сделанные им изменения невозможно.
Типы запросов 249 , *-1 1 Т AffiF * — Л 11 ♦ * ’<1 ** • о» ♦ Si. -* га ' 2_j._ »»__»<‘ и* Агмшнна |ДВ 257 262 г г Лменян ВВ 1<0в 3S2- 234 -J и Л1Г Берппое >В. 537 ончарсжий[МН <34 434 .7 .. Грвфиноаа jflfl 771 — 211 441 • 112 гулям <353 434 44Ж • •11 Давыдов | ГЛ ВУ1 211 480, Данилов fa.C 154 154 Проводи [PM Вой В58 Дупоюоы |Г А 211 211 - г ftfropoe «М гл 211 Желыое ВЛ 101 Зажигалкин- ЮЛ 814 •88 ..-..I Кадеммыааев^НК 434i 434 ’«□мелев ”|ВЕ 507 в— •* —i--- 112 *42$ •V* 1 М | ; Копыле» КФ. 1«*2 -М 628] Кудрявцев Д-М 6?8 •1S 17> Кудрявцева' М 174? 1 купмдо II л 1037 858 171 Нарусов 183 . .. м». :«?« ~жт г”' 711 Морозова Г. Ж L Vfi Петров ММ, 300 W0 Пойсва ПЛ. 392 ... -... г ' «2 ,г,|- ‘-ТГГ- г Ровевм Jwn 5*2 333 171 'Рудаков юза 734! 434 ... v" г Седов Р-С, J8§t 188 1 •тигоа ас ио 11» Уюнее мл И5, 115 Федмвнкс. |LE <80 - • I -хаеипов СВ ’ J-X j L . .«1 ..L Черныввя । Н 1673 828 пз 71? ***жоц .ИЛ_ J W Н - _-Г 4 J . 1. .. 1М • 111 d । Загчшг -и « 33 ш 33 и * Поив , i • • • • : > Л < ч - о iji. S..L2 .г & ? ; : Л *. Рис. 7.8 Перекрестный запрос, показывающий, сколько всего страниц и сколько страниц в отдельных документах написал каждый автор Запрос на обновление записи. Запрос на обновление вносит изменения в группу записей одной или нескольких таблиц. С его помощью можно, на- пример, к названию документа добавить слово «(книга)», если количество страниц в документе превышает 200. Еще один часто используемый при- мер — это повышение цен на товары (или, наоборот уменьшение) на опреде- ленное количество процентов. Запрос на добавление записи. Запрос на добавление добавляет группу запи- сей из одной или нескольких таблиц в конец одной или нескольких таблиц. Например, если нужно создать общую таблицу из фамилий авторов и ре- дакторов, сначала создайте таблицу Список фамилий* а затем с помощью запроса на добавление записей заполните ее поля из таблиц Авторы и Ре- дакторы. Запрос на создание таблицы. При выполнении запроса на создание табли- цы новая таблица строится на основе всех или части данных из одной или нескольких таблиц базы. Этот запрос удобно применять для создания таб- лицы для экспорта данных или при создании архивной таблицы, содержа- щей «старые» записи. Запросы SQL Инструкцию на языке SQL записываются в Access автоматически для любо- го, создаваемого пользователем запроса. При необходимости пользователь име- ет возможность просматривать и редактировать инструкции SQL.,
250 Глава 7. Запросы Если открыть любой запрос, а затем перейти в режим SQL (из меню кнопки Режим раздела Представление вкладки Главная Ленты, или из контекстного меню запроса, команда Режим SQL), можно увидеть соответствующую ему ин- струкцию. На рис. 7.9 показан запрос на поиск записей без подчиненных (см. рис. 7.6), открытый в режиме SQL. Рис. 7.9 Режим SQL запроса на поиск записей без подчиненный SELECT Редакторы.Инициалы, Редакторы Фамилия FROM Редакторы LEFT JOIN [Данные документов) ON Редакторы PD редактора) = (Данные документов] ро ред «аира] Value WHERE ((([Данные документов] [ID редактора] Value) Is Null)); Режим SQL — это просто окно ввода текста. Отображенный в нем запрос со- стоит чаще всего из одной, но довольно сложной инструкции, построенной на операторе SELECT. С помощью клавиатуры и контекстного меню, содержащего только операции копирования, можно вносить изменения в запрос в режиме SQL. После внесения изменении вид запроса в режимах конструктора и табли- цы, так же как и его работа, может существенно измениться. Некоторые запросы невозможно создать в режиме конструктора запроса Access. Они называются запросами SQL. Это запросы к серверу, управляющие запросы и запросы на объединение. Для них инструкции SQL создаются непо- средственно в режиме SQL (режима конструктора для них не предусмотрено). На рис. 7.10 показана область переходов со списком запросов различного типа, примеры которых были приведены выше. Несложно заметить, что запро- сы различного типа имеют разные значки. Запросы на изменение также отлича- ются значками в соответствии с видом запроса, но всех их объединяет наличие в значке изображения восклицательного знака, предупреждающего пользователя об ответственности их выполнения. Рис. 7.10 Значки запросов указывают на их тип и вид Авторы наМ* ЙР Редакторы без документов ♦! Добавление Sf Обновление Й! Создание таблицы х! Удаление С Авторы/страницы Мастер создания запросов Создавать запросы можно или с помощью мастера, или в режиме конструкто- ра. Можно также импортировать запросы из других баз данных и копировать из запроса текущей базы данных. Импортированные и скопированные запросы можно затем изменит ь в режиме конструктора (или в режиме SQL). Мастер запросов позволяет создавать четыре различных варианта запросов (см. рис. 7.4): Простои запрос (запрос на выборку), Перекрестный запрос, По- вторяющиеся записи и Записи без подчиненных.
Мастер создания запросов 251 Чтобы создать запрос, с помощью которого отбираются записи в таблице Ав торы, которым не соответствует ни одна запись в подчиненной таблице Авто- ры документов {поиск ♦лишних* авторов), сделайте следующее: 1. В разделе Другие вкладки Создание Ленты щелкните кнопку Мастер за- просов. Появится диалоговое окно Новый запрос со списком различных видов запросов. 2. Выделите вариант Записи без подчиненных (см. рис. 7.11) и щелкните ОК. Или просто дважды щелкните строку Записи без подчиненных. Рис. 7.11 Создание запроса на поиск записей, которым не соответствует ни одна запись в подчиненной таблице 3. Появится первое диалоговое окно мастера (рис. 7.12). Установите в нем пе- реключатель Показать в одно из положений: Таблицы, Запросы или Таб- лицы и запросы, в зависимости от того какой объект содержит «лишние* записи. В данном случае — это Таблицы. В списке Задайте таблицу или запрос, содержащие требуемые записи для данного примера следует вы- делить таблицу Авторы. Щелкните кнопку Далее. Рис. 7.12 Диалоговое окно Поиск записей, не имеющих подчиненных
252 Глава 7. Запросы 4. Появится похожее диалоговое окно, в котором в качестве подчиненной таблицы следует выбрать таблицу Авторы документов. Сделайте выбор и щелкните кнопку Далее. 5. В новом диалоговом окне (рис. 7.13) следует установить соответствие по- лей двух таблиц. Слева и справа расположены списки полей обеих выбран- ных таблиц. Выделите поле ID автора в таблице Авторы и поле ID автора в таблице Авторы документов* а затем щелкните кнопку со значками «<=>», чтобы установить между этими полями соответствие (вообще, поля, для которых устанавливают соответствие, могут иметь в таблицах разные имена). Щелкните кнопку Далее, чтобы выбрать поля, отображае- мые в результате выполнения запроса, или Готово, чтобы отобразить все поля таблицы Авторы. Рис. 7.13 Установите соответствие полей в таблицах Авторы повторы документов 6. В окне выбора полей переместите поля из списка Доступные поля в список Выбранные поля, пользуясь кнопками «со стрелками» (< и >) для переме- щения или отмены перемещения одного поля или двумя другими кнопка- ми (» и «) — для перемещения или отмены перемещения сразу всех по- лей (рис. 7.14). Щелкните кнопку Далее или кнопку Готово. Рис. 7.14 Выберите поля для отображения в результате выполнения запроса
Мастер создания запросов 253 7. Выбрав кнопку Далее, вы откроете последнее диалоговое окно мастера. Здесь вы можете указать вариант продолжения своей работы после закры- тия мастера. Установите переключатель Дальнейшие действия после соз- дания запроса в положение Просмотреть результаты запроса, чтобы сра- зу запустить запрос на выполнение, или в положение Изменить структуру запроса, чтобы открыть запрос в режиме конструктора. Щелкните кноп- ку Готово. На рис. 7.15 показан запрос, который получился в результате выполнения описанной процедуры. Рис. 7.15 Запрос Авторы без документов ‘а. | «кжгщм без документов '. ФЗМИЛИЯ-' ИМ?? • ; РХчёстео - - Абасов Игорь Г ургеновнч 1 1. Зуев Семен Семенович 15 Иванов Вячеслав Владимирович 16 j Ильин Андрей [Истомин Иван Семенович Олегович _43 17 Казакова Екатерина Андреевна 18 j Кириленко Владимир Кирюхин Кирилл _ В лвдими/юнич Кондратьевич 11 44 ’Козлов 2С ; Леденев Пантелей Павлович 26 Павлов Семен Станиславович 30 Самойлов Юрий to ~ ' Николаевич 35 Сохранение запроса к| После просмотре запроса, вы можете его закрыть При этом появится предупреж- ( дающее сообщение с предложением сохранить запрос. Если вы согласитесь с этим '--и щелкните кнопку Да, запрос будет сохранен с формальным именем Авторы0 без подчиненных в Авторы документов*. Если нужно, вы можете переимено- вать запрос, используя контекстное меню его строки в области переходов (команда Переименовать). На рис. 7.15 показан переименованный запрос (также в нем поле Фамилия было отсортировано по возрастанию). В режиме конструктора запрос Авторы без документов будет выглядеть так, как показано на рис. 7.16. Здесь вы можете его отредактировать: добавить усло- вия отбора, сортировку записей, удалить или добавить поля, изменить их свойства, добавить подписи и т.д. При создании любого запроса вы вряд ли сможете «обойти» режим конструк- тора — настолько широкие возможности создания и модернизации запроса он предоставляет пользователю. J ' Выше рассмотрен только один вариант работы мастера запросов. Аналогичным образом с его помощью создаются простые запросы на выборку, перекрестные за- просы и запросы на повторяющиеся записи. Вам нетрудно будет разобраться в его диалоговых окнах, а результат будет получен быстро и качественно. Но все-токи самые сложные и мощные запросы создаются в режиме конструктора.
254 Глава 7 Запросы Рис. 7.16 Запрос Авторы без документов в режиме конструктора Конструктор запросов Конструктор запросов (см. рис.7.2) открывается в рабочей области и состоит из двух частей (с подвижной границей между ними): области объединения таб- лиц (вверху) и области полей (внизу). В верхней части отображаются таблицы, их поля и связи между ними (объе- динения данных), установленные для данного запроса. Для вновь добавленных таблиц связи могут наследоваться из схемы данных базы (но вы можете их изме- нять, организуя данные иным образом). В нижней части (в отдельных столбцах) отображаются поля таблиц, содержа- щихся в области объединения, которые будут включены в таблицу запроса, а также свойства полей. Свойства запроса J Окно свойств запросе (см. рис. 7.23) можно открыть из контекстного меню конст- руктора [команда Свойства) или с помощью кнопки Страница свойств раздело Показать и скрыть вкладки Работа с базами данных Ленты (эта кнопка дос- тупна в режиме конструктора, но недоступна в режиме таблицы). Подробнее см. раздел «Свойство запроса» ниже в этой главе. Добавление в запрос таблиц Для того чтобы отобразить таблицу в области объединения таблиц конструк- тора, используется диалоговое окно Добавление таблицы (рис. 7.17). Это окно вы можете открыть из контекстного меню конструктора командой Добавить таблицу или кнопкой Отобразить таблицу из раздела Настройка запроса вклад- ки Конструктор Ленты. Выделите таблицу (или запрос) в списке на одной из трех вкладок (Таблицы- Запросы или Таблицы и запросы) и щелкните кнопку Добавить. Для добавле- ния следующей таблицы повторите эти действия. Когда будут добавлены все таблицы, щелкните кнопку Закрыть, чтобы удалить диалоговое окно с экрана. Таблицы расположатся в верхней части бланка запроса (рис. 7.18).
Конструктор запросов 255 Рис. 7.17 Диалоговое окно Добавление таблицы Рис. 7.18 В окно конструктора добавлено несколько таблиц Удаление таблицы из окна конструктора ।------------------------------------------------------------ Для добавления таблицы ее можно просто дважды щелкнуть в списке окна Добав- ление таблицы. Одну и ту же таблицу можно добавлять несколько роз (см, таб- лицы Авторы и Авторы. 1 на рис. 7.18). Чтобы удалить таблицу, нужно сначала за- крыть окно Добавление таблицы, а затем щелкнуть таблицу для ее выделения и нажать клавишу Delete, или в контекстном меню таблицы выбрать команду Уда~ лить таблицу.
256 Глава 7 Запросы Объединение данных Каждая таблица отображается в виде небольшого прямоугольного окна (с подвижными границами), в котором содержится список имен всех ее полей. Если таблиц две или больше, между ними отображаются линии объединения (см. рис. 7.16), унаследованные из схемы данных. Если были наложены условия целостности данных (связь «один-ко-многим»), то на линии объединения ото- бражаются цифра «1» и знак бесконечности « » (рис. 7.18). Автоматическое объединение таблиц I Доже если связи не были созданы, то при добавлении в запрос двух таблиц может быть автоматически установлено их объединение. Для этого они должны содержать одноименные поля с одинаковым или совместимым типом данных, а также, одно из полей должно быть ключевым. В этом случае цифра «1» и знак « » отображены не будут, так как проверка целостности данных не включена. Автоматическая уста- новка объединения таблиц в запросах работает при включенном параметре Раз- решить автообъединение в секции Конструктор запросов раздела Конст- рукторы объектов диалогового окна Параметры Access (меню «Office», кнопка Параметры Access). По умолчанию этот параметр включен. «Ручное» объединение таблиц Объединение можно установить «вручную», перетаскивая поле из одной таблицы в другую. Объединяемые поля должны иметь совместимые типы данных. Поля с ти- пом данных Поле МЕМО, Поле объекта OLE и Вложение объединению не подлежат. Выполняя «ручное» объединение, самое главное, нужно четко представ- лять, что объединяется, как и зачем Иногда таблицы, включаемые в запрос, не имеют полей, между которыми можно установить корректное объединение. Тогда в схему включают третью таблицу, играющую роль «моста» между ними, для которой можно установить объединение с обеими таблицами. Кнопка Объединение в диалоговом окне Изменение связей (см. раздел «Как установить связь между таблицами» главы 6 «Работа с таблицами» и рис. 6.48) используется для выбора типа объединения, используемого по умолчанию при создании запросов на основе связанных таблиц. Но в создаваемом запросе это значение можно изменить. Достаточно дважды щелкнуть линию объединения, чтобы на экране отобразилось диалоговое окно Параметры объединения (см. рис. 6.50), в котором есть переключатель, устанавливающий один из способов объединения данных в полях таблиц для создаваемого запроса. Объединение таблиц в запросе, хотя и наследуется из схемы данных базы, но при его изменении не оказывает на схему данных никакого влияния . Объединение данных может быть трех типов: внутреннее, внешнее и полное. Внутреннее объединение данных устанавливается при положении пере- ключателя 1. Объединение только тех записей, в которых связанные запа- си отдельных таблиц совпадают. Оно означает, что в результат выполне-
Конструктор запросов 257 ния запроса будут включены только те записи» в которых значения объеди- ненных полей совпадают. Внешнее объединение данных устанавливается при положениях переклю- чателя 2. Объединение ВСЕХ записей из Имя таблицы 1 и только тех запи- сей из Имя таблицы 2, в которых связанные записи совпадают, или 3. Объединение ВСЕХ записей из Имя таблицы 2 и только тех записей из ’Имя таблицы 1, в которых связанные записи совпадают. В этом случае от- бираются все записи из одной таблицы и только те записи из другой табли- цы» значения которых есть в первой. Стрелка на схеме указывает таблицу» из которой берутся совпадающие записи. Более сложные типы объединения данных (объединение по несовпадению: больше, меньше, не равно и др ) могут устанавливаться с помощью инструкции SQL для за- просов SQL. Полное (или «декартово») объединение данных происходит, если на схеме линий объединения не установлено. Тогда в запросе отображаются все ком- бинации записей между двумя таблицами. Например, если в каждой табли- це имеется по 5 записей, то в результате запроса будет содержаться 5 х 5= 25 записей. Время выполнения подобных запросов может быть очень большим» и чаще всего они не дают полезных результатов. Отображение полей в запросе После добавления в запрос таблиц и их объединения, можно выбрать поля, которые будут отображаться в результатах запроса (в таблице запроса). Чтобы это сделать» перетащите указателем мыши поля из списков таблиц в пустые столбцы бланка запроса (рис. 7.19). Рис. 7.19 Добавление поля Фамилия из таблицы А вторы в результаты запроса Ль Горы Документов Авторы V ID автора Инициалы Им Отчество Ю организации Комментарий W ID документа 10 автора Позиция автора и п n himto Поле: Имя таблицы Сортировка Вывод на^кран Условие отбора млн fl Access 2007
258 Глава 7. Запросы Задание полей Можно не перетаскивать поля, а заполнить столбцы бланка «вручную», с помощью указателя или клавиатуры. Воспользуйтесь раскрывающимся списком в ячейке Имя таблицы для выбора таблицы (или запроса), а списком в ячейке Поле — для выбора поля. Если нужно включить в запрос все поля какой-либо таблицы, особенно боль- шой» то они займут много места в бланке запроса, и работать с ним будет неудоб- но- Для этого используют подстановочный знак (*), который отображается в на- чале списка полей таблиц (см. рис. 7.19). Перетащите знак звездочки в бланк за- проса — в запросе появится поле с именем таблицы, например, Авторы.*, обозначающим все поля таблицы (рис. 7.20). 4_______________ Рис.7.20 В результаты запроса включены вре поля таблицы Авторы Для полей в запросе могут быть заданы: сортировка» условия отбора и свойст- во вывода на экран (см. рис. 7.20). Значение свойства Сортировка может быть установлено из раскрывающегося списка в его ячейке. Свойство Вывод на экран включается (или выключается) с помощью установки (снятия) флажка. Если флажок не установлен, то поле не будет отображаться в результатах запроса. При этом оно не перестанет участвовать как в сортировке записей, так и в их отборе. Порядок сортировки полей в запросе Если порядок сортировки будет указан для нескольких полей, то Access сначала вы- ? • 1 полняет сортировку по первому полю (слева) в бланке запроса, а затем — по ос- — тальным. Необходимо расположить поля слева направо в том порядке, в котором требуется выполнить сортировку. На сортировку полей в конструкторе может на- кладываться сортировка полей в таблице, отображающей результаты запроса (если вы ее установите), что вообще говоря, нарушив порядок следования записей в результатах запроса. Условия отбора вводятся в ячейки свойства Условие отбора. Дополнитель ные условия отбора для поля можно добавлять в ячейки или Столбцы полей в конструкторе запроса можно выделять, щелкнув указате- лем мыши в области выделения (узкий прямоугольник над именем поля). Если перетащит ь указатель по областям выделения нескольких полей, то все они бу- дут выделены. Выделенные поля можно перемещать» «ухватив* указателем за область выделения, и удалять, нажав клавишу Delete или воспользовавшись кнопкой Удалить столбцы раздела Настройка запроса вкладки Конструктор (Работа с запросами) Ленты. В том же разделе Ленты имеется кнопка Вставить столбцы, которая вставляет один столбец (или несколько столбцов) слева от выделенного (выделенных). ।
Конструктор запросов 259 Поля свойств соответствуют типу запроса Выше рассмотрены свойства, которые задаются для полей запроса на выборку. Поля запросов других типов могут дополнительно включать свойства Групповая операция, Перекрестная таблица, Добавление и др., которые будут рас- смотрены ниже в этой главе. • Запрос, созданный мастером, обычно сохраняется под именем, данным по умолчанию, автоматически. Если вы создавали запрос в режиме конструктора и хотите задать ему описательное имя, закройте его, затем согласитесь его со- хранить (рис. 7.21 вверху), щелкнув кнопку Да» и, наконец, наберите его имя и подтвердите его щелчком кнопки ОК (рис. 7.21 внизу). Рис. 7.21 Дайте запросу описательное имя Сохранение запроса, как формы, отчета или под другим именем Запрос можно сохранить, как другой объект базы данных. Выделите (или откройте) запрос, а затем в меню кнопки «Office» выберите команду Сохранить как | Со- хранить объект как. Появится диалоговое окно Сохранение (рис. 7.22). Это универсальное окно, оно используется для сохранения всех объектов базы данных. Список в поле Как для разных объектов может быть различным. Не все объекты до- пускают преобразование в объекты другого типа. Запрос можно преобразовывать в форму и отчет, но не в таблицу Для создания таблиц используются запросы на из- менение. Рис. 7 22 Сохраните запрос как другой объект базы данных
260 Глава 7. Запросы Свойства запроса Для запроса» а также его полей, можно задавать свойства. Это делается в окне свойств запроса, которое открывается, например, из контекстного меню режима конструктора (рис. 7.23). Чтобы открыть окно свойств поля запроса (рис. 7.24), необходимо предварительно установить курсор ввода в одну из ячеек свойств поля и также воспользоваться контекстным меню или кнопкой Страница свойств на вкладке Конструктор (Работа с запросами) Ленты (раздел Показать и скрыть). Рис. 7.23 Окно свойств запроса режим SQL ссжим таблицы 'водна* таблица Сводив* диаграмма Добавить таблицу. Параметры» Тип опроса Запрос SQL См ыа данных Свойства Закрыть » Рис. 7.24 Окно свойств поля запроса Окна свойств запроса и свойств его полей используются достаточно редко. В боль- шинстве случаев к вашим запросам будут подходить свойства, установленные в программе Access по умолчанию. Гораздо чаще при создании и редактировании объектов используются окна свойств форм и отчетов, а также их элементов. Чтобы получить справку по значениям свойств запроса и его полей, в окне свойств устано- вите курсор в ячейку выбранного свойства и нажмите клавишу F1.
Использование выражений в запросах и фильтрах 261 В окне свойств запроса можно задать: его описание (которое выводится в строке состояния), режим открытия по умолчанию, количество одновременно выводимых полей, высоту подтаблипы, вид подтаблицы после открытия запроса (развернутая или нет) и т.д. Ток же, как и в таблицах, к запросу в режиме таблицы можно добавить подтаблицу, «расшифровывающую» значение выбранного поля. Добавление подтаблицы произ- водится из диалогового окна Вставка подтаблицы {см. раздел «Подтаблицы» гла- вы 6 «Работа с таблицами», а также рис. 6.53 и 6 54), открываемого из меню Под- таблица (кнопка Дополнительно в разделе Записи вкладки Гпавная Ленты). В окне свойств поля можно задать: его описание, формат, маску ввода, под- пись, тип элемента управления и т.д. Свойства поля в запросе аналогичны свой- ствам поля, задаваемым в режиме конструктора таблицы. Например, значение свойства Подпись будет отображаться в результатах запроса как заголовок столбца вместо имени поля. Использование выражений в запросах и фильтрах Выражения в запросах могут использоваться для проведения вычислений, обработки текста, или проверки данных. В выражениях могут использоваться операторы, константы, функции, ссылки на имена полей, элементы управления и свойства. В результате вычисления выражения получается единственное зна- чение, В таблице 7.1 показано, в каких свойствах и с какой целью в запросах и фильтрах используются выражения. Таблица 7. /. Использование выражений в запросах и фильтрах Для того чтобы... выражения вводится в... определить условия отбора для запросов и расширенных фильтров ячейки свойств Условие отбора создать вычисляемые поля в запросах или расширенном фильтре ячейки свойств Поле задать в запросах на обновление условие обновления записей в зависимости от ре- зультатов выражения ячей^су свойства Обновление задать условия отбора в простом фильтре Гфиль-р по значению поля) или обычном [фильтре (фильтр по форме) поле диалогового окна Настраиваемый фильтр или в поле ввода обычного фильтра
262 Глава 7. Запросы Access исправляет синтаксис выражений! После ввода выражения в бланк запроса и нажатия клавиши Enter выражение ото- бражается на экране с использованиями синтаксиса, принятого в Access. Если, на- пример, в выражении был пропущен оператор, то Access интерпретирует это так, что будет использован оператор присвоения значения (=), и отображает его на эк- ране. Текстовые константы Access заключает в двойные прямые кавычки ("), имя формы, отчета, поля или элемента управления окружает прямыми скобками ([ ]), а даты — знаками (#]. Операторы В программе Access используются операторы трех типов: арифметические, сравнения и логические. * Арифметические операторы используются для проведения вычислений меж- ду двумя или более численными значениями, а также для изменения знака чис- ла с положительного на отрицательное (таблица 7.2). ч Таблица 7.2 Арифметические операторы Оператор Используется для Пример Сложения двух чисел. [Значение 1] + [Значение2] в Нахождения разности двух чисел или изменения знака числа. [Значение 1]-[Значение?] * Умножения двух чисел. [Значение!] * [Значение?] £ Деления первого числа на второе. [Значение!] / [Значение?] \ Округления обеих чисел до целого, а затем деления первого числа на вто- рое. От результата отбрасывается дробная часть. [Значение!] \ [Значение?] Mod Первое число делится на второе и воз- вращается остаток отделения. [Значение 1] Mod [Значение?] А Возведение в степень. Число Л Степень | Операторы сравнения используются для сопоставления величин и возврата значений ИСТИНА, ЛОЖЬ или Null (см. таблицу 7.3). Во всех случаях, если или первое, или второе значения не определены, результат также является не- определенным. Любое сравнение с неопределенным значением также является неопределенным.
Использование выраженийвзапросах и фильтрах 263 Таблица7.3 Операторы сравнения - Оператор Используется для Определения, является ли первое значение меньше второго. Определения, является ли первое число не больше (меньше или равно) второго. > Определения, является ли первое значение больше второго. Определения, является ли первое число не меньше (больше или равно) второго. Определения, являются ли числа равными. о Определения, являются ли числа неравными. Between... And Определения, попадает ли проверяемая величина в диапазон, за- данный двумя значениями: Between Значение 1 And Значение?. Логические операторы используются для сопоставления логических значе- нии и возврата значений ИСТИНА, ЛОЖЬ или Null. Таблица7.4 Логические операторы Оператор Описание Пример And ИСТИНА, если Выражение 1 и Выражение? имеют значение ИСТИНА. Выражение 1 And Выражение? Or ИСТИНА, если одно из выражений (Выражение 1 и Выражение?) имеет значение ИСТИНА. Выражение 1 Or Выражение? Eqv ИСТИНА, когда оба выражения (Выражение! и Выражение?) имеют одинаковое значение (или ИСТИНА, или ЛОЖЬ) Выражение 1 Eqv Выражение? Not ИСТИНА, если Выражение не имеет значения ИСТИНА. Not Выражение Хот ИСТИНА, если либо Выражение 1 имеет значение ИСТИНА, либо Выражение? имеет значение ИСТИНА но не оба вместе. Выражение 1 Хог Выражение? Специальные операторы J В Access используется также несколько специальных операторов. Операторы &и+ ' используются для объединения строк текста. Оператор Like позволяет сравнивать ' строковые значения с применением подстановочных знаков * и ?. Оператор In по- зволяет искать вхождения текстовых строк, А операторы Is Null и Is Not Null — сравнивать значение с неопределенной константой.
264 Глава 7. Запросы Константы л В Access используются четыре константы: ИСТИНА. ЛОЖЬ. Null. Означает, что значение не определено. " (пустая строка). Указывает на отсутствие значения. Константа Null в операторах сравнения Во многих случаях использование константы Null в комбинации с операторами сравнения приводит к ошибке. Если вы хотите сравнить величину с константой Null, используйте операторы Is Null или Is Not Null. Функции В Access имеется более 150 встроенных функций. Кроме того, пользователи могут создавать собственные функции на языке VBA и подсоединять их к собст- венной базе данных. Встроенные функции сгруппированы по категориям: фи- нансовые, математические, статистические, общие, текстовые, обработка оши- бок и др. Ниже приведено несколько примеров самых простых функций разных категорий: Текстовая функция ЬеГЦТекст, п) возвращает п символов, расположенных в строке Текст слева. Математическая функция 8ш(Угол) возвращает синус значения Угол. Статистическая функция 8иш(Выражение) возвращает сумму значений в поле, заданном значением Выражение. Функция дат и времени Now() возвращает текущую дату и время. Подробные описание функций и примеры их использования можно найти * в справочной системе программы Access. Ссылки на объекты и их свойства Часто в выражениях для ссылки на объекты и их свойства используются так называемые «идентификаторы». Можно использовать полную или сокращен- ную запись идентификаторов. Полный идентификатор объекта или свойства отображает всю цепочку подчиненной связи элемента. Краткий идентификатор содержит только часть этой цепочки. Полные или сокращенные? во избежание ошибок рекомендуется всегда ссылаться на объект или свойство с по- мощью полного идентификатора. Если для записи ссылок используется построи- тель выражений Access, в нем учитывается, когда можно использовать краткую форму записи идентификатора, а когда — нет.
Использование выражений в запросах и фильтрах 265 Полный идентификатор необходимо использовать для ссылки на объект или свойства, расположенные не в текущем объекте. Примером полного идентификатора поля Названия запроса Запрос1 может быть: [Зап рос 1 ]![ Назван ие], где [Запрос 1]! — определяет ссылку на запрос Запрос 1; [Название] — определяет ссылку на поле Название запроса Запрос!. Примером полного идентификатора для свойства может быть ссылка на свой- ство Значение по умолчанию поля Название формы Данные документов: Гогтв![Дапные документов]!! Название]. Def au It Value, где Forms! — определяет ссылку на семейство форм базы данных (программа Access автоматически создает семейства Forms и Reports для каждой базы данных: семейство Forms состоит из всех открытых форм, а семейство Reports — из всех открытых отчетов); [Данные документов] — определяет ссылку на форму с именем Данные доку ментов в семействе Forms; [Название] — определяет ссылку на поле Название в форме Данные докумен- тов; DefaultValue — определяет ссылку на свойство Значение по умолчанию (DefaultValue) поля Название. Операторы в идентификаторах Оператор «!» указывает, что следующий за ним элемент является элементом, опре- деленным пользователем. Оператор «.» используется, если следующий элемент определен в Access. Квадратные скобки ([ ]) отделяют отдельные ссылки. Их ставить не обязательно (кроме случаев, когда в именах есть пробелы}, так как программа Access добавляет их автоматически. Но все-таки лучше это делать, чтобы избежать лишних ошибок. При ссылке на свойства или объект, находящийся внутри открытого объек- та, нет необходимости использовать полный идентификатор. Приведенные выше примеры могут быть сокращены соответственно до: [Название] и [Название]. DefaultValue Построитель выражений Выражения можно задавать самостоятельно или с помощью построителя вы- ражений — мощного и простого в использовании средства программы Access. Если выражение несложное, то его можно быстро ввести в поле с клавиатуры, например: « Date()», ♦> 234*, «Like "С*”*. Но более сложные выражения удоб- нее создавать в построителе. Построитель выражений можно вызвать из контекстного меню той ячейки, куда будет вставлено выражение (рис. 7.25). Щелкните поле или ячейку правой кнопкой мыши и выберите команду Построить. Кнопку Построитель можно
266 Глава 7. Запросы также найти на Ленте. Кнопка вызова построителя выражений может появлять- ся непосредственно около ячейки свойств. Правда там она имеет несколько дру- гой вид — квадратная кнопка со изображением многоточия (...). Рис. 7.25 Построитель выражений можно вызвать из контекстного меню той ячейки, куда будет вставлено выражение Паяй: Иия таблицы' Сортирояжз Вывод экран. Условие отбора. ЯМ по возрастанию Фамилия Авторы пс возрастанию Итоги Имена тебдиц КОПИРОМ!» Встроить .... г, Построил» . МасщтоЬ Свойства... 4 Е*о«' к После закрытия окна построителя созданное выражение переносится в ячей - ку» из которой он был вызван. Если ячейка свойства или аргумента до этого со- держала какое-то значение, то оно будет автоматически заменено. Если по- строитель вызван из ячейки, содержащей выражение, оно автоматически переносится в окно построителя. Окно построителя выражений состоит из трех областей (рис. 7.26): поля вы - ражения, кнопок операторов и элементов выражения. Рис. 7.26 Окно построителя выражений Сверху располагается область выражения, в которой оно и создается. Вводи- мые в эту область элементы выбираются в двух других областях окна построите- ля. Можно набирать фрагменты выражения с помощью клавиатуры. Часто в об- ласти выражений могут отображаться прототипы» заключенные в двойные уг- ловые кавычки, вместо которых пользователь должен подставить нужные элементы. Следует либо ввести соответствующее значение, либо выделить прототип и заменить его элементом из правого списка нижней области (рис. 7.27).
Использование выражений в запросах и фильтрах 267 Рис. 7.27 Задайте идентификатор поля, записи которого будут обрабатываться В средней области окна построителя находятся кнопки некоторых операто- ров. Если щелкнуть одну из этих кнопок, построитель вставит соответствующий оператор в текущую позицию поля выражения. Полный список операторов дос- тупен в нижней области в папке Операторы. В нижней области окна построителя находятся три списка (рис. 7.28): Рис. 7.28 Списки построителя Слева располагается список папок построителя. На верхнем уровне нахо- дятся папки: Запрос 1 (в данном случае из него был вызван построитель, для этого запроса возможен ввод идентификаторов в краткой форме), Таблицы (содержащая все таблицы текущей базы данных), Запросы (содержащая все запросы текущей базы данных), Forms (содержащая все формы теку-
268 Глава 7. Запросы щей базы данных и загруженные формы), Reports (содержащая все отчеты текущей базы данных и загруженные отчеты), Функции (содержащая встроенные в Access функции и функции, созданные в текущей базе дан- ных пользователем), Константы, Операторы (в том числе арифметические, сравнения и логические), а также Общие выражения. Для папки, выделенной в левом списке, в среднем списке отображаются подпапки или категории элементов. Например, если выбрать в левом спи- ске Функции | Встроенные функции, то в среднем списке будут перечисле- ны все категории функций Access. Справа отображается список значений для элементов, заданных в левом и среднем списках. Например, если в левом списке выбрать Операторы, а в среднем — Сравнения, то в правом отобразятся значения: «<», «<=», ♦о», «=», ♦>», ♦>=» и «Between». Для вставки выделенного элемента в поле выражения щелкните кнопку Вставить или дважды щелкните нуж- ным элемент в правом поле. Если элемент является функцией, то ее аргу- менты отображаются в нижнем левом углу окна построителя выражений (ниже списка папок). Для функций также можно получить справочную ин- формацию, выделив функцию в правом списке и щелкнув кнопку Справка. Кнопка Назад в окне построителя выражений удаляет последний элемент, вставленный в область выражения. Повторное нажатие кноп ки Назад отменяет еще одно действие и т.д. Рассмотрим пример использования построителя. На рис 7.7 показан запрос Редакторы без документов^ который выводит список редакторов, у которых нет ни одной книги в электронной библиотеке (т.е. нет в таблице Данные доки ментов). В таблице результатов этого запроса в первом поле слева отобра жают- ся инициалы, а во втором — фамилия редакторов (на рис. 7.29 показан этот за- прос в режиме конструктора). Скроем поля инициалов и фамилий и создадим вычисляемое поле, в котором будут отображаться сначала фамилии, а затем (через пробел) инициалы редактора. Рис. 7.29 Запрос Редакторы без документов в режиме конструктора и окно построителя выражений, открытое для свойства Поле нового столбца
Использование выражений в запросах и фильтрах 269 1. Откройте запрос Редакторы без документов в режиме конструктора. 2. Добавьте пустой столбец слева. Для этого выделите первый столбец и в разделе Настройка запроса вкладки Конструктор (Работа с запроса- ми) Ленты щелкните кнопку Вставить столбцы. 3. Щелкните в новом столбце ячейку свойства Поле правой кнопкой мыши и в контекстном меню выберите команду Построить. 4. Откроется окно Построитель выражений с незаполненной областью выра- жений (см. рис. 7.29). В ней необходимо построить выражение из полей Фамилия и Инициалы таблицы Редакторы,, которая участвует в построе- нии этого запроса. 5. В левом списке построителя откройте папку Таблицы, дважды щелкнув ее имя, а затем выделите таблицу Редакторы. В среднем списке появятся поля таблицы Редакторы. 6. В среднем списке дважды щелкните поле Фамилия (или выделите поле и щелкйите кнопку Вставить в окне построителя). Идентификатор этого поля появится в области выражения построителя (рис. 7.30). Рис- 7.30 Идентификатор поля Фамилия таблицы Редакторы был добавлен в область выражения 7. Щелкните кнопку в средней области построителя. Этот оператор так же отобразится в поле построителя. Можно ввести оператор «+» другим способом. Выделите в левом списке папку Операторы, а в среднем — Арифметические. В правом списке дважды щелкни- те значение «+». Наконец можно просто нажать клавишу со знаком «+». 8. На клавиатуре нажмите клавиши пробел и еще раз Этим будет задан пробел, который разделяет инициалы и фамилию автора. 9. Щелкните кнопку «+» в средней области построителя еще раз. 10. В левом списке в папке Таблицы выделите таблицу Редакторы. В среднем списке дважды шелкните поле Инициалы. Теперь все выражение построе- но (рис. 7.31).
270 Глава 7. Запросы Рис. 7.31 Построение выражения закончено 11. Закройте построитель, щелкнув кнопку ОК, чтобы перенести построенное выражение в ячейку свойства поля. В ней появится значение (рис. 7.32): Выражение!: [Редакторы]1[Фамилия]+ *Ч[Редакторы]![Инидиалы] . Программа Access автоматически добавит в начале слово «Выражение 7», когда вы уберете фокус из ячейки свойства. Замените это слово надписью, которая будет отображаться в таблице результатов запроса, например, «Редакторы». Вы можете снова открыть построитель и проделать вто в нем, можете внести исправления с по- мощью клавиатуры непосредственно в ячейке свойства поля, а можете открыть для этого область ввода (команда Масштаб контекстного меню ячейки). Рис. 7.32 Построенное выражение в ячейке свойства поля 12. Наконец удалите или скройте «старые♦ поля Инициалы и Фамилия. 13. Перейдите в режим таблицы, чтобы проверить сделанную работу (рис. 7.33), и сохраните запрос. Рис. 7.33 Модернизированный запрос Редакторы без документов Примеры выражений Выражения, особенно используя построитель, гораздо легче записать, чем «придумать*. Поэтому часто реально мыслящие пользователи ищут ютовые выражения, похожие на те, что им нужно, а затем вносят в них необходимые из- менения. В справочной системе Access имеется много примеров выражений. Ниже рассмотрены некоторые примеры. Для сравнения значений с константами можно использовать операторы срав- нения. Для отбора несовпадающих значений удобно использовать логический оператор Not. Примеры выражений для сравнения значений приведены в таб- лице 7.5.
Использование выражений в запросах и фильтрах 271 Таблица 7.5. Примеры выражений для сравнения значений 4 Выражение Результат >2000 Отбираются записи, значения которых превышает 2000 >и"Петров" Отбираются записи, содержащие фамилии, начиная с «Петров», и до конца алфавита. о100 Отбираются все записи, кроме записей, содержащих зна- чение 100. 1п(20, 25, 30) Отбираются записи со значениями 20, 25 или 30. . Like ”*4,99" Отбираются записи, значение в которых заканчивается на 4,99, т.е. 4,99; 14,99; 24,99 и т.д. Between #01 -янв-2000# And #31 -дек-2001# Отбираются записи, содержащие в поле даты значения в диапазоне от 1 января 2000 года до 31 декабря 2001 года. Not "Москва" Отбираются записи, содержащие любое значение, кроме «Москва». Not "Т*" Отбираются записи, значения которых (например, фами- лии}, не начинаются с буквы «Т». Подстановочные знаки В выражения символы «?» и «*» играют роль подстановочных знаков. Символ «?» означает один любой символ. Символ «*» означает любое количество любых сим- волов. ________________1__________________________________________ Некоторые примеры выражений, используемых при работе с текстовыми по лями (и полями МЕМО), приведены в таблице 7.6. Таблица 7.6. Примеры выражений для отбора текстовых полей । Выражение Результат ГМосква" Отбираются записи, содержащие значение «Москва». "Москва" Ог ’Минск" Or"Киев" Отбираются записи, содержащие значения «Москва», «Минск» или «Киев». , >="Н*" Отбираются записи, содержащие значения, начинающиеся с букв от «Н» идо «Я». Like "*ос" Отбираются записи заканчивающиеся буквами «ос», например, «кокос», «матрос», «абрикос». Not Like "С*" Отбираются записи. начинающиеся с любой буквы, кроме буквы «С». Like "*Москва' Отбираются записи, заканч мающиеся словом «Москва», Like Я[В-Д]*" Отбираются записи, начинающиеся с букв от «В» до «Д».
272 Глава?. Запросы Выражение Результат Like "*тер*" Отбираются записи, значения в которых содержат сочетания букв «тер». Like "Волшебный ми?" Отбираются записи, значения которых содержат два словау первое из которых зодано, а второе слово содержит три буквы: первые две «ми», а последняя неизвестна. Й1дЬГ([Город], = Отбираются записи, значения которых в поле Город, заканчи- ваются буквой «к». Len([Город]) > 10 Отбираются записи, значение которых в поле Город, длиннее 10 букв. | Для некоторых полей может быть задано значение свойства Значение по умолчанию. В таблице 7.7 приведены некоторые примеры. Таблица 7.7. Примеры выражений для значений по умолчанию Выражение Значение по умолчанию 1 1 "Москва” Москва М.: ООО Бином-Пресс" М.: ООО Бином-Пресс tt tt Пустая строка (строковое значение, не содержащее симво- лов, указывающее на то, что значение для этого поля отсут- ствует/. Datef) Текущая дата (сегодня). Date()+Time() или Now() Текущая дата и время (сейчас). Yes Да (отображается на языке, указанном в настройках компьютера). Иногда бывает нужно отобрать записи по полям, имеющим тип Дата/время, на основании сравнения с определенными датами или с текущей датой. Для это го могут использоваться встроенные функции Access. В таблице 7.8 приведены некоторые примеры.
Использование выражений в запросах и фильтрах 273 Таблица 7.8. Выражения для отбора записей податам Выражение Результаты #6/2/2003# Отбираются записи, в которых указана дата 6 февра- ля 2003 года (чтобы отличить дату от текстового поля Access заключает ее значение в знаки «#»). Datef) Отбираются записи, в которых указана текущая дата (сегодня). Dated-1 Отбираются записи, в которых указана дата предыду- щего дня (вчера). Between Date{) And Date()~6 Отбираются записи, соответствующие последним семи дням (на прошедшей неделе). Between Date() And DateAddf'm", 3, Date/)) Отбираются записи, в которых указана дата в интерва- ле от текущей даты до даты, которая наступит через 3 месяца. Between Date Add ( y";-15;Date()) 1 And Datef) Отбираются записи, в которых указана дата в интерва- ле от даты, которая была 15 дней назад, до текущей даты. < Date() - 30 Отбираются записи, в которых указана дата, предше- ствующая текущей более чем на 30 дней. Уеаг([Дата]) - 1999 Отбираются записи, содержащие в поле Дата значения, соответствующие 1999 году. DatePart("mn, (Дата]) 12 Отбираются записи, содержащие в поле Дата значе- ния, соответствующие декабрю любого года. DatePartpq", [Дата]) "4 Отбираются записи, содержащие в поле Дата значе- ния, соответствующие четвертому кварталу. ¥еог([Дата]) = Year(Nowf)) And j Month ([Дата]) я Month(Now()) Отбираются записи, содержащие в поле Дата значения, относящиеся к текущему году и текущему месяцу. В таблице 7.9 показаны примеры для нахождения записей с неопределен- ными значениями и пустыми строками. Поля, имеющие тип Логический, могут отбираться только по значениям Да и Нет. Поля вложений и объектов OLE могут отбираться по наличию или отсут- ствию значений (Is Null или Is Not Null). В полях гиперссылки отображается только часть ее адреса. Чтобы обра- титься к самому адресу URL используется встроенная в Access функция HyperlinkPart(hyperlink, part). Например: HyperlinkPart ([Таблица1]. [Поле1], 1) « http://www.microsoft.com/ отбирает в таблице Таблица! только те записи поля Поле!* в которых указана ссылка на сайт Microsoft.
274 Глава 7. Запросы Таблица 7.9. Примеры поиска значений Null и строк нулевой длины Выражение Результаты Is Null Отбираются записи, в поле которых содержится неопределен- ное значение Null. • Is Not Null Отбираются поля, в которых нет неопределенного значения, т.е. содержащие какое-то значение или пустые поля. и II Отбираются записи, у которых поле содержит строку нулевой длины (не значение Null). " " Or It Null Отбираются записи, в которых содержатся пустые строки и не- определенные значения. Is Not Null And Not" • Отбираются записи, в которых есть значения, т.е. которые не яв- ляются пустыми или неопределенными. Выражения для отбора записей можно вносить в ячейки свойств нескольких столбцов за- проса. Таким образов можно осуществлять очень сложные способы отбора записей. Вкладка Конструктор (Работа с запросами) Ленты Когда запрос открыт в режиме конструктора, на Ленте (рис. 7.34) автомати- чески открывается вкладка Конструктор (Работа с запросами). Все элементы управления, содержащиеся в ней, предназначены для конструирования запро- сов. Однако еще не все из них были рассмотрены в этой главе. Чтобы восполнить этот пробел, приведем их список вместе с кратким описанием: В Access 2007 много вкладок, которые называются «Конструктор». Вкладка Кон- структор (Работа с запросами) предназначена для создания запросов. Она выводится автоматически при переходе в режимы конструктора и SQL любого за- проса. В режимах сводной таблицы и сводной диаграммы отображаются «свои» вкладки.* Конструктор (Работа со сводными таблицами) и Конструктор (Работа со сводными диаграммами). Их ярлыки подсвечиваются другими цветами. А в режиме таблицы вкладок «конструкторов» на Ленте нет. Результаты |ИП ЬуЪм J* | Вставить столбцы $ Удалить столбцы Отобразить - __ таблицу Z4 JS8 Возврат Все Настпойка запроса Рйбсгж MnpwMM Элвкф.МФЯ Ьгояисгег®' ' Констриктор | У Др Страница свойств Итоги . Тя Параметры Рис. 7.34 Вкладка Конструктор (Работа с запросами) Ленты
Создание запросов в Access 275 Кнопка Выполнить в разделе Результаты. Она предназначена для запус- ка запроса. Запрос на выборку или перекрестный запрос запускается авто- матически при их открытии. В них сразу же отображают результаты в ре- жиме таблицы. Запуск запроса на изменение — процесс ответственный. Ра- ботая с запросом этого типа, вы можете перейти из режима конструктора в режим таблицы, чтобы просмотреть данные, которые будут задействова- ны в результате его выполнения. Для запроса на обновление — это обнов- ляемые поля, для запроса на удаление — удаляемые записи, для запроса на создание таблицы — поля, включаемые в новую таблицу, а для запроса на добавление — записи, добавляемые в другую таблицу. После просмотра из- менений можно перейти в режим конструктора и щелкнуть кнопку Запуск, чтобы выполнить запрос. Прерывание выполнения запроса Для того чтобы остановить выполнение запроса, нажмите клавиши Ctrl+Break. Не- которые некорректно построенные запросы могут выполняться очень долго, напри- мер, если в них задано декартово объединение данных. Список Возврат (Набор значений ). С его помощью устанавливается коли- чества одновременно отображаемых записей. Щелкните стрелку, направ- ленную вниз, чтобы открыть список значений: б, 26,100,5%, 25% или Все. Если установить «5», то в результатах запроса будет выведено только пять первых записей, остальные записи будут скрыты. Это свойство удобно ис- пользовать, когда запрос предназначен, например, для выбора максималь- ных значений в большом списке. Кнопка Итоги. Она отображает в бланке запроса дополнительную строку Групповая операция, с помощью которой для полей задаются группировка или вычисления. Кнопка работает «как выключатель». Кнопка Имена таблиц. Она управляет отображением свойства Имя табли- цы в бланке запроса. Также работает в режиме « выключателя ». По умолча- нию для нового запроса она включена. Кнопка Параметры. Используется при создании запросов с параметрами. С ее помощью открывается окно Параметры запроса (см. рис. 7.50), в кото- ром указываются приглашения для ввода параметров, отображаемые на экране перед выполнением запроса, и тип данных, установленных для па- раметров. Создание запросов в Access Открыв пустой бланк запроса, можно выбрать не только тип создаваемого за- проса, добавить таблицы и поля, но также задать условия и выражения, указать параметры и установить свойства запроса и его полей. Разнообразие запросов предназначено не просто для того, чтобы давать ответы на интересующие поль- зователя вопросы. В режиме таблицы запрос очень похож на таблицу. Хотя структура данных определяется таблицами, с ними не всегда удобно работать. По этой причине очень часто именно на запросах, а не на таблицах, строятся
276 Глава 7. Запросы формы и отчеты, с которыми непосредственно работают пользователи. Поэтому можно сказать, что запрос является «важной частью» интерфейса пользователя базы данных. Обычно количество запросов в «работающей» базе данных замет- но превышает количество таблиц. Ниже подробно рассмотрены примеры созда- ния запросов различных типов в базе данных Access 2007. Создание запроса на выборку В основном, благодаря запросам на выборку, данные могут быть представле- ны в самых разных, удобных для использования, видах. Ниже рассмотрено соз- дание двух запросов на выборку в проекте электронной библиотеки. Предположим, нужно определить какие документы принадлежат конкрет- ным авторам. Для этого в одном запросе нужно свести фамилии авторов и назва- ния документов. В нашей базе данных эти поля находятся в таблицах Авторы и Данные документов, не имеющих прямой связи. Искусственно объединять данные нельзя (это, скорее всего, будет некорректно), необходимо использовать установленные в базе данных связи и «промежуточную» таблицу. Откройте пустой бланк запроса и добавьте в него таблицы Авторы и Дан- ные документов. Очевидно, что если просто перенести поля с фамилией авторов и названиями документов в запрос, то результат будет совсем неподходящий. Декартово объединение даст 1035 записей (рис. 7. 35)! Здесь каждому автору будет «приписан» каждый документ. ГПУ ‘П k Абасов И £ Вв*, ание в >щрсофщр 1 Абасов_ И Г- Материя в современное нствстамня^ • Абасов ИГ Материальный мир Абасов И Математическое описание шгарии л г всов ц ^Геометрия в современном материальном Абасов ИГ Материалистическое восприятие дейстем Абасов И.Г. Торы” современной метэрми Абасов Й Г. Материализм Абасов И. Г Магирмапмаччя сознания Абасов И Г Бытовой материализм в философии Абасов ИГ Материя в истории естествознания Аовсое и Г. Метод и событие в материализме Абасов И.Г Идеалистический материализм Абасов И Г. Миниатюрный материализм II * Абасов И Г Слово с материализме Абасов И Г Демографический материал гам А|эсов ИГ Доц£_горическмй материализм Абасов м Г Неизвестный ме «‘риалмзы Абасов И Г Неестественный мягермрп<«ы q искусств Абасов И Г Мистический материализм Абасов V Г. Политическим материализм и I Абвсое И Г Политический материализм Айвсов И Г. Наша материя J Апаш ина Д В Рведемие а философию материализме Алешина Л В Мятвпмя ® соеремемнлм естествознании Алэшинв Д В Материальный мир Алешине Д Е Математическое описание материи f- -1 Агчшинч Д В Геометрия в современном матариа-ьи d Алешина Д В Материалистическое восприятие действа Алешине Д В. 1ЯР* современной материм Запись К 1 41 И31О35 » »1 • • ф мш'ЭЗ 1 ПОИЛ Рис. 7.35 Декартово объединение записей таблиц Авторы и Данные документов (запрос в режиме конструктора (слева) и в режиме таблицы (справа))
Создание запросов в Access 277 Добавьте «связующую» таблицу Авторы документов — в схеме запроса ера зу появятся автоматически созданные линии объединения, унаследованные из схемы базы данных. Можно проверить параметры объединения. Оба объедине- ния должны быть установлены в положение 1. Объединение только тех записей, в которых связанные поля обеих таблиц совпадают (рис. 7.36). [ Даыьйё 'декумемтое Рис. 7.36 Проверьте параметры объединения автоматически созданных связей Авггорй V Ю автора Инициалы Фамилия Имя Отче IDoa Комм • Авторы докумекг&е 9 ID документа Дата Название ID типа V ГО документа V ГО автора Позиция автора ства > страниц > рисунков 3 ССЫЛОК ПИЯ источника ! Затем выполните следующее: 1. В ячейку свойства Поле первого столбца бланка запроса введите (можно с помощью построителя выражений) следующее: Автор: [Авторы]![Фами- лия]+" ”+[Авторы]![Инициалы]. Установите для него значение по возрас- танию в свойстве Сортировка. Установите (если его нет) флажок для свой- ства Вывод на экран. 2. Во второй столбец перетащите поле Название из таблипы Данные доку- ментов. Установите для него значение по возрастанию в свойстве Сорти- ровка. 3. Если вы хотите использовать позицию автора в авторском списке, чтобы отображать только первых авторов документов (и вообще не отображать документы для соавторов), то включите в запрос поле Позиция автора из таблицы Авторы документов. Сделайте его невидимым, сбросив флажок Вывод на экран. Задайте для него условие отбора, например, «1». В этом случае в запросе будут отображаться только первые авторы документов. 4. Перейдите в режим таблицы, чтобы просмотреть список первых авторов всех документов (рис. 7.37). В этом режиме вы можете пользоваться фильтрами. 5. Сохраните запрос, например, под именем Первые авторы всех документов. В этом запросе отображаются поля только из двух таблиц, третья таблица участвует в нем только для связывания данных и их отбора- Но такая связь мо- жет служить основой и для множества других запросов, а построить их можно всего лишь модификацией уже созданного запроса. Рассмотрим, например, что нужно сделать для просмотра суммарного количества страниц, которые во всех документах «принадлежат перу» каждого автора. Такой запрос также основан на этих трех таблицах.
278 Глава 7. Запросы Рис. 7.37 Список первых авторов (в алфавитном порядке) всех документов (в алфавитном порядке для каждого автора) — запрос Первые авторы всех документов ' ' ’ Нмнмйе J Алешина Д В Материализация сознания Аманян В В Материализм Аманян В В Метод и событие в материализме Аманян В В Политический материализм 1 Барилов В В. Демографический материализм 1г Барилов В В Идеалистический материализм Берипов В В Миниатюрный материализм нерилов В В. Наша материя Графинова Л Л Бытовой материализм в философии Графинова ЛЛ Геометрия в современном материальном мире гуляее 6.Н Введение в философию материализма Гуляев В.Н Неестественный материализм в искусстве Гуляев В.Н Неизвестный материализм Дровских Р И. Материя в современном естествознании Зажигалкин Ю А Слово о материализме Кудрявцев AM Торы" современной материи Кудрявцев А М Математическое описание материи Марусев ИО Доисторический материализм Рошван И.П Материалистическое восприятие действительности Титов В .С Материя в истории естествознания Чернышев С.Н [ИТПТГТШГС Мистический материализм к Сделайте следующее: 1. Откройте запрос Первые авторы всех документов в режиме конструктора запросов (или его копию). 2. На Ленте щелкните кнопку Итоги, чтобы добавить в бланк запроса поле свойства Групповая операция. 3. Для первого столбца, соответствующего фамилии и инициалам автора, удалите свойство Сортировка (установив для него значение отсутствует), а в ячейке свойства Групповая операция задайте Группировка (для группи- ровки записей по этому полю). Рис. 7.38 В таблице запроса будут отображаться 5 первых записей 4. Удалите столбец Позиция автора, а в столбце Название сделайте следую- щие корректировки. Измените с помощью раскрывающегося списка зна-
Создание запросов в Access 279 чение свойства Поле на Количество страниц. Также с помощью списка замените групповую операцию, установив значение Sum (сумма). Устано- вите сортировку по убыванию или по возрастанию. Откройте окно свойств поля и задайте подпись, например, Всего страниц. 5. На Ленте откройте список Набор значении и выберите в нем значение 5. После этого свойство запроса Набор значений будет иметь значение 5 (рис. 7.38). 6. Перейдите в режим таблицы, и вы увидите список пяти наиболее (или наи- менее) «плодовитых» авторов электронной библиотеки (рис. 7.39). Сохра- ните запрос под именем, например, Страницы 5 авторов. Рис. 7-39 Запрос Страницы 5 авторов в режиме конструктора (вверху) и таблицы (внизу) ШрЧЖЖ i’ 9 Ю автора ИПнцнмы *>ИМИВ Иил От местно й> оргамимции Комметпаомй V ГОдскумгпт» I 9 Ю документа Дп Нжшжмме Юпита Годизджм Ю ихдггтлытва Переход к нсточяигу 1ипгр ссылка Истомина Ю ргдастов» Юдины Кояиме'ттс страниц Количестве рисунков Количество ссылок Геердм копир Комментарий ГОаыдыыя Ц|Ы1Ч 1ЩИ Ml Поло. Имя Тр&пщуь rpyrwiceup операция С ртироем на экран Успсвнв отбора или ! г . • . . i”' Li ' fc ' X . и К . / ; * Аятов {Ашх»ры]1[Фамигия)т" *+[Авторы]1[Инициалы) Количество страниц Дднныг документов Sum ___ ло убывании 910* 69ll мЬ _________SJll ] ЧернышевС Н. i Аманян Bjjfr ТДввыдоеаГП ГупдавЕЩ____ 4 «яиояалкин Ю А- Во втором поле запроса выведено суммарное значение по полю Количест- во страниц таблицы Данные документов, сгруппированному по фамилиям, взятым из таблицы Авторы (см. пункты 3 и 4 описанной выше процедуры). Вме- сто значения Sum в свойстве Групповая операция можно задать и другие стати- стические функции (см. таблицу 7.10). Можно также добавить новые столбцы, суммирующие количества рисунков и ссылок (рис. 7.40). В принципе, на базе этого запроса можно вывести всю статистику по документам для авторов. Рис. 7.40 Запрос Страницы Ь авторов модифицирован для отображения суммарного количества рисунков и ссылок
280 Глава 7. Запросы 1 I * м — • —' Таблица 7.10. Групповые операции в запросах на выборку Значение свойства Результат вычислений Тип данных поля Sum Сумма значении поля Числовой, Дата/время, Денежный и Счетчик Avg Среднее от значений поля Числовой, Дата/время, Денежный и Счетчик Min Наименьшее значение в поле Числовой, Дата/время, Денежный и Счетчик w Max Наибольшее значение в поле Числовой, Дата/время, Денежный и Счетчик Count Число значений в поле (без учета пустых значений} Числовой, Дата/время, Денежный, Счетчик, Логический и Поле объекта OLE StDev Среднеквадратичное отклоне- ние от среднего значения Числовой, Дата/время, Денежный и Счетчик Var Дисперсия значений Числовой, Дата/время, Денежный и Счетчик Из таблицы 7.10 видно, что, например, для вывода количества документов, принадлежащих авторам, в запросе Страницы 5 авторов достаточно заменить Sum на Count и т.д. В списке групповых операций можно также установить функции First и Last (рис. 7.41), которые используются для возвращения первой или последней запи- си. Сортировка записей не влияет на выполнение этих функций. Рис. 7.41 Список групповых операций Группировка Sum Акр Min Мах Count SrDe* <Э1 Выражение Условие Имя таблицы Грутоадр операция ' Сйрпфоана Выгод на Условие отбора млм Кроме того, в списке групповых операций имеются элементы Группировка, Выражение и Условие. Значение Группировка определяет группы, для которых выполняются вычисления (в приведенном выше примере это был столбец с под- писью «Автор»). Значение свойства Выражение создает вычисляемое поле с по- мощью статистической функции, включенной в выражение. Задают вычисляе- мое поле, как правило, тогда, когда требуется включить в выражение несколько
Создание запросов в Access 281 функций* Выражение вводится в пустую ячейку Поле в бланке запроса. Резуль- таты вычислений не должны обязательно отображаться в поле. Их можно ис- пользовать в условиях отбора для определения записей. Значение свойства Ус- ловие определяет условия отбора для поля, которое не участвует в группировке. Если для поля выбирается этот параметр, автоматически снимается флажок Вьсвод на экран, и поле не выводится на экран при выполнении запроса. Использование мастеров для построения запросов Хотя создатели Access советуют пользоваться мастерами для подготовки запросов, но из приведенных выше примеров можно понять, что такие запросы мастер соз- дать не сможет. В одном можно с ними согласиться: «Даже если вы имеете опыт соз- дания запросов, мастер поможет быстро создать структуру запроса. Затем созда- ние этого запроса можно закончить, переключившись в режим конструктора». Создание перекрестного запроса Для перекрестных запросов в столбцах бланка запроса появляются ячейки свойства Перекрестная таблица. Эти ячейки предназначены для указания набо- ров данных, определяющих заголовки строк и заголовки столбцов перекрестной таблицы. Так как данные группируются как по вертикали, так и по горизонта- ли, то результирующая таблица получается более компактной и удобной для анализа. Перекрестный запрос можно создать при условии, что все необходи- мые для него данные сведены в одну таблицу. Поэтому в некоторых случаях, сначала нужно создать обычный запрос на выборку данных из нескольких таб- лиц, а затем уже на его основе создавать перекрестный. Ниже рассматривается пример создания перекрестного запроса Автор- ский список, который может быть полезен для представления данных о доку- ментах в проекте электронной библиотеки. Для каждого документа нужно под- готовить список авторов, расположенный в одном поле таблицы, причем список должен состоять не более чем из трех авторов (если авторов больше, то следует удалить их фамилии и добавить сокращение «и ДР-»)- Этот список впоследствии будет хранится в отдельной таблице и использоваться в поисковых формах. Очевидно, что в качестве подготовки, нужно создать запрос на выборку дан- ных из двух таблиц: Авторы документов, откуда взять поле ID документа и Позиция автора, а также Авторы, откуда взять поля ID автора, Инициалы ^Фамилия. Свойства полей этого запроса, который называется Авторский спи- сок (вспомогательная выборка), показаны на рис. 7.42. Рис. 7.42 Свойства полей вспомогательного запроса Авторский список (вспомогательная выборка), который используется на подготовительном этапе построения авторских списков
282 Глава 7. Запросы Чтобы создать перекрестный запрос, откройте чистый бланк запроса и до- бавьте в него запрос Авторский список (вспомогательная выборка). Затем выполните следующее: 1. На Ленте щелкните кнопку Тип запроса: перекрестный. В ячейках свойств полей появится строка Перекрестная таблица. 2. В первый столбец перетащите поле ID документа. В ячейке свойства Пе- рекрестная таблица с помощью раскрывающегося списка установите зна- чение Заголовки строк. Проверьте, чтобы в ячейке свойства Групповая операция значилось Группировка (и строки, и столбцы в результирующей перекрестной таблице должны быть сгруппированы)- Выберите сортироз- ку по возрастанию (лучше, если документы будут расположены по поряд- ку). Таким образом, в строках таблицы результатов будут представлены документы по их номерам. * 3. Во второй столбец перетащите поле Позиция автора. В ячейке свойства Перекрестная таблица с помощью раскрывающегося списка установите значение Заголовки столбцов. Значение Заголовки столбцов можно за- дать только для одного поля. 11роверьте, чтобы в ячейке Групповая опера- ция значилось Группировка. Выберите сортировку по возрастанию. Та- ким образом, в первом столбце таблицы результатов будут отображаться фамилии первых авторов в авторских списках, во вором — вторые и т.д. । В перекрестном запросе имеется возможность изменить порядок или ограничить количество заголовков столбцов. Например, названия месяцев в заголовках можно вывести в хронологическом, а не в алфавитном порядке или, например, отобразить столбцы только с января по июнь. Для этого следует использовать свойство Заго- ловки столбцов запроса, которое устанавливается в диалоговом окне свойств запроса. Введите в ячейку заголовки в том порядке, в котором они должны отобра- жаться в запросе. Отдельные значения следует разделять точкой с запятой. 4. В третий столбец перетащите поле Автор. Значение свойства Групповая операция необходимо изменить. Выберите, например, First. В ячейке свойства Перекрестная таблица с помощью раскрывающегося списка ус- тановите Значение. Значение можно выбрать только для одного поля. Свойство Сортировка оставьте не установленным. Таким образом, в «теле» таблицы результатов будут отображены фамилии авторов и ини- циалы. Окончательно настроенные свойства запроса должны выглядеть примерно так, как это показано на рис. 7.43. Рис. 7.43 Свойства полей вспомогательного запроса Авторский список (вспомогательный перекрестный)
Создание запросов в Access 283 5. Перейдите в режим таблицы, и вы увидите авторские списки всех доку- ментов, входящих в электронную библиотеку (рис. 7.44). Сохраните за- прос, например, под именем Авторский список (вспомогательный пере- крестный). Рис. 7.44 Авторские списки всех документов I " ШАОК-. . - J ’ . з 10 TVl IMCD В Н 11 Дровских Р.И Копылов И Ф Гончарский И И Рудаков Ю.Ю. Карамышев Н.К. Куликов И П 12 Копылов И Ф Кудрявцев А.М Чернышеве Н 13 Кудрявцев А М Тюнев М А. 11 Графинова Л .Л Давыдова ГП. Дугине кий Г А Егоров И М 15 Рошцан И П Халилов С В Чернышев С.Н 16 Кудрявцев AM Кудрявцева П М Куликов И П. Рошван И П 21 Амамян В В Попова ЛА 22 Алеш» ча Д.В 24 Г рафинова Л Л Гуляев В.Н 28 Титов В С. Чибикоа НА 36 АманянВ В 37 Берилов В В Данилов НС L 39 Берилов В В Графинова Л П Комелее В.Е. 40 Зажигалкин Ю А Комепев В.Е 42 Берилов В В. Железов В А 43 Марусев И 0 Заж лапкин Ю А Федченко Е Е Седов С.С 44 Гуляев В.Н. Мах ШБ. Морозова Е Г i 45 Гуляев В.Н. Петров М М Рудаков Ю.Ю 46 Чернь шев С И ! — 54 Аманян В В Давыдове Г П. • k 55 Берилдд В_9 _ Морозова Ё.Г Условие отбора в перекрестном запросе В перекрестный запрос можно добавлять дополнительные поля, по которым задает- ся условие отбора. Эти поля должны быть росположены до группировки заголовков строк и до заполнения перекрестной таблицы. Для них в ячейке Групповая опе- рация задайте Условие. Ячейку Перекрестная таблица оставьте пустой. Вве- дите выражение в ячейку Условие отбора. Поля, имеющие значение Условие в строке Групповая операция, не выводятся в результатах перекрестного за- проса. Аналогично можно добавить дополнительное поле для сортировки строк. Чтобы окончательно оформить список авторов, можно добавить еще один или несколько простых запросов, в которых: пустым ячейкам будут присвоены значения " будут расставлены запятые между фамилиями авторов; фамилии в поле 4 будут заменены значением «и др.»; в дополнительном поле будут просуммированы значения полей 1, 2, 3 и 4. Если все это аккуратно проделать (значение свойства Поле в этом запросе мо- жет выглядеть примерно так, как показано на рис. 7.4 5), то можно получить ре- зультат, показанный на рис. 7.46.
284 Глава?. Запросы Рис. 7.46 Запрос Авторский список Рис. 7.45 Значение свойства Поле запроса Авторский список IQTyngpa В-H.. Копылов И Ф Гончарский И И и др 12 13 Дровских Р.И.Э Куплера И.Ц.____ Копылов И Ф , Кудрявцев Д М Чернышев С Н. Кудрявцев А М ^Тюмев М А_______- _________ ГрафнноваЛ JTДавыдова ГП.д Дугинский Г А и др. 15 Рошван Й П.г Хапипрв СВ , Чернышев ОН 14 16 21 Кудрявцев А М г Кудрявцева Л М., Куликов И.П, и др Аманян В В t Попова Л А i — ,— ... а । пп '— । * г । 2=^:- — - == 22 Алешина Д. В. 24 Трофимова Л Л , Гуляев и.Н. 26 37 Титов В С., Чибиков НА Аманян В В Берипов В.В, Данилов! Н.С______________ ЗЯ1 Берипов R В Графннова Л.Л., Комелев В.Ё 42 ьерилов В В., Желеэов В А 431 Марусеа И.О, зажшалкнн ЮА х Федченко ЕЕ и др Тупяев В.Н., Мах Ш,Б t Морозова Е,Г. Гуляев В.Н Петров ММ Рудаков Ю.Ю Чернышев С.Н _____ 45 iw. ач I»J 1 1 И 55|БериповВВ Морозова ЕГ. • П П Функция Ilf (expr, truepart, falsepart) возвращает значение truepart если вы- ражение ехрг имеет значение ИСТИНА. или falsepart — если ЛОЖЬ Функция Len(stringexpr) возвращает длинное целое, значение которого соответ- ствует количеству символов в строке stringexpr. Впоследствии запрос Авторский список и аналогичный ему запрос Редактор- ский список будут использованы в запросе на добавление для <Ьормирования таб- лицы Авторские списки. См. раздел «Запросы на добавление записей» ниже в этой главе.
Создание запросов в Access 285 Создание запроса с параметрами Если приходится часто выполнять запрос, но каждый раз с новыми значе- ниями условий, используют запрос с параметрами. Такие запросы дают возмож- ность осуществить поиск данных по различным фамилиям, годам, типам, орга- низациям и т.д. Как и другие запросы, запросы с параметрами можно использовать в качестве ос- новы для форм и отчетов. Параметром называют прототип значения, которое необходимо задать сразу после запуска запроса. Для задания параметров используется ячейка свойства Условия отбора в запросе на выборку или в перекрестном запросе. Текст, выво- димый в окне запроса параметра (текст приглашения), в ячейке свойства Усло- вия отбора заключается в квадратные скобки. Ниже рассматривается пример создания запросов с параметрами, которые могут быть использованы в проекте электронной библиотеки. Предположим, что на основе запроса Авторский список (вспомогатель- ная выборка ) нужно создать запрос Авторы на * и позиция с параметрами, с по- мощью которого будут отбираться авторы по первой букве фамилии и по номеру позиции в авторском списке. И буква, и номер позиции будут параметрами, т.е. они будут вводиться непосредственно перед выполнением отбора данных. Откройте пустой бланк запроса в режиме конструктора. Добавьте в него за- прос Авторский список (вспомогательная выборка}. Перетащите нужные поля в столбцы бланка запроса. Для задания параметров выполните следующее: 1. В поле, в котором отображаются фамилии авторов, в ячейку свойства Ус- ловие отбора введите следующее выражение: Like [Первая буква фами- лии автора:Обратите внимание, что здесь использован параметр с подстановочным знаком. 2. В поле, где содержится номер позиции автора, введите следующее выра- жение (рис. 7.47): [Позиция автора в авторском списке:]. Поле: Имя таблицы Сортировка Выеод нв экран. Условие отбора: Автор Авторский список (вспомогательная выбор Позиция автора Авторский список (вспомогательная Like [Первая буква фамилии автора | & (Позиция автора в авторском списке J * г '.Л, Название I • Данные документов Рис. 7.47 Значения свойств запроса Авторы на * и позиция с параметрами Поле, для которого задается параметр, может не выводиться на экран. То есть фла- жок Вывод на экран для него может быть сброшен* 3. Перейдите в режим таблицы и проверьте действие заданных условий. Первым появится окно запроса параметра, расположенного в бланке за- проса слева (рис. 7.48)
286 Рис. 7.48 Окно запроса параметра, расположенного в бланке запроса слева Глава? Запросы 4. После того как оба параметра будут заданы, появится таблица результатов запроса (рис. 7.49). Рис. 7-49 Таблица результатов запроса с параметрами (авторы, фамилии которых начинаются с буквы «К», а в авторском списке они стоят на втором месте) Холылов И Ф Куликов Й П | Кудрявцев A M । Кудрявцева П.М I- ЛГЧЬ *. Х-: *:. у> ЗУ» Ю Комелес В.Е ; 2 Введение в философию ма-ериализма 2 Материя в современном естествоманж 2 Матернапоный мир 2 Торы’ современной материн 2 Слово о материализме 5, Сохраните запрос под именем Авторы на * и позиция с параметрами. Можно задать интервал значений в одном условии. Например, в приведенном выше примере для поля, где содержатся фамилии авторов, задайте: Between [На- чальная буква интервала:]&( And [Конечная буква интервала:]&* Будут выведены два последовательных окна запроса параметра: «Начальная бук- ва интервала» и «Конечная буква интервала». В некоторых случаях для задаваемых параметров необходимо указывать тип данных. Это нужно делать, если запрос с параметрами является перекрестным запросом или базовым запросом для перекрестного, а также базовым запросом для диаграмм, запросом для логических полей или запросом для полей из таблицы внешней базы SQL. Чтобы задать тип данных для задаваемых параметров: 1. В разделе Показать и скрыть Ленты щелкните команду Параметры. На экране появится диалоговое окно Параметры запроса (рис. 7.50). Рис. 7.50 Диалоговое окно Параметры запроса
Создание запросов в Access 287 2. Введите в ячейки столбца Параметр приглашения, введенные в бланк за- проса. Не делайте ошибок в написании приглашений параметров в окне Параметры за- проса. Это может привести к появлению «лишних» окон ввода параметров при за- пуске запроса. I 3. В ячейках столбца Тип данных выберите требуемый тип данных из рас- крывающегося списка согласно таблице 7.11. Таблица 7.11. Типы данных параметров Тил данных параметра Тип данных, выбираемый в окне Параметры запроса Денежный, Дата/время, Поле МЕМО, Поле объекта OLE Тексто- вый, Логический соответственно Денежный, Дата/время, Поле МЕМО, Поле объекта OLE, Текстовый, Логический соответственно. Байт, Одинарное с плавающей точкой, Двойное с плавающей точкой, Целое, Числовой Длинное целое, Код репликации (в соответствии с пятью значениями свойства Размер поля типа данных параметра). Неизвестен Значение. Этот тип позволяет принимать в параметре данные любого типа. । 4. Закройте окно Параметры запроса, щелкнув кнопку ОК. Для просмотра результатов перейдите в режим таблицы и введите значения параметров. В Access имеется возможность создания для ввода параметров пользователь- ского диалогового окна, основанного на форме (формы рассматриваются в гла- ве 8 «Формы»). Методика создания пользовательского диалогового окна параметров следующая: 1. Создайте форму для пользовательского диалогового окна. 2. Откройте (или создайте) запрос с параметрами, условия отбора которого будут вводиться в пользовательском диалоговом окне. 3. Перетащите в бланк запроса поля, связанные с каждым из элементов управления пользовательского диалогового окна, из которого будут вво- диться значения для условий отбора. 4. Задайте в ячейках свойства Условие отбора выражения, указывающее на то, что значения условий содержатся в элементах управления пользова- тельского диалогового окна. 5. Добавьте в бланк запроса поля, значения которых должны возвращаться, и завершите создание запроса.
288 Глава 7. Запросы Запросы на удаление записей Прежде, чем выполнять созданный запрос на удаление записей, можно с по- мощью перехода в режим таблицы просмотреть отобранные им записи. Только после того, как записи были проверены, можно запустить запрос. Резервное копирование базы данных Рекомендуется всегда делать резервные копии таблиц или базы данных, особенно перед выполнением таких ответственных действий, как запуск запросов на измене- ние. Тогда, если были удалены не те записи, их можно восстановить из резервных копий. Чтобы создать резервную копию базы данных в меню кнопки «Office» вы- берите команду Управление | Резервная копия базы данных. Откроется диалоговое окно Сохранение, где по умолчанию к исходному названию файла базы данных будет добавлена текущая дата ^рис. 7.51). Щелкните кнопку Сохра- нить и приступайте к работе с запросами на изменение. Рис. 7.51 Сохраните резервную копию базы данных В запросе но удаление, содержащем более одной таблицы, свойство Уникаль- ные записи должно иметь значения Да.
Создание запросов в Access 289 Как уже обсуждалось (см. раздел «Запросы на выборку и его разновидности» выше в этой главе), в таблице Авторы может содержаться несколько «лишних» записей. Их легко найти, создав запрос на поиск записей без подчиненных (с по- мощью мастера), основываясь на связи между таблицами Авторы и Авторы до- кументов («один-ко-многим»). Построение запроса на поиск записей без подчиненных Г----------------------------------------------------------- Запрос в этом случае строится достаточно просто. Для объединения таблиц берется вариант, в котором выбираются все записи из таблицы Авторы и только те записи из таблицы Авторы документов, в которых поля ID автора совпадают. Затем накла- дывается условие в поле запроса ID автора, выбранного из таблицы Авторы доку- ментов: Is Null (рис 7.52). • — —1-------------------- * Рис. 7.52 Запрос Авторы без документов (поиск записей без подчиненных) в режиме конструктора Просмотрите записи, которые были отобраны запросом на поиск записей без подчиненных. Затем в разделе Тип запроса Ленты щелкните кнопку Тип запро- са: удаление? чтобы преобразовать запрос. Еще раз просмотрите данные в режи- ме таблицы, вернитесь в режим конструктора и выполните запрос на удаление щелчком кнопки Выполнить на Ленте. Непосредственно перед удалением поя- вится предупреждающее сообщение. В его диалоговом окне щелкните кнопку Да, чтобы подтвердить операцию удаления (рис. 7.53). После удаления восстановить записи будет невозможно. Рис. 7.53 Щелкните кнопку Да, чтобы удалить записи 10 Access 2007
290 Глава 7. Запросы При установленном каскадном удалении записей* в связанных соотношени- ем «один-ко-многим » таблицах, удаление на стороне «1» может привести к уда- лению данных в таблице, находящейся на стороне* ». Вообще, чтобы «почистить» таблицу на стороне «1» нужно сделать следую- щее: 1. Откройте бланк запроса и добавьте в него таблицу (на стороне < 1»), из ко- торой необходимо удалить записи. На Ленте щелкните кнопку Тип запро- са: удаление, чтобы преобразовать созданный запрос в запрос на удаление. В свойствах полей запроса появится новое свойство — Удаление, в рас- крывающемся списке которого только два значения: Из и Условие (первое определяет таблицу, из которой удаляются записи, а второе — поля, со- держащие условия отбора записей, которые следует удалить). 2. Перетащите звездочку (*) из списка полей таблицы в столбец бланка за- проса, чтобы включить в него все поля таблицы. В ячейке Удаление в этом поле появится значение Из. 3. Перетащите поля, для которых необходимо задать условия отбора, в бланк запроса. В ячейках свойства Удаление в этих полях появится зна- чение Условие. 4. Для полей, перемещенных в бланк запроса, введите условия в ячейку Ус- ловие отбора (см., например, рис. 7.54, где показано, как нужно устано- вить параметры, чтобы удалить из таблицы записи для тех авторов, у ко- торых не указаны имя и отчество). Рис. 7.54 Параметры запроса на удаление записей авторов, у которых не указаны имя и отчество Попе Авторы/ i- чИМяЬ. Имя Отчество 11 »- и 5 ** Авторы из ~ Авторы Условие Авторы Условие Условие отбора < им; ___ Is Null Is Null 5. Просмотрите отобранные записи, перейдя в режиме таблицы. 6. Вернитесь в режим конструктора и щелкните кнопку Вьшолнить, чтобы выполнить запрос. Чтобы удалить записи в обеих таблицах, связанных по типу «один-ко-мно- гим», нужно сделать следующее: 1. Создайте запрос на выборку, содержащий две таблицы, из которых необ- ходимо удалить записи. Добавьте поля в бланк запроса и укажите условия и порядок сортировки. Чтобы увидеть результаты, перейдите в режим таб- лицы. 2. На Ленте щелкните кнопку Тип запроса: удаление, чтобы преобразовать созданный запрос в запрос на удаление. 3. Для связанной таблицы (на стороне ««»), перетащите звездочку (*) в бланк запроса. В ячейке свойства Удаление появится значение Из. 4. Из главной таблицы (на стороне «1») перетащите в бланк запроса поля, для которых необходимо задать условия отбора. В ячейке Удаление в этом поле появляется значение Условие. 5. Введите условия в ячейки Условие отбора.
Создание запросов в Access 291 6. Просмотрите записи, которые будут удалены, в режиме таблипы. Вернув- шись обратно, в режим конструктора, внесите, если нужно, необходимые изменения. 7. Щелкните кнопку Выполнить на Ленте. Будут удалены записи в связан- ной таблице (на стороне ♦<*»). Выделите, а затем удалите из бланка запроса поля, выбранные из связанной таблицы. В полях запроса останутся лишь поля главной таблицы. Чтобы удалить их запустите запрос еше раз. Для таблиц связанных по типу «один-к-одному» необходимо выполнить ана- логичные действия, с той лишь разницей, что в бланк запроса следует перета- щить звездочки (*) обеих таблиц. Запросы на обновление записей Запрос на обновление записей позволяет изменять данные в существующих таблицах. Предположим, нужно «почистить» поле Комментарий в таблице Авторы, заменив в нем все значения на надпись «Без комментариев», так как в нем «хра- нились личные мнения создателя базы данных об авторах и их работах». Чтобы выполнить это с помошью запроса, сделайте следующее: 1. Создай те запрос на основе таблицы Авторы, содержащий обновляемые за- писи. 2. В режиме конструктора запроса на Ленте щелкните кнопку Тип запроса: обновление. В списке свойств полей запроса появятся ячейки свойства Об- новление 3. Перетащите в бланк запроса поля, которые нужно обновить, а также поля, для которых следует задать условие отбора- В данном случае это поле Ком- ментарий. 4. Для поля Комментарий введите в ячейку свойства Обновление значение «Без комментариев». Примеры выражений, используемых в запросах на обновление, привезены в таблице 7.12. Таблица 7.12. Некоторые выражения, используемые в запросах на обновление Выражение Результат обновления "Без комментариев" Изменяются текстовые значения на «Без комментариев» #11.01.99# Изменяются значения даты на J1 -янв-99 .До В логических полях устанавливаются значения «Да» "TH "&[ НомерДиплома] [Стоимость] * [Количество] (Стоимость] * 1 5 К номерам дипломов добавляется серия «ТН» Вычисляются произведения значений полей Стоимость увеличивается в 1,5 раза Left([Адрес], 6) Обрезаются правые знаки в полях так, что остаются толь- ко 6 левых знаков (например, индекс из поля Адрес) llfjls Null([CroHMOCTb]); 0; [Стоимость]) В поле Стоимость значения Null преобразуются в нули
292 Глава?. Запросы 5. Чтобы увидеть поля, которые будут обновлены, перейдите в режим табли- цы. Вы заметите, что таблица содержит «старые» значения (без внесения обновлений). При выполнении запроса эти данные будут изменены. 6 Щелкните кнопку Выполнить на Ленте, чтобы обновить за писи. Непо- средственно перед изменением данных будет выведено предупреждающее сообщение. Если между таблицами установлены связи, поле объединения на стороне « » мож- но обновить без проблем. А поле на стороне «J» можно обновлять только, если при задании связей было установлено каскадное обновление При обновлении данных все значения, зависящиеотизменяемыхданных, пересчитываются автоматически Чтобы обновить таблицу на основе данных другой таблицы, нужно создать запрос, содержащий обновляемую таблицу и таблицу, служащую источником значений. Если таблицы до этого не были объединены, то следует выполнить объединение по полям, содержащим сопоставляемые данные. Запросы на добавление записей С помощью запросов Этого типа можно добавля гь записи в существующую таблицу. Причем в ячейках свойства запроса Добавление явно указываются поля, в которые будут вс гавлены данные. Запрос на добавление также позволяет задавать условия отбора для добавляемых записей. Предположим, нужно заполнить таблицу Авторские списки данными из за- просов Авторский список и Редакторский список, причем таблица Автор- ские списки пуствиимее1 два текстовых поля для списков Авторы и Редакторы и поле идентификатора документа. Процедура создания такого запроса может быть следующей: 1 Прежде всего, создайте таблицу Авторские списки с помощью конструк- тора таблиц или с помощью запроса (см. следующий раздел «Запросы на создание таблицы» этой главы). Свяжите ее полем 1D докумс нта с табли- цей Данные докумен тов. 2. С помощью конструктора откройте пустой запрос . Добавьте в него запро- сы Авторский список и Редакторский список. Объедините запросы поля- ми идентификаторов документов. 3 На Ленте щелкните кнопку Тип запроса* добавление На экране появится диалоговое окно Добавление (рис. 7.55). В поле имя таблицы введите или выберите с помощью списка имя таблицы, в которую необходимо добавить записи. Если таблица находится в текущей базе данных, установите пере- ключатель в положение в текущей базе данных. Щелкните кнопку ОК. Если таблица находи’ся в другой базе данны к, то установите переключатель в по- ложение в другой базе данных и введите имя базы данных или щелкните кнопку Обзор, чтобы указать пу-ь к базе данных. Разрешается вводить пу~ь к базом дан- ных FoxPro, Paradox или dBASE, з также строку подключения к базе данных SQI Serve*
Создание запросов в Access 293 Рис. 7.55 Диалоговое окно Добавление 4. Перетащите из списка полей в бланк запроса поля, которые необходимо добавить или которые будут использоваться при определении условия от- бора. В данном случае перетащите: поля ID документа и Авторский спи сок из таблицы Авторский список и поле Редакторский список из табли- цы Редакторский список. Поле счетчика в запросе на добавление записей Если в таблице, принимающей записи, задано поле счетчика, не следует в запросе перетаскивать поле счетчика в бланк запроса. Тогда при добавлении записей значе- ния в поле счетчика вставляются автоматически. Первая добавленная запись получит значение на единицу большее, чем имела последняя запись принимающей таблицы Если, наоборот, необходимо сохранить в поле счетчика значения из исходной таб- лицы, перетащите при создании запроса поле счетчика в бланк запроса 5. В ячейках свойств Добавление следует указать поля принимающей табли- цы, в которые будут вставлены данные. Если поля имеют одинаковые име- на, то они вводятся в ячейки Добавление автоматически. 6. Если нужно, задайте условия отбора. Например, чтобы игнорировать пус- тые поля задайте Is Not Null. В данном случае условия отбора не нужны, и ячейки свойств должны иметь вид, как показано на рис. 7.56. Рис. 7.56 Заполните ячейки свойств запроса на добавление ИЛ* 7. Сохраните запрос под именем Заполнение таблицы Авторские списки Перейдите в режим таблицы, чтобы просмотреть записи, которые будут добавлены. 8. Вернувшись в режим конструктора, щелкните на Ленте кнопку Выпол- нить, чтобы добавить записи. Проверьте таблицу Авторские списки на на- личие добавленных записей.
294 Глава?. Запросы Запросы на создание таблицы Запросы яа создание таблицы используются с целью копирования де иных из одяой таблицы в другую, а также для архивирования данных. В этих запросах все данные из одной или нескольких таблиц переносятся в новую т абл ицу. Одна ко во вновь созданной таблице они не наследуют свойства полей или настройки к лючевых полей исходных таблиц. Чтобы создать таблицу с помощью запроса выполните следующее: 1. Откройте бланк запроса и добавьте в него таблицы или запросы, из кото- рых следует выбрать данные для новей таблицы 2. На Ленте щелкните кнопку Тип запроса: создание таблицы. Откроется диалоговое окно Создание таблицы (рис. 7.57) В иоле имя таблицы введи те имя таблицы, которую необходимо создать. Если таблица создается в текущей базе тайных, установите переключатель в положение в текущей базе данных. Если это не так, то установите в друг ой базе данных и введи- те имя базы данных или щелкните кнопку Обзор, чтобы указать путь к базе данных. Щелкните кнопку ОК. Рис. 7.57 Диа югое ое окно Создание т аблицы 3. Перетащите из списка полей в бланк запроса поля, которые нужно добя вить в новую т абли цу. При необходимости введите условия в ячейку Усло- вие отбора 4. Перейдите в режим таблицы для просмотра новой таблицы перед ее с< зда- нием. 5. Чтобы создать новую таблицу щелкните кнопку Выполнить на Ленте Появится предупреждающее сообщение (рис. 7.58). После того как вы щелкни ге в нем кнопку ОК, таблица будет создана. Рис. 7.58 Предупреждающее сообщение о создании таблицы S' Созданную с помощью запроса на создание таблицы таблицу-получатель данных и базу данных, в которой она расположена можно увидеть в свой/ твах запроса (рис. 7 59).
Использование полей с несколькими значениями в запросах 295 Рис. 7.59 Свойства запроса на создание таблицы Использование полей с несколькими значениями в запросах В Асеева 2007 можно использовать поля с несколькими значениями данных. При создании запросов, содержащих такие поля, вы можете управлять спосо- бом отображения данных: в одном поле с несколькими значениями или в раздельных записях (рис. 7.60). I Ю ДОЧИНИМ Дат» 0*000,1 ИСТ0МИМ1Я Комментарий И '-‘ваиднна _ г-,.-,----- Йим пйптЛг I Данные докуменп Дениме докуыекгев OfrwpWe -rf Woa а?Д*10М»ЭТв Нзявям9 издании Иаидатвяьгтвв Песмод а нгтонмняу Паи* гчЕяиито Рр*д*гторл Имя ШМИЦЫ ]дмиые до^умднтоя ценные д кушитов СяргМроШ? £ Т ор*Г гпеременной материи Выгодой мдте’»»ал,**“ в философии Ььпов'пй материализм в философии ькгэтжпй митермяпизм в философии /Бытовой материализм в фнпософ»** .ввеаемне в фтхофню мягерттагл^змз {~Введение в философию мдгериапища ________ Er%«eTpi5nH<o^>eM«irtw,TMeriq)«apb>K«MHp« 10 Геометрия в современном мат эриага>ном 13 Кружил*^ А В _____ 7*ч«д^афи«еп»сий иягтерналиш^ ________ 1в Никифоров Й Н 1 Доисторический материализм 1 ^Морозова ЕГ___________________________| '"V дг. - л < ' > - " " т < у < t- <• ' •. « у ♦ **^*4 Ю -рад&пора VsM 1 Редаглор |Радвятары!|Фтв1ЛИЯ| ‘ *|Рвдвстор^.1|Ии4цняпы1 £L IB Якутией Н С_ LL JL’t»™»- 5 _ 18 Орлова УУГ _ 16 Ниютфорое В Н Д1Д»%«Д< 12Гв>*гашВБ Рис. 7 60 Использование полей с несколькими значениями в запросах: в виде полей с несколькими значениями (вверху) и в виде отдельных записей (внизу) ГТ>ЛГГИ«ИИ* *4
296 Глава 7. Запросы Чтобы сохранить поле с несколькими значения ии в таблице запроса, из ма кет а таблицы в режиме конструктора запроса следует добавлять заголовок поля (см. рис. 7.60 вверху). В данном примере оно имеет имя ID pi дактора. Чтобы «разделить записи» полей с несколькими значениями, из макета таб лицы в режиме коне груктора запроса следует добав шт ь значения п эля (см. рис. 7.60 внизу). В данном примере им соответствует ID редактора.^ а/ие. Изменение данных из запроса в оежиме таблицы Изменять данные в таблицах с помощью запросов, открытых в режиме таб- лицы, можно, одная о здесь есть определенные огран ичения. Нужно заметит]. что запросы сами по себе не предназначены для таких действий, но иногда, на- пример, когда запрос предназначен для отбора некоррекз ных данных, такой способ может быть наиболее удобным. Другим способом внесения изменений в данные с помощью загроса является один из типов запросов на изменение (см. раздел «Запросы но обновление записей» выше в этом главе f. Если запросы основаны нь одной таблице или на таблицах, связанны к отно шением «один-к-одному», данные с помощью таблицы результатов запроса м^жно спокойно редактировать (за исключением случаев, koi да сами поля таб- лиц не допускают изменения данных — это поля итогов, вычисляемые поля, поля группировки). а Если изменение данных в запросе не допускается, вы или не гможе~е это сделать или услышите звуковой сигнал от Widows. Нельзя редактировать данные с помощью перекрестных запросов и запросов SQL. Также нельзя редактировать данные в запросе, если его свойство Уникальные значения имеет значение ас Измените его на Нет чтобы получить возможность редактирования донных с помощью данного запроса Для запросов, основанных на таблицах с отношением «оцин-ко-многим», об новление возможно не всегда Например, поле объединенных таблиц на стороне «1» можно обновить, есл и вк пючено каскадное обновление в связи между двумя таблицами. Поля объединенных табл иц на стороне « » (пос не обновления деь ных на стороне «один»), можно обновлять после сохранен ия запи< и. Зя более подробными сведениями о возможности обновления записей из з» просов можно образ из ьея к справочной системе Access.
Просмотр зависимостей запроса 297 Просмотр зависимостей запроса Кнопка Зависимости объектов находящаяся в разделе Показать и скрыть вкладки Работа с базами данных Ленты, открывает панель Зависимости объек- тов (рис. 7.61) для открытого объекта базы данных или объекта, выделенного в области переходов. Рис,7 61 Панель Зависимости объектов открытая для запроса Зависимое? и ЬБ ъен год Запрос Страт** 5 ихоров О Обыжт зависящее* данного <♦) Объекту ©т которых миксит д⹫й Ез Таблицы В Авторы А Таблица: Авторы документов Таблице: Авторы 13 И ТЪбгыиа: Данные документов 73 Таблице: Авторы документов 0J Таблща: Владельцы S j Таблица» Издательства Н Таблица0 Карточка и гт] Таблица- Редутам fcfl Таблад т<пы документов И Таблица? Язык В ГП Таблица: Организации ГП "’аблша; Авторы Ш ГЛ Авторы депонентов I Ы Щ) Данн we документов . В Запоосы Нет В Формы L Нет F F1 Отчеты Нет Справка что вызывает здаадсимрстй^ В этой панели Access отображает сведения о зависимостях между объектами базы данных (таблицами, запросами, формами и отчетами). Просмотр списка зависимых объектов помогает предотвратить ошибки, связанные с потерей ис- точников записей. Например, если какой-то запрос базы данных уже не нужен, его можно удалить. Но прежде, чем это сделать, целесообразно проверить, есть ли другие объекты, использующие этот запрос. Тогда можно будет принять решение и либо изменить зависимые объекты, либо также удалить их. В панели Зависимости объектов есть следующие элементы управления (см рис. 7.61): Ссылка на объект, зависимости которого отображаются в панели. Ее можно использовать для открытия объекта в рабочей области Просто щелкните эту ссылку. Ссылка Обновить Если вы ее щелкните, то содержание списка зависимо- стей будет обновлено. Это следует делать, например, если вы выделили дру- гой объект в области переходов.
298 Глава 7. Запросы Переключатель отображения зависящих и зависимых объектов. Устано- вите его в одно из по, южений: Объекты, зависящие от данного ил и Объек- ты, от которых зависит данный Ссылка Что вызывает зависимости? Она открывает соответствующий раздел справочной сися емы Access. В центральной части панели расположена схема зависимости объекта. Объ- екты на схеме расположены по разделам. Таблицы, Запросы, Формы и Отчеты. Щелкните значок в виде «квадратика со знаком плюс внутри», чтобы раскрыть раздел или отобразить зависимости нижнего уровня, или значок в виде «квадра- тика со знаком минус», чтобы свернуть раздел или уровень зависимостей. Программа Access используетдля построения зависимостей объектов сведения, со- храняемые средством автозамены имен (см. раздел «Автозамена имен полей» гла- вы 6 «Работа с таблицами»/. В таблице 7 13 указаны зависимости между различными объектами базы данных, а также обстоятельства, на основании которых они устанавл иваются в программе Access. Эти сведения можно использовать при поиске и удалении зависимостей перед удалением объекта. Таблица 7.13. Природа зависимостей объектов базы данных Зависимость Причина возникновения таблица от таблицы или запроса между таблицами и запросами установлены отношения или связи; наличие подтаблицы, подстановка в поля таблицы значений из другого объекта таблица от формы в поля таблицы подставляются данные из формы запрос от таблицы или запроса • между таблицами и запросами установлены отношения или связи; запрос подсоединен к таблице или отчету форма от таблицы или запроса форма или подчиненная ей форма присоединена к табли- це или запросу, списки или поля со списками формы получают данные из таблицы или запроса форма от формы одна форма является подчиненной для другой отчет от таблицы или запроса отчет или подчиненный ему отчет присоединены к таблице или запросу; списки или поля со списками от чета получают донные из таблицы или запроса отчет от формы отчет содержит форму в качестве подчиненной отчет от отчета один отчет является подчиненным для другого
Создание основных запросов: проект электронной библиотеки 299 Некоторые объекты не отображаются в зависимостях При построении зависимостей некоторые объекты могут игнорироваться по двум J причинам: недостоточно разрешений от владельца базы данных, а также объекты не поддерживают автозамену имен (это запросы на изменение и запросы SQL) Из рис. 7.62 видно, что для таблицы Проверочная таблица нет объектов, ко- торые от нее зависят. Поэтому ее можно удалить без какого-либо ущерба. Рис. 7.62 Зависимости таблицы Проверочная таблица х w 00 X ; Таблиц*? Гкх*»вр<Мн^ ОбйсЛйть 0 Объекты, завкяинеон- данного ' О Сбыэсы, «’«"котфьих ааннье-. 5 ТЙлмм ' . Нет . Н Запросы Нет : ~ Формы Нет 4S Отче™ Нет М^йеываетэавнсй!- т,# Создание основных запросов: проект электронной библиотеки Запросы работают «внутри» базы данных. Поэтому этот инструмент досту- пен, в основном, владельцу (или администратору) базы данных. Запросы, кото- рые создаются для модификации данных, чаще всего предназначаются для вы- полнения временной или периодической работы (например, поиск конкретной ошибки или всех сведений об определенном авторе) или для обслуживания базы (например, резервное копирование основных данных). Запросы, которые ис- пользуются в качестве основы форм и отчетов запускаются непосредственно из этих объектов базы данных, оставаясь также «невидимыми» для пользователей. Конкретный тип и структура упомянутых запросов зависят от других объек- тов базы данных и способов применения и поддержки базы данных Примеры запросов, рассмотренные в этой главе, могут быть основой для создания запро гов в конкретной реализации базы данных электронной библиотеки. Для предложенного в главе 2 «Планирование баз данных» проекта электрон- ной библиотеки с помощью запросов может быть решен вопрос создания «стан- дартной» формы представления ссылки на электронный документ. Хотя основ- ные данные для документа хранятся в таблице Данные документов, сведения, которые могут быть из нее выбраны, не полностью соответствуют привычной для читателей форме библиографической ссылки (или каталожной карточки) Некоторые данные хранятся в других таблицах, имеющих связь с таблицей Данные документов. А данные об авторах и редакторах вообще хранятся в от- дельных таблицах, связанных с таблицей Данные документов по типу «мно гие-ко многим», что не позволяет «добраться» до них обычным запросом на вы
300 Г лава 7 За, юо< ы борку. Для этого нужно создать последовательно выполняе мне запрос ы на вы- борку, перекрестные запросы, а также использовать вычисляемые поля и запросы на добавление дан аых в таблицу (см. раздел «Соз да ние запросов вАссевз» ирис. 7.42-7 4би 7.56 настоящей главы). Сих помощью можно для ка- зн того документа в специальной (обновляемой) таблице создать поля, в кс горых будут содержаться строки авторских списков, содержащие не более трех фамг лий для каждого документ а. Идентификационное поле этой таблицы будет соот- ветствива гь связи по типу «олин-к-одному» полю ID документа таблицы Данные Ооку ментов. I---------------------------------------------------------------- Как ни странно, получить список редакторов «в строке» в рассматриваемом проекте электронной библиотеки сложнее, чем авторский список. Связано это с тем. что дон- ные о позиции каждого автора хранятся в «связующей» таблице Авторы документов, а позиции редакторов в списке вообще не сохраняются, так как для связи таблиц Дачные документов и Редакторы использоеонс поле с несколькими значениями. И здесь для формирования списка придется «опираться» либо на сортировку запи- сей по какому-либо полю, либо расставлять авторов по алфавиту. Эти обстоятельст- во позволяют утверждать, что редакторов целесообразно «подключить» к докумен- там таким же способом, чтс и авторов, то есть через «связующую» таблицу, отказав- шись от поля с нескольким^ значениями. Но в данном проекте электронной библиотеки этого сделано не будет, так как она является всего лишь призером, рас- сматриваемым в ‘'.ниге Сказанное выше означает, что имеется возможность формирования «эл sk- тронной карточки» документа, например, следующего виде' ID документа в электронной библиотеки Значение поля, лс которому производился отбор Название документа Авторы документа (не более трех фамилий) Ссылка на документ Тил документа (и/или значок связанного или внедренного ооъекта) Количество страниц Редакторы документа не более трех фамилий) Комментарий к документу Или ее краткой формы («элект ронной ссылки») в виде: Гиперссылка на документ (или значок связанного объекта) На твание документа Авторы документа (не более трех фамилий) Тип документа Издательство Год издания Количество страниц
Создание основных запросов: проект электронной библиотеки 301 Такие «электронные карточки» и «электронные ссылки» должны играть роль «стандарта» представления сведений о документах при любых действиях в конкретной электронной библиотеке. На их основе должны быть построены все формы поиска документов. Список авторов, а вместе с ним и содержание электронной карточки, не могут обновляться автоматически за счет связей, установленных в базе данных. Есте- ственным способом их обновления является запуск формирующих запросов и обновление за счет объединения данных таблицы Данные, документов, других таблиц и запроса (таблицы) Авторе кие списки (рис. 7.63). ^Данныедокументов Авторские гпадси Владельцы' V ID владельца Авторское право 9 ID издательства Издательство Адрес Телефон Комментарий V ID языка Язык 9 1D документа Авторы Редакторы Рис. 7.63 Схема объединения данных в таблице Данные документов, других таблицах и запросе (таблице) Авторские списки для формирования электронной карточки (запрос Карточка (все данные)) > ID типа Тип Комментарий 1D документа Дата Название ID типа Год издания ID издательства Переход к источнику Переход к источнику, FHeData Переход к источнику Filename Переход к источнику ЕЯеТуре Гиперссылка источника ID редактора (D редактора. Value Ю языка Количество страниц Количество рисунков Количество ссылок Твердая копия Комментарий ID владельца По этой схеме, с помощью запроса, можно сформировать электронные кар- точки (электронные ссылки) для всех документов, содержащихся в электрон- ной библиотеке. Запрос, формирующий электронные карточки, может запус- каться всякий раз при проведении отдельного поиска документов. При этом необходимо обеспечить своевременное обновление таблицы Автор- ские списки, поля которой в нем участвуют. Это необходимо делать (например, с помощью специального макроса): При открытии базы данных. После добавления новых документов в базу данных. Например, по собы- тию — закрытие формы ввода данных в таблицу Данные документов. После обновления или корректировки полей таблиц Авторы документов (все поля), Авторы (поля Фамилия и Инициалы), Редакторы (поля Фамилия и Инициалы) и поля ID редактора в таблице Данные документов- Например, по событию — закрытие формы ввода данных в соответствующие таблицы. Макрос лля обновления таблицы Авторские списки и условия его выполне- ния будут рассмотрены в главе 10 «Макросы».
Глава 8 Формы Форма — это объект базы данных, с которым непосредственно работает ноль* зователь. Привлекательные и корректно построенные формы делают работу пользователя не только приятнее и эффективнее, но также могут предотвращать его ошибки и защищать данные. Формы отображают данные из таблиц или запросов, а также обеспечивают ввод данных в базу и выполнение заданных пользователем действий. Большин- ство форм обычно присоединены к одной или нескольким таблицам или запро- сам базы данных. Источником данных, отображаемых в них, являются поля в базовых таблицах и запросах. Форма не обязательно должна включать все поля из каждой таблицы или запроса. Очень часто в формы добавляются элемен- ты управления. Может быть, именно поэтому они разнообразнее и сложнее дру- гих объектов. Также, может быть, в связи с этим некоторые пользователи тра- тят много времени и сил на создание удобных и красивых форм в своей базе данных. Элементы управления Элемент управления — объект графического интерфейса пользователя (поле, спи- сок, переключатель, набор вкладок, кнопка и др.), позволяющий управлять програм- мами. В базе данных элементы управления используются для упрощения работы пользователя при отображении данных, вводе параметров и выполнении действий. Для вводя и вывода данных в форме чаще всего используется поле. Обычно к полю добавляется надпись, указывающая на то, какие данные оно содержит (рис. 8.1). Для ввода данных и выполнения действий, определяемых введенными дан- ными, используются всплывающие формы в виде пользовательских диалого- вых окон (рис. 8-2). Частным случаем форм являются также так называемые «кнопочные фор- мы», которые содержат только кнопки (элементы управления). С их помощью открываются другие формы или отчеты базы данных или выполняются другие действия. Создавать формы можно различными способами — с помощью мастеров, по шаблонам или н режиме конструктора. Для того чтобы «добраться » до любого из этих средств, используются кнопки, находящиеся в разделе Формы вкладки Создание Ленты (рис. 8.3).
304 Глава 8. Формы Рис. 8.1 Поля с надписями в форме Сведения о сотрудниках учебной базы данных Борей 2007 Рис. 8.2 Форма в виде пользовательского диалогового окна Но первый взгляд , кажется, что кнопок для создания форм слишком много, и в них легко запутаться, Но объясняется это тем, что большинство из них позволяют соз- дать ту или иную форму «одним щелчком». Много кнопок, потому что существует много видов форм. Рис. 8.3 Кнопки для создания форм Создание ениаи форма Конггругоп ИД Несколько злеиакгош ЛПрым $ » I “ «.Rf—> - *>!
Режимы формы 305 Режимы формы Форма имеет наибольшее количество режимов из всех объектов базы данных: Типы документов Типы документов ез A У 1 / —— 1 ип IM' Комментарий Учебный, методмч₽схий ы It » 1 Ютила Г Ютила 3 Комментарий Учебный, методический < « J*af> > II < , fa HltFCMjitlKti OHCt - иры|доку^ 8 {Учебный 9 23 Типы документов 5. в Учебник___ 2 Учебное пособие „---- 3 v4g6HO-методическое пособие Y небный, методический Учебнаяпрсмршма ^Учебный, методический Уч^-бно-метол мческиеразр^дуки рУче^ф^, методический ITT . _ Курс лекций, лекция J Учебный_____________ Методические Pgwo+лгццации Методический Р" Учебно-наг пядное opcode Учебный ___ | Сборжу тегтпдыж задашй {Учебный_____________ !Г Рис- 8-4 Различные режимы одной и той же простой формы, созданной из таблицы Типы документов: режим формы (слева вверху), режим макета (справа вверху), режим конструктора (слева внизу) и режим таблицы (справа внизу) ; ь. л; г». < ) ч./х — Учебный I» Ютила Тил Комментарий Режим формы. Это основной режим, т.е. режим, в котором пользователи работают с формой (рис. 8.4 слева вверху). Режим макета. Этот режим предназначен для интерактивной настройки макета формы (рис. 8.4 справа вверху). Например, вы можете добавлять но- вые поля простым перетаскиванием из панели Список полей, выравнивать и форматировать элементы структуры, добавлять рисунки и др. При этом форма отображается так, как она выглядела бы в режиме формы (вместе с данными). Режим конструктора. Этот режим предназначен для создания и настрой- ки формы и ее элементов (рис. 8.4 слева внизу). Режим таблицы. В этом режиме поля данных, имеющиеся в форме, пред- ставляются в виде таблицы (рис. 8.4 справа внизу). Режимы сводной таблицы и сводной диаграммы. В этом режиме данные формы представляются в виде сводной таблицы или сводной диаграммы. Эти режимы удобно использовать для анализа данных (подробнее они опи- саны в главе 11 «Сводные таблицы и диаграммы»). Форма открывается (например, двойным шелчком в области переходов) в ре- жиме, заданном в ее свойстве Режим по умолчанию. Обычно это режим формы (Одиночная форма или Ленточная форма).
306 Глава 8. Формы В области переходов можно отобразить контекстное меню формы (рис. 8.5 слева), в котором есть команды для ее открытия в трех режимах: режи- ме по умолчанию (команда Открыть), режиме макета (Режим макета) и режиме конструктора (Конструктор). Кроме того» открыть выделенную форму можно просто нажав клавишу Enter, а изменить режим представления открытой фор- мы — с помощью кнопки и списка Вид (в разделе Представления одной из вкла- док Ленты, например Главная или Конструктор, рис. 8.5 справа) Рис. 8.5 Контекстное меню формы в области переходов (слева) и меню кнопки Вид Ленты (справа) d Открыть Ы Режим «мкетв мн | Экспорт Переименовать । £кръгп»в этой группе । Хдалить # Ймремть ЦД Копировать 4 Вставить ;ДР Свойстве представления Не все режимы могут быть доступны Режимы, содержащиеся в списке Вид, зависят от значений свойств Режим фор- мы, Режим таблицы, Режим сводной таблицы, Режим сводной диа- граммы и Разрешить режим макета формы (рис. 8.6). Если для них устано- вить значение Нет (вместо Да по умолчанию), то соответствующие режимы для формы будут запрещены, а следовательно «затенены» в списке ее режимов или удалены из него. Режим конструктора «отменить» нельзя. Рис. 8.6 Вкладка Макет окна свойств формы
Режимы формы 307 Свойства формы Форма в базе данных имеет более 100 свойств (дополнительно каждый элемент управления, поле или раздел имеют свои свойства). Естественно, что даже краткое описание свойств формы не только займет слишком много места, но и будет весьма утомительным, а многие свойства вы вряд ли «напрямую» будете использовать в своей работе. Многие значения свойств формы в Access задаются с помощью ин- терактивных инструментов программы. Поэтому ниже в этой главе будут рассмот- рены только те свойства, которые необходимы для описания поведения формы при выполнении пользователем тех или иных действий. Если вы хотите узнать подроб- нее о каком-либо свойстве формы, воспользуйтесь справочной системой програм- мы. Для этого установите курсор ввода в ячейку значения свойство и нажмите кла- вишу FT. Откроется раздел справочной системы с описанием данного свойства Также краткое описание свойства можно увидеть в строке состояния программы. Режим формы и режим таблицы Это два режима» в которых с помощью форм выполняется ввод или измене- ние данных таблиц. Естественно, режим формы используется чаще. Но в тех случаях, когда нужно именно табличное представление данных (например, ото- бражение подчиненной формы в виде таблицы может быть более компактно), используется режим таблицы (на рис. 8.4 показана форма, построенная на осно- ве таблицы Типы документов, в режиме формы и в режиме таблицы). Форму в режиме таблицы легко принять за таблицу — настолько они могут быть внешне похожи. Данные в ней сгруппированы по строкам и столбцам таб- лицы. В режиме формы поля данных могут располагаться по-разному. Если поля (и надписи к ним) располагаются в области данных преимущественно свер- ху вниз в один или несколько столбцов, а на экран выводятся только по одной за- писи, такое построение называется простой формой (формой в столбец или оди- ночной формой) (см- рис. 8.4). Если поля располагаются в области данных пре- имущественно друг за другом в одной строке (надписи к ним располагаются в разделе заголовка формы), а каждая следующая запись отображается на экра- не снизу от предыдущей, такое построение называется ленточной формой (рис. 8.7). Такое построение может быть очень похожим на режим таблицы. Рис. 8.7 Ленточная форма
308 Г лава 8. Формы Количество одновременно отображаемых записей ^1 Строгой границы между построениями формы нет. Количество отображаемых на , экране записей определяется свойством формы Режим по умолчанию (вкладка Макет окна свойств формы). Если этому свойству задать значение Ленточные формы, то даже при расположении всех полей в один столбец на экран будут вы- водиться все записи (или, точнее, столько записей, сколько там может поместиться). В режимах формы и таблицы доступны все необходимые инструменты для работы с данными: добавление и исправление записей, сортировка, фильтры, поиск, печать и т.д. (все это делается так же, как и при работе с таблицами, см. главу 6 «Работа с таблицами»). Переход между записями и в режиме формы, и в режиме таблицы осуществ- * ляется с помощью кнопочной панели, точно такой же, как и у таблиц (см. рис. 8.7), расположенной в нижней части окна. * Удаление записей I—- ---------------------------------------------.--------- Для удаления записи в режиме формы в простой форме можно использовать кноп- ку Удалить в разделе Записи вкладки Главная Ленты или клавишу Delete. Предварительно нужно выделить всю запись, для чего нужно щелкнуть ее область выделения (прямоугольная область слева от области данных, в которой находится стрелка, направленная вправо, см. рис. 8 8). Рис. 8.8 В формах выделена первая запись я •• г 8 I ипы документов )|Отипя ~~~ [комментарий Тип Учебник [Учебной К М I с— Залвсъ. И 4 1*125 » >1 *—«— '*-*^МВВММ№ rioi 1 Отображение области выделения записи ------------------------------ - Область выделения может не отображаться но экране, если свойству Область вы- деления формы задано значение Нет. Чтобы проверить значение этого свойства, откройте окно свойств формы и найдите его на вкладке Макет
Режимы формы 309 Режим конструктора Режим конструктора (см. рис. 8.4) предназначен для создания и редактирова- ния форм, и в нем они выглядят не так, как в режиме формы. При открытии фор- мы в этом режиме становятся доступными специальные инструменты, сосредото- ченные на контекстных вкладках Конструктор (Инструменты конструктора форм) и Упорядочить (Инструменты конструктора форм) Ленты (рис. 8.9). Рис» 8.9 Вкладки Конструктор (Инструменты конструктора форм) и Упорядочить (Инструменты конструктора форм) Ленты В рабочей области форма представляется в виде нескольких разделов, отде- ленных друг от друга полосами с их названиями (рис. 8.10). Во всех формах со- держится раздел Область данных. Остальные разделы: Заголовок формы, Верх- ний колонтитул, Нижний колонтитул и Примечание формы, в конкретной фор- ме могут отсутствовать. Каждый раздел имеет свое назначение, которое ясно из его названия: Рис. 8.10. Рабочая область формы в режиме конструктора Содержание раздела Заголовок формы остается неизменным для всех запи- сей. Здесь могут содержаться название формы, эмблема, надписи к полям данных, дата, время и т.д. Заголовок формы выводится в верхней части окна формы в режиме формы, я при печати он отображается на первой стра- нице.
310 Глава 8. Формы Содержание раздела Верхний колонтитул отображается только при печати формы. В нем обычно содержатся такие сведения, как Название формы или заголовки столбцов, которые выводятся в верхней части каждой печатной страницы. В разделе Область данных отображаются записи. Может быть задан вывод только одной записи в окне формы или вывод стольких записей, сколько там может уместиться. То же касается и печатных страниц формы. В разделе Нижний колонтитул отображаются такие сведения, как дата или номер страницы. Нижние колонтитулы выводятся только в печатных фор- мах внизу каждой страницы. В разделе Примечание формы отображаются элементы, которые остаются неизменными для каждой записи, например, кнопки или инструкции по • работе с формой. Примечание формы выводится в нижней части окна фор- мы в режиме формы и снизу на первой странице при печати формы. Отображение (или скрытие) верхнего и нижнего колонтитулов» а также заго- ч ловка и примечания формы, осуществляется с помощью контекстного меню за- головка любого раздела (рис. 8.11). Команды Колонтитулы страницы и Заголо- вок/примечание формы работают в режиме выключателя, т.е. когда их кнопки подсвечены, разделы отображаются. Аналогичные кнопки есть в разделе Пока- зать или скрыть вкладки Упорядочить (Инструменты конструктора форм) Ленты. Рис. 8.11 С помощью контекстного меню (слева) и кнопок Ленты (справа) можно управлять отображением или скрытием разделов формы | ftiorabfri» иди «рыть}' формы ....., , » . » . - . --— При удалении разделов формы удаляются и все содержащиеся в них элементов управления,, о чем вы получите предупреждающее сообщение программы Access (рис. 8. J2J. Отмена этого действия невозможна. Рис. 8.12 Вы согласны удалить разделы вместе с содержащимися в них полями и элементами управления? глвгпмтулы прпетцы | ., . .1 1,1 ... I I Л, I
Режимы формы 311 Вкладка Конструктор (Инструменты конструктора форм) Ленты Вкладка Конструктор (Инструменты конструктора форм) Ленты содержит средства для конструирования формы, т.е. для добавления к ней различных по- лей и элементов управления, форматирования данных, а также выполнения не- которых других задач. На вкладке имеются следующие разделы: Представле- ния, Шрифт, Сетка, Элементы управления и Сервис. Ниже кратко рассматривается назначение элементов управления вкладок. Мето- дики их применения подробно рассмотрены в последующих разделах этой главы на примерах форм проекта электронной библиотеки. Раздел Представления содержит только одну кнопку Вид, которая открыва- ет меню для изменения режима формы. Раздел Шрифт (рис. 8.13) содержит средства форматирования шрифта над- писей и полей формы. Естественно, что в форму сначала нужно добавить ка- кие-то поля или элементы управления, а затем к ним можно будет применить форматирование. Выделите надпись или поле и щелкните одну из кнопок или сделайте выбор в списке: Рис. 8.13 Раздел Шрифт вкладки Конструктор (Инструменты конструктора форм) Ленты Список Шрифт позволяет выбрать шрифт из тех, которые установлены в Windows. Кнопки Полужирный, Курсив и Подчеркнутый позволяют применить со- ответствующее начертание. Список Размер шрифта дает возможность задать размер шрифта. Кнопки Выровнять текст по левому краю, По центру и Выровнять текст по правому краю позволяют применить соответствующее выравнивание в поле или элементе управления.
312____________ Глава 8. Формы Кнопки Цвет текста, Цвет заливки/фона и Изменить цвет заливки/фона открывают палитры (рис. 8.14), в которых щелчком мыши на цветовом об- разце можно выбрать соответствующий цвет. Рис. 8.14 Палитры для выбора цвета с помощью цветовых образцов Кнопка Условное открывает диалоговое окно условного форматирован ия поля (рис. 8,15). Здесь вы можете задать оформление данных, котороебудет применено при выполнении заданного условия, и другое оформление, кото- рое будет применено при его невыполнении. Например, можно выделить красным цветом все значения, которые превышают 100 в конкретном поле, или «подсветить» поле, когда в него переходит фокус. Вы можете задавать сразу несколько условий и несколько стилей оформления. Рис. 8.15 Диалоговое окно Условное форматирование Условие! между удалить - формат пр умпичанию Формат, иаюпыуеным при нввыг» гне**«1 условии , Формат, используемый при • вмполнф'ии условия АаВЬЬбЯя Формат не задан Кнопка Формат по образцу позволяет переносить существующи й в форме стиль оформления на другие поля или элементы управления. Выделите поле или надпись, щелкните кнопку Формат по образцу, чтобы скопиро- вать формат, а затем щелкните другое поле или надпись, чтобы применить к ним этот формат. Раздел Сетка (рис. 8.16) содержит элементы управления для форматирова- ния сетки макета формы (рис. 8.17). Здесь находятся 4 кнопки, открывающие три списка и одну палитру:
Режимы формы 313 Рис. 8.16 Раздел Сетка вкладки Конструктор (Инструменты конструктора форм) Ленты Рис. 8.17 К форме Типы документов применена сетка макета из толстых линий черного цвета Можно считать, что сетка макета «играет роль» сетки таблицы, четко разделяя поля данных в различных записях и элементы управления. Но каждое поле или элемент управления могут иметь также свои собственные рамки, оформленные линиями. Список Сетка позволяет выбрать тип сетки (по вертикали, по горизонтали, снаружи, все и т.д.). Откройте список и выберите тип, ориентируясь на схе- мы расположения линий, которые отображаются в списке. После того как вы щелкните один из вариантов, он тут же будет применен к вашей форме. Список Ширина позволяет задать толщину линий сетки. Список Стиль позволяет выбрать стиль линий. Имеются варианты сплош- ных, пунктирных, точечных линий и др. Кнопка Цвет открывает палитру (см. рис. 8.14), в которой можно выбрать цвет линий. Большой раздел Элементы управления содержит кнопки для добавления в форму всевозможных элементов управления. После щелчка некоторых кно- пок указатель «заряжается* элементом управления, и вы должны щелкнуть внутри формы (или перетащить там указатель, если хотите сразу задать размер элемента), чтобы вставить элемент управления в форму. Некоторые кнопки от- крывают диалоговые окна, где вы должны настроить параметры элемента управления, а затем щелкнуть кнопку ОК. чтобы поместить его в форму. И, на- конец, несколько кнопок предназначены для применения к выделенным эле- ментам управления форматирования (они работают подобно кнопкам раздела Сетка
314 Г лава 8. формы Чтобы добавить несколько одинаковых элементов... Чтобы добавить в форму несколько одинаковых элементов управления, можно за- фиксировать кнопку раздела Элементы управления. Для этого щелкните ее дважды. Чтобы отменить фиксацию кнопки, нажмите клавишу Esc Справка по элементам управления и его свойствам Подробные сведения об элементах управления, их свойствах и способах добавле- ния в форму можно найти в справочной системе Access. Чтобы получить справку о выделенном элементе управления или его свойстве (если курсор ввода находится в ячейке свойства}, нажмите клавишу F1. Раздел Элементы управления состоит из трех секций (рис. 8.18). В левой сек- ции расположены четыре кнопки для добавления в форму «стандартных» эле- ментов. Это Эмблема, Заголовок, Номер страницы и Дата и время. Кнопки от- крывают диалоговые окна настройки, а затем добавляют элементы в заранее «обговоренные» позиции (рис. 8.19). Рис. 8.18 Раздел Элементы управления вкладки Конструктор (Инструменты конструктора форм) Ленты I ,.Элементы управления Рис. 8.19 В форму добавлены эмблема, заголовок, номер страницы, а также дата и время: режим формы (вверху), режим предварительного просмотра печати (внизу) ’’ I Имя объекта flh Имя объекта! 3 января 2007 г. 14:07:29 Стрш«ца 1 и» 1 В диалоговом окне вставки эмблемы, вы можете указать ее файл в папках компьютера. Можно использовать файл практически любого графического формата. Кнопка вставки заголовка не открывает диалогового окна, а просто добавля- ет отформатированную в соответствии со стилем формы формальную подпись в раздел Заголовок формы.
Режимы формы 315 В диалоговом окне вставки номеров страниц (рис. 8.20) вы можете с помощью переключателей указать формат номеров страниц (Страница N или Страница N из М), их расположение (верхний колонтитул или нижний колонтитул), вырав- нивание (По левому краю, По центру, По правому краю, Внутри или Снаружи), а также задать или отменить вывод номера на первой странице. Рис. 8.20 Диалоговое окно вставки номеров страниц В диалоговом окне вставки даты и времени (рис. 8.21) можно задать отобра- жение в форме полей содержащих значение функций Date() и Тппе(), а также за- дать их формат. В нижней части окна можно увидеть образец сделанных устано- вок. Поля даты и времени располагаются в левой верхней части формы (в облас- ти заголовка или в области данных, если область заголовка отсутствует). При необходимости их можно перетащить в другое место формы. Рис. 8.21 Диалоговое окно вставки даты и времени I ®Злмю«й»2(Ю7е. ! О 03,01 W . < ---- ... 4 4 « • . ' - * • 0 Лйфив’т врепет ................... о?** Wpawu • • - В центральной секции раздела Элементы управления (см. рис. 8.18) находят- ся кнопки «классическихо элементов управления, которые всем хорошо извест- ны по диалоговым окнам в Windows. Мастера настройки элементов управления ••---“— , --,----------------— . - -----.---— ----—,----- Кнопка Использовать мастера (находится посередине в крайнем правом столб- це раздела) работает вместе с кнопками добавления элементов управления. Если она «включена» (подсвечена), то после добавления большинства элементов авто- матически открывается мастер для их настройки! Мастер с помощью нескольких диалоговых окон позволит вам сразу получить работающий элемент управления в вашей форме. В противном случае вам придется его настраивать (дважды щелк- ните новый элемент управления, чтобы открыть окно его свойств) г
316 Глава 8. Формы Имеются кнопки для следующих элементов управления (сверху вниз слева направо, см. рис.8.18): Поле. Поля можно добавлять также с помощью панели Список полей, кото- рая открывается кнопкой Добавить существующие поля, расположенной на этой же вкладке. Тогда добавляются поля, уже присоединенные к одной из таблиц базы данных. Эта же кнопка позволяет вставлять «свободные* поля. «Свободным» полям можно задавать выражения, которые будут в них отображаться. Выражения строятся в окне свойств элемента упра вле- ния (свойство Данные). См., например, рис. 8.83, где в верхней части вкладки Авторы добавлено вычисляемое поле, состоящее из фамил ии, име- ни и отчества автора. Подпись. Используйте эту кнопку для того, чтобы создать в форме, напри- мер, надпись или поясняющий текст. Кнопка. Кнопки очень просто настраиваются с помощью мастера. Чаще всего их добавляют в разделы примечания или заголовка формы. Поле со списком. Этот элемент управления удобно использовать в формах для поиска данных. Список значений можно составить с помощью мастера. Список. Удобно использовать для задания управляющих параметров путем выбора значения из списка. Подчиненная форма. Подчиненная форма вставляется в данную форму как «элемент управления». Она может быть создана на основе существующей формы или на основе таблицы или запроса с помощью мастера. Линия. Это графический элемент оформления. Прямоугольник. Это графический элемент, который можно использовать, например, для выделения важных полей, групп полей, страниц с данными и др. Присоединенная рамка объекта. Используется для отображения в форме объектов OLE. После настройки присоединенной рамки объекты будут из- меняться при изменении записи источника. Группа переключателей. Содержит набор кнопок, флажков или выключа- телей. Настраивается с помощью мастера. Флажок, Используется для задания управляющих параметров. Переключатель. Используется для задания управляющих параметров. Выключатель. Используется для задания управляющих параметров. Вкладка. Вкладки удобно использовать, например, для многостраничных форм, отображая каждую страницу на отдельной вкладке. Вкладки можно располагать в произвольном месте формы. Вставить вкладку. Если у вас уже есть вкладки, выделите их и щелкните эту кнопку, чтобы добавить еще одну вкладку. Вставить диаграмму. Диаграмма вставляется с помощью мастера, который позволяет выбрать таблицу или запрос, на основе которой она будет по- строена. Удобно использовать этот элемент для отображения статистиче- ских данных. Свободная рамка объекта. Позволяет задать рамку и внедрить в нее (или связать) объект OLE. В отличии от элемента Присоединенная рамка объек- та, объект в этой рамке не изменяется с изменением записи.
Режимы формы 317 Рисунок. К форме добавляется статический рисунок, который не изменяет- ся при изменении записи и не является объектом OLE. Вставить или удалить разрыв страницы. С того места, где вставлен этот элемент, в форме начинается новый экран (или страница). Вставить гиперссылку. Добавляет гиперссылку к форме. В диалоговом окне Добавление гиперссылки (рис. 8.22), которое откроется после щелчка этой кнопки: в поле Текст укажите текст, который будет отображен в фор- ме, в списке Папка выберите папку, в поле со списком Адрес выберите или задайте адрес нужного файла. Если нужно установить переход по гипер- ссылке к другому объекту базы данных, то слева в ряду кнопок Связать с: щелкните объектом в базе данных. Если нужно задать всплывающую под- сказку, которая будет появляться при установке указателя мыши на текст гиперссылки, щелкните кнопку Подсказка и задайте ее текст в диалоговом окне. Чтобы установить переход не к началу документа, а к закладке, соз- данной в документе, щелкните кнопку Закладка. Сделав необходимые ус- тановки, щелкните ОК — гиперссылка появится в форме (рис. 8.23). Рис. 8.23 Гиперссылка на таблицу Типы документов добавлена в форму Рис. 8.22 Диалоговое окно Добавление гиперссылки Добавленная таким образом гиперссылка будет неизменна при отображении в форме любых данных, то есть гиперссылка будет принадлежать форме (ее маке- ту), а не данным. Для того чтобы задать ссылки но документы электронной библио- теки, необходимо в таблице Данные документов создать поле Гиперссылка источ- ника с типом данных Гиперссылка % Таблица Типы доцууштовд ТИП» Гиг амментармй -> и * > Гь Гмйы Документен ; Типы документов Учебник Д4МЯ»: и » t m Л Вложение. Позволяет добавлять к форме вложение.
318 Глава 8, Формы Добавленные в форму поля выделяются простым щелчком мыши или пере- таскиванием ее указателя. Выделенные поля, надписи, гиперссылки и другие элементы управления можно перемещать и изменять их размеры (а также фор- матировать и настраивать их свойства). Выделенный элемент отмечается восе- мью маркерами: по углам ограничивающего его прямоугольника и по центру его сторон (рис. 8.24). Левый верхний маркер по размеру больше остальных. Это маркер перемещения. Остальные семь маркеров — маркеры изменения размеров. Рис. 8.24 Выделенный элемент управления в режиме конструктора формы Маркер перемещения Маркеры изменения размеров ипы документов Только касаться или полностью охватывать Можно настроить способ выделения нескольких элементов управления перетаски- ванием указателя мыши: должна ли прямоугольная рамка только касаться этих эле- ментов или полностью охватывать их. В меню кнопки «Office» щелкните кнопку Параметры Access перейдите в раздел Конструкторы объектов, в секции Формы и отчеты выберите один из параметров в группе Выделение объек- тов* пересечение или охват Когда указатель мыши установлен на маркер изменения размеров, он меняет свой вид (рис. 8.25 вверху). В таком состоянии, перетаскивая указатель мыши, вы можете изменить размер элемента: по горизонтали, по вертикали или одновременно в двух направлениях. Рис. 8.25 Вид указателя мыши при изменении размеров объектов (вверху) и их перемещении (внизу) Для перемещения элемента необходимо установить указатель так, чтобы он изменил свой вид (рис. 8.25 внизу). Указав на маркер перемещения, и удостове- рившись, что указатель изменил свой вид, вы можете перемещать один элемент (даже если были выделены несколько элементов или поле с надписью). Если вы установите указатель на рамку выделения, и он примет такой же вид, то переме- щены будут все выделенные элементы (или поле вместе с его подписью).
Режимы формы 319 Перемещать элементы клавишами со стрелками может быть удобнее * ~---------------------------------- ------ . . _ _ _ _ Скорректировать положение выделенного элемента можно клавишами со стрелка- ми. Если при этом но вкладке Упорядочить (Инструменты конструктора форм) в разделе Макет элемента управления «нажата» кнопка Привязать к сетке, то элемент будет одновременно выравниваться по линиям сетки. Чтобы временно отключить установленный параметр Привязать к сетке, нажмите кла- вишу Ctrl и удерживайте ее при добавлении и перемещении элементов или при из- менении их размеров. После отпускания клавиши Ctrl текущая настройка пара- метра Привязать к сетке будет восстановлена. Изменение размера клавишами со стрелками Клавиша Shift, нажатая вместе с какой-либо клавишей со стрелкой, изменяет раз- меры элемента управления в соответствующем направлении (оставляя неподвиж- ным маркер перемещения). Дополнительно нажатая клавиша Ctrl изменяет шаг приращения размера. Шаг сетки По умолчанию сетка устанавливается размером 10 делений на сантиметр по гори- зонтали и по вертикали. С помощью свойств формы можно изменить шаг сетки. До- пустимыми значениями этих свойств являются целые числа от 1 до 64. Чтобы изме- нить шаг сетки, откроите свойства формы. На вкладке Макет увеличьте или умень- шите значение параметров Число делений по Хи (или) Число делений по Y. В правой секции раздела Элементы управления (рис. 8.26) находятся кнопки для форматирования рамок элементов управления и выполнения с ними других действий. Рис. 8,26 Кнопки форматирования рамок элементов управления
320 Глава 8 Формы Кнопки из левого столбца (Толщина линии, Тип линии и Цвет линии) откры- вают списки и палитру, в которых выбираются соответствующие параметры для выделенных рамок. В среднем столбце: Кнопка Оформление открывает список, в котором можно выбрать оформ- ление выделенного элемента или элементов (обычное, приподнятое, утоп- ленное, с тенью и др.). На рис. 8.27 показаны четыре варианта форматиро- вания и оформления одних и тех же полей формы. Рис. 8.27 Различное оформление рамок полей формы ID документа: | 10 Год издания: [^2002 ID документа; [10 Год издания: 2002 1 । ; 8 л ♦ г > ГЗЗЗнГс ; Ю Документа* 10_______ Год иаддния; 2002 г г > . '«“MH"» ..................... 1 :1С документа* 10 ‘Год издания: ;;2002 Кнопка Задать стандартные свойства выполняет действие в соответствии со своим названием. Кнопка Выделить все выделяет все элементы управления в форме. Ею удоб- но воспользоваться, например, когда вы хотите согласовать форматирова- ние или оформление всей формы. Если в форме выделено несколько полей, а вы хотите добавить к выделенным еще , а один элемент (или отменить выделение с одного из k---- телом при нажатой клавише Shift элементов), щелкните его указа- Наконец, кнопка Выбрать изменяет вид указателя на указатель выделения, что позволяет выделять и перемещать фрагменты текста и другие объекты в до- кументе. По умолчанию она включена. Кнопка Использовать мастера включает автоматическое использование мастеров при добавлении элементов управления в форму. По умолчанию она также включена. А кнопка Вставить элемент ActiveX открывает диалоговое окно для добавления в форму элементов ActiveX (рис. 8.28). Последний (крайний справа) раздел вкладки Конструктор (Инструменты конструктора форм) — он называется Сервис — содержит пять кнопок, с помо- щью которых можно сделать следующее: Добавить к форме поле (кнопка Добавить существующие поля). Когда вы ее щелкните, откроется панель Список полей (рис. 8.29)- В панели перечисле- ны поля, доступные в данном представлении, поля, доступные в с вязанных таблицах, а также доступные поля в других табл ицах. Чтобы добавить поле, достаточно щелкнуть его дважды в одном из списков панели ил и пере- тащить его указателем в один из разделов формы. Ссылки Изменить табли- цу, расположенные справа от имен таблиц, позволяют открыть данную тяб-
Режимы формы 321 лицу в Access для изменения ее данных. Чтобы закрыть панель Список по- лей, можно щелкнуть кнопку Закрыть в ее окне или второй раз щелкнуть кнопку Добавить существующие поля на Ленте. Рис, 8.28 Диалоговое окно Вставка элемента ActiveX Рис . 8.29 Панель Список полей 1 Пил* доступны* • данном прадетделенмн Изменить таблицу л. • - Данные документов 9 ID документа Дат» Hi Название Ют№» Год издания ID издательства I? Переход к источнику Переход к нг-с кмту cdeData Переход * меге ihhkv“BeWame Переход х историку *НеТуре Гиперссылка источника 3 Ю редактора ГО редакторлА/аШе «г ----- 1 "• >£ I ГмУН L * и ДйсТупнмеполл iwpefwtori таомцг I 11 Access 2007 [♦ Акторы документов I» Вядде~ьцы [£1 Издательства 1*1 Карточка ’ tB Редакторы ’ (В Яшм Ииинить таблицу изменить таблицу Изменить таблицу Изменить таблицу Изменить табл * цу Изменить таблицу |»сту* М йяйй Й другой таблицу «П^торьГ” изнемить таблицу ® Организации Изменить таблиц (В Пофамильный список Изменить таблицу ? Проверочная таблица Изменить таблицу ffc Таблица! Изменить таблицу --------— —п ** •••~гттт ;; “ ‘ ~ У т йыьотъ толнвлдг» * TtAwsea #чПг*мкб мтакей ““----- ___ г х х Ссылки^ расположенные внизу, Поковать только поля в текущем источнике записей и Показать все таблицы позволяют изменять содержание панели Список полей в соответствии с их названиями.
322 Глава 8. Формы Открывать окно свойств формы и ее элементов (кнопка Страница свойств). Когда вы щелкните эту кнопку, на экране появится окно свойств (рис. 8.30) или для формы, или для того элемента управления, который в ней выделен. Свойства расположены на пяти вкладках: Макет, Данные, События, Дру- гие и Все. При задании значений свойств формы или элементов управления используются кнопки» вызывающие построители, и раскрывающиеся спи- ски, содержащие допустимые значения свойств. ;0<М ID -(Я - - kn I •?ггн» (СТНЦСГМ**** ЯМНСТрН! 1МЯСТММЦ 4»сг ф«м| маслах Моыцним CMfWH If моем лх>«пгни Емки, «кошаго 'мм. [кюти IXWW. PCMK,Q> Д-1Г»*Пг- лгрпца«н<1* •ММДММмА п. X О*р«итачМ ст.чтл л.” Ди 1BHW gtMjWirr -в О'«*чм«1 фор«л А А А А А гпрпф**! А почмт йшдрнгмЛ 0*рп.п> Рис. 8.30 Окно свойств формы (слева), раздела формы Примечание (в центре) и поля /D типа, расположенного в форме (справа) Риомформ, ^е*им i^natj» смим* Ргх»« -дедроадмфмм •«op. wort. р«мм> Mtru Mpi .ичиоу фодмгм" ТиГР“ОГ«Я Мкшп*«.|м'ф'и Ilwp lpWH t Ч» f*», Мг.втчгарД р,нанспгмр«* ГГНп ]О1<НП»МЯНЧ>!"* » 0г А А А — Л* о* А А Л«тр Орч^гцмр^р.ечммйфпр.и 'чб чцртрч *****W**«"e».F**‘»rH*°**W»t. J» ___________________________ .*в*МЛМЧЙ Imhww т<ияг»чмич1чц рммМ1**. А И|П- . НИ [Ни • ем .Ип— QTtf’cnw OrfjmW*' Окно свойств — немодальное окно Окно свойств — немодальное окно. Оно будет находиться на экране до тех пор, пока д вы его не закроете {или второй раз не щелкните кнопку Страница свойств). При '---этом сохранится доступ к другим объектам и элементам управления. Это дает воз- можность свободно «переключать» его на отображение свойств другого элемента управления, раздела или формы. Для этого сделайте выбор нужного объекта в рас- крывающемся списке в верхней части окна или просто выделите в форме другой эле- мент или раздел (или отмените выделение, чтобы перейти к свойствам формы). Перейти к просмотру модуля VBA формы (кнопка Просмотр кода), для чего будет открыт редактор Microsoft Visual Basic. Просмотреть первые 10 записей (кнопка Просмотр первых 10 записей). Открыть подчиненную форму в новом («собственном*) окне (кнопка Под- чиненная форма в новом окне).
Режимы формы 323 Вкладка Упорядочить (Инструменты конструктора форм) Ленты Большинство кнопок и списков, находящихся на вкладке Упорядочить (Ин- струменты конструктора форм) Ленты (см. рис. 8.9), становятся доступными при выделении в форме одного или нескольких полей или других элементов управления. Это говорит о том, что они предназначены, главным образом, для работы с макетом формы: выравнивания и перемещения элементов, изменения их размеров, группировки, применения к форме стиля оформления и др. На вкладке имеются следующие разделы: Автоформат, Макет элемента управле- ния, Выравнивание элемента управления, Размер, Положение и Показать и скрытъ- В разделе Автоформат есть только одна (одноименная) кнопка, открываю- щая галерею стандартных стилей оформления форм (рис. 8.31). Щелкните схе- му стиля, чтобы применить его к созданной вами форме. Рис. 8.31 Выберите стандартный стиль оформления для созданной вами формы Щелкните кнопку Мастер автоматического форматирования в нижней час- ти галереи, чтобы открыть диалоговое окно Автоформат. В этом окне у вас поя- вятся дополнительные возможности. Если вы хотите применить только ♦часть» стиля, то щелкните кнопку Параметры и установите (или снимите) в нижней части окна флажки для применения шрифта, цвета или границы. Вы можете создать собственный стиль форматирования 0 Он копируется из текущей формы. Для этого щелкните кнопку Настройка и сделайте необходимые установки в окне Настройка автоформата. Примеры автоматического форматирования формы с помощью стилей пока- заны на рис. 8.32,
324 Глава 8. Формы Рис. 6.32 К форме, созданной из таблицы Издательства. применены различные стили автоматического форматирования ► I 1 Кмг5Л*сто Телефон Издательства Использование автоматического форматирования — хороший способ обеспечить согласованный вид всех форм базы данных без существенных затрат времени на их оформление. Раздел Макет элемента управления позволяет создавать и настраивать маке- ты, состоящие из отдельных элементов управления. Макет «помещает» элемен ты управления в одинаковые «ячейки таблицы». Изменяя одну из ячеек макета, вы точно так же модифицируете все элементы управления, входящие в макет. В одной форме можно создать несколько макетов.
Режимы формы 325 Выделите элементы управления, которые вы хотите объединить в макет и щелкните одну из кнопок раздела Макет элемента управления: Табличный или В столбик (рис. 8.33). Таблмчям* Удо.гь Ссоддогамксш EjeaxarpHa эй?.<трсн<ную таблицу • аснррфм Пс| т раетюпождо « »\р • -о*чаои. *дшле»п<* одгж рряменанлого к Вь.олвам Срэда.ке *»вк*т« мможего на бумажную форму в кдгором подписи .акналежо. .. u»m йтмждсгстцяж > » , _ . , * • Рис. 8.33 Кнопки для создания, настройки и удаления макета пет Yiicoe Ш«око« Ширжое __ М 0*p»MTW«jfTU»«i< одо овтиаст. , - '——-——' ' • » । Ваюшнис пола 0нугр«ннм пола iwwkw гпрамаинл • элемента управлении • ®&№•»] — ^^111 —I» - Группировать Мъаднманмеддо млн Фо.гг выдтиеинн* с6warиоторм* в JI.. Ъжледомтммнхг» перехода Раэгруявмровагъ Ра»Бм<нне чаборч сттопгцтрмдокжювмгжтргир ртдмънм* Объккш. ____________________ < ?«> »Т > .:• '-~-iL/i * а 1 Табличный макет похож на электронную таблицу, в которой подписи распо- ложены в верхней части (в разделе Заголовок формы), а данные находятся под ними (в Области данных). Макет в столбик похож на бумажную форму (бланк), в котором подписи находятся слева отданных. У макета в режиме конструктора и в режиме макета появляется общий маркер выделения (как у таблиц в про- грамме Microsoft Office Word). Его можно использовать для выделения всех эле- ментов макета и перемещения макета. Чтобы удалить макет, щелкните кнопку Удалить (см. рис. 8.33). На рис. 8.34 показана форма, изготовленная из таблицы Издательства, в которой все поля данных были объединены в макет: табличный (вверху) и в столбик (внизу). Рис. 8.34 Табличный макет (вверху) и макет в столбик (внизу) формы, изготовленной из таблицы Издательства чечмппэи* *да* Л>мждаг«/1К7М Теп.|Л| ИВД1г*л»г*»о » м * Издательства »Q чма’Vucrn И1ыа*пи»мм« Аврм
326 Глава 8. Формы С помощью кнопок Внешние поля элемента управления и Внутренние поля элемента управления можно изменить выравнивание данных в ячейках макета и расположить их «впритык» друг к другу или раздвинуть. Щелкните кнопку, чтобы открыть галерею и выберите поля, ориентируясь на образцы галерей (см. рис. 8.33). Кнопки Группировать и Разгруппировать выполняют противоположные Друг другу действия. С помощью первой из них можно создать из выделенных элементов группу («склеить» элементы), которая будет обрабатываться как еди- ный объект (рис. 8.35). Группировка, в своем роде, является альтернативным макету способом объединения элементов. Если сгруппировать элементы, входя- щие в макет, то они будут исключены из него. Сгруппированные элементы мож- но вместе перемещать, а их размеры также можно изменять одновременно. У сгруппированных объектов имеются общие маркеры и общая рамка группы. Для разделения сгруппированных элементов предназначена кнопка Разгруппи- ровать. При разгруппировании элементов происходит удаление общей рамки и маркеров группы, а все элементы, составлявшие группу, становятся выделенными. Рис. 8.35 Макет (слева) и сгруппированные элементы (справа) Кнопка Привязать к сетке работает как параметр, который можно включить или выключить. Если она подсвечена (включена), при выборе положения эле- мента в форме левый верхний угол элемента совмещается с ближайшим узлом сетки. При перемещении или изменении размеров существующего элемента Access допускает сдвигать элемент или его границы только от одного узла сетки к другому. Если кнопка Привязать к сетке выключена, то сетка не использует- ся, и имеется возможность произвольно перемещать элементы управления и изменять их размеры. Кнопка Последовательность перехода открывает одноименное диалоговое окно (рис. 8.36), в котором вы можете настроить последовательность перехода фокуса между элементами формы (когда она будет открыта в режиме формы). Выделите одну или несколько строк с именами элементов управления с помо- щью мыши, а затем расставьте их в нужной последовательности (первым фокус получит самый верхний элемент). Щелкните кнопку ОК, чтобы закрыть диалоговое окно и применить настройки к форме. Раздел Выравнивание элемента управления содержит пять кнопок, задаю- щих различные способы выравнивая (Выровнять по левому краю, Выровнять по правому краю, Выровнять по верхнему краю, Выровнять по нижнему краю. По узлам сетки). Они работают, когда выделены несколько элементов (рис. 8.37). Например, при выравнивании по верхнему краю, все выделенные элементы выстраиваются вдоль линии, проходящей через верх элемента, распо- ложенного выше всех. Выравнивание по узлам сетки применимо и для одного выделенного элемента.
Режимы формы 327 Рис. 8.36 Диалоговое окно Последовательность перехода Рис. 8.37 Элементы выровнены по правому краю (слева) и по левому краю (справа) Раздел Размер (рис. 8.38) также имеет несколько кнопок для изменения раз- меров одного или нескольких выделенных элементов (По размеру данных. Вы- ровнять размер по сетке, По самому высокому, По самому низкому, По самому широкому, По самому узкому). Вариант по размеру данных, например, удобно использовать после увеличения размера шрифта элементов, чтобы восстановить отображение всего содержимого. Кнопка Привязка открывает галерею, в кото- рой вы можете выбрать привязку элемента к разделу или другому элементу та- ким образом, чтобы при изменении размеров или перемещении родительского элемент также выполнялось изменение размеров или перемещение данного элемента управления. Раздел Положение (рис. 8.39) содержит кнопки для изменения горизонталь* ных и вертикальных интервалов между выделенными элементами, а также их перемещения вверх и вниз «в стопке» (на передний план, когда элемент закры- вает все остальные, и на задний план, когда элемент закрывается всеми осталь- ными). Кнопки На передний план и На задний план управляют отображением перекрывающихся элементов. Элемент на переднем плане виден полностью, он полностью или частично закрывает все остальные элементы. Элемент, располо- женный на заднем плане, наоборот, закрыт всеми остальными элементами. Ос- тальные кнопки: Сделать интервалы по горизонтали равными, Сделать интер- валы по вертикали равными, Увеличить интервал по горизонтали, Увеличить интервал по вертикали, Уменьшить интервал по горизонтали и У меньшить ин- тервал по вертикали выполняют действия нал выделенными элементами в соот- ветствии со своими названиями. Увеличение и уменьшение интервалов прово- дится по ближайшим узлам сетки.
328 Г лава 6. Формы Привязка Привязка элемента управления к разделу или другому элементу управления таким образом, чтобы при перемещении или изменении размера родительского элемента также выполнялось перемещение или изменение размера данного элемента управления. Пп размеру донмых Рая Привязка ggj 'Выровнять размер по сетке Псдномуширокрму fid самому |вкому £аерху слеы £верху справа Растянуть вдоль верхнего края По самому высокому Го самому низкому Растянуть рниэ и по горизонтали Растянуть вниз и вправо Снизу слева Растянуть вдоль индоссо края Снизу справа Рис. 8.38 Раздел Размер вкладки Упорядочить (Инструменты конструктора форм) Ленты На передний план Размещение выделенного объекта впереди всех остальных объектов таким образок чтобы ми одна его часть не заслогшлась другим объектом. Каэвдммйплм Размещение выделенного объекта позади всех остальных объектов. Намдг- «й Щ-* и. ft jfСделат»«порыл* по ^>ртм»>»« рашi 5й л» МрМИ<^ ими Нап план Рис. 8.39 Раздел Положение вкладки Упорядочить (Инструменты конструктора форм) Ленты Крайний справа на вкладке Упорядочить (Инструменты конструктора форм) раздел — Показать и скрыть — управляет отображение разделов формы, а так- же вспомогательных элементов режима конструктора (сетки и линейки). Сетку и линейку, которые отображаются нажатием одноименных кнопок, удобно ис- пользовать при выравнивании расположения объектов в форме (рис. 8.40). На стыке между горизонтальной и вертикальной линейками расположена кнопка с черным квадратиком. Двойной щелчок этой кнопки открывает окно свойств фор- мы (см рис. 8 40), Контекстное меню элементов управления Многие из команд над элементами управления, которые описаны выше, можно вы- полнить через контекстное меню элементов, которое открывается в режиме конст- руктора (выравнивание, размер, положение, макет и др.).
Режимы формы х _______ 329 Рис. 8.40 В режиме конструктора отображаются сетка и линейка Режим макета В режиме макета элементы управления формы представлены в таком же виде, как и в режиме формы (вместе с данными!). В отличие от режима конст- руктора здесь нет возможности добавлять новые элементы управления (кроме связанных полей) и настраивать некоторые их свойства (хотя до окна свойств формы и ее элементов «добраться» так же легко). В режиме макета не отобража- ются разделы и полосы их заголовков, а также нет линеек и сетки. На ленте отображаются две контекстные вкладки — Формат (Работа с маке- тами форм) и Упорядочить (Работа с макетами форм). Строго говоря, они содер- жат практически те же инструменты (рис. 8.41), что и контекстные вкладки ре- жима конструктора (см. рис. 8.9). Дополнительно к средствам режима конст- руктора на вкладке Формат (Работа с макетами форм) имеются средства для форматирования полей данных. CJciUbn Сетке ♦«мал Г Пар ? j • X- ; Сна 1 ? Загалома te * эмЬявна «. _ , Добавит» 1И1.«м »£, ’ сишмггввюшйг пом Нв Вгаабик [^Л удалить пп м ипяыжкдмп О- *1 « плприму & пи мно«е му »>«> И!---- г.. , ч .*' < Пр-ика рашга На пихган «й Hi эиний Сгра -нф • по плен план ioim Рис. 8.41 Вкладки форма*! (Работа с макетами форм) и Упорядочить (Работа с макетами форм) Ленты
330 глава 8. Формы Режим макета, в отличие от режима конструктора, имеет панель перехода по записям и позволяет просматривать все данные (рис. 8.42). Разработчики программы Access 2007 рекомендуют заканчивать создание форм (внешний вид, дизайн) в режиме макета интерактивными инструментами. Рис. 8.42 Форма в режиме макета Создание форм Для создания формы можно применить один из перечисленных ниже способов: сохранить таблицу или запрос как форму; создать специальный тип формы на основе таблицы или запроса (используя так называемые «шаблоны содержания» или автоформу); создать форму на основе нескольких таблиц или запросов с помощью мастера; построить форму полностью «вручную» в режиме конструктора и (или) в режиме макета. На вкладке Создание Ленты имеется раздел Формы, в котором есть следую- щие средства для создания форм (рис. 8.43): Кнопка Форма. «Одним щелчком» создается простая форма (автоформа), содержащая все поля выделенной таблицы (или запроса). Если таблица участвует в межтабличных связях, то для связанной таблицы (на стороне «1») добавляется подчиненная форма в табличном представлении, а на сто- роне «оо» — вместо поля отображается список. Подчиненная форма I Подчиненная форма аналогична подтаблице. Это объект в виде формы, вложенный в другую форму и отображающий данные, связанные или объединенные сданными в этой форме. Данные в подчиненной форме можно просматривать и редактиро- вать. Подчиненную форму можно удалить. Также можно добавить новую подчинен- ную форму. У подчиненной формы может быть своя подчиненная форма и т.д. Про- грамма Access 2007 поддерживает до 7 уровней вложения подчиненных форм.
Создание фоом 331 Свфанмс Форм* для вм>ф д*нтм по одной записи м уя> иажампж доживу FX< кЗВ •<>₽«• 22 Рдэдеданнм форма JJ| Несколько мечанто» ' Формы - —•»—ь— _ — Создан я* разделанной фор ым, • верхней части которой отражается «афянцв^ • в гаджнеД ~ форма для ввод* данным а млисА жДга^ни» в тайтше. Создай «е новой пустой формы в режиме Ко**СТр!<СТй₽ конструктррв. < ♦""* I . <S q В режима конструктор* можно амоенп» й*м • немил о формы. wnp»Wsp АОбаФмпы к*стрв|Щ>еЮ»< wtw меыентм _ Создание фор*ч • «лоро* мпмм отобр«жаетс> а виде таблиим, при атом ыовдав мтиь ынмм*г» отдеЯшнгФ строку Мастер форм £ежим 1*4л*цы вез; Модмм^ое диалоговое окно Рис. 8.43 Кнопки для создания форм в Access 2007 Кнопка Разделенная форма. «Одним щелчком» создается разделенная форма (автоформа), в нижней части которой отображается таблица (кото- рая была выделена в области переходов), а в верхней — поля формы для вво- да данных в запись, выделенную в таблице. В чем же их отличие? Отличие этих двух вариантов создания форм из шаблонов заключается в подчи- ненной форме. В первом случае — это форма, построенная на основе другой таб- лицы (в соответствии с межтабличными связями), а во втором —* имеет место дубли- рование полей одной и той же таблицы в различных представлениях. Кнопка Несколько элементов. «Одним щелчком» создается ленточная фор ма (автоформа), в которой записи располагаются в виде таблицы, причем каждая запись занимает отдельную строку. Строится на основе выделенной таблицы (или запроса). Кнопка Сводная диаграмма. «Одним щелчком» создается заготовка свод- ной диаграммы. На Ленте отображается вкладка Конструктор (Работа со сводными диаграммами), с помощью элементов управления которой вы можете построить форму в виде сводной диаграммы (см. главу 11 «Сводные таблицы и диаграммы»). Кнопка Пустая форма. Создает заготовку пустой формы, которая открыва- ется в режиме макета. Для добавления полей открывается панель Список полей. Можно построить источник данных в виде запроса. Перед щелчком этой кнопки не нужно выделять таблицу или запрос. Форма получает фор- мальное имя Forml. Кнопка Конструктор форм. Создает заготовку пустой формы, которая от- крывается в режиме конструктора. Для добавления полей открывается па- нель Список полей. Можно построить источник данных в виде запроса. Пе- ред щелчком этой кнопки не нужно выделять таблицу или запрос. Форма получает формальное имя Forml.
332 Глава 8. Формы Раскрывающийся список Другие формы, в котором имеются следующие команды для создания форм: Мастер форм. Запускается мастер создания форм, который позволяет выбирать поля из различных таблиц или запросов, задавать вид пред- ставления данных, тип формы, стиль оформления и, наконец, указать имя новой формы. Мастер позволяет строить самые сложные формы. От пользователя требуется только корректно заполнять элементы управле- ния в его диалоговых окнах. Режим таблицы. «Одним щелчком» создается табл ичная форма (авто- форма), содержащая все поля выделенной таблицы (или запроса). Эта форма изначально не имеет режима формы. Модальное диалоговое окно. Открывает пустую форму в виде модально- го диалогового окна в режиме конструктора. Форма получает формаль- ное имя Forml. В области данных формы имеются две «работающие» кнопки ОК и Отмена. м Сводная таблица. «Одним щелчком» создает заготовку сводной табли- цы. На Ленте отображается вкладка Конструктор (Работа со сводными таблицами), с помощью элементов управления которой вы можете по- строить форму в виде сводной таблицы (см. главу 11 «Сводные таблицы и диаграммы»). Пункт меню Другие формы " Режим таблицы или кнопка Форма дают такие же формы, что и сохранение объекта (таблицы или запроса/ как формы. Поэтому пользоваться командой Сохранить как | Сохранить объект как из меню кноп- ки «Office» вам вряд ли придется. Созданную любым из описанных выше способов форму.можно затем изме- нить или настроить в режимах конструктора и макета. Предварительное планирование форм: проект электронной библиотеки Перед тем как приступить к созданию форм для электронной библиотеки, не- плохо было бы прикинуть их количество и примерное содержание. Очевидно, что для нормальной эксплуатации электронной библиотеки следует иметь четы- ре группы форм: Для ввода данных в библиотеку (регистрация нового электронного доку- мента). Они должны давать возможность вносить новые данные в любую таблицу базы данных. Эти же формы могут использоваться для корректи- ровки данных. Также они должны обеспечить пересчет и перезапись табли- цы Авторе кие списки. Для поиска электронных документов. Две формы «карточек» (полная и краткая, см. раздел «Создание основных запросов: проект электронной библиотеки» главы 7 «Запросы») необходимо подготовить для представле- ния результатов поиска. Необходимо также создать формы для отбора за- писей по одному или нескольким параметрам. Затем объединить формы от- бора и «карточки».
Создание форм 333 Для просмотра статистических и других сведений о «фонде» библиоте- ки. Здесь могут быть полезны формы» построенные в виде сводных таблиц, сводных диаграмм и др. Наконец, желательно построить кнопочную форму, которая обеспечивала бы «логику» работы пользователя, позволяла переключаться между этими группами форм, а также выполнять другие действия (например, печать от- четов и др.). Оформление форм Перед тем как создавать «много форм» для электронной библиотеки, вовремя будет позаботиться о том, чтобы их оформление выглядело одинаково. Для этого необходимо либо выбрать один из стилей автоформата, который имеется в Access 2007, либо создать и сохранить собственный стиль, который будет затем применяться ко всем формам (рис. 8Л4). Рис. 8.44 Для форм Электронной библиотеки 2007 выбран видоизмененный стиль оформления Солнцестояние Шаблон формы По умолчанию формы создаются одного и того же вида, с одинаковыми свойствами формы, элементов управления и разделов. Это определяется свойством Шаблон формы, которое по умолчанию имеет значение Normal (см. диалоговое окно Параметры Access, раздел Конструкторы объектов, секция Формы и от- четы). Введите в поле этого свойства имя уже существующей в вашей базе данных формы, чтобы она стала новым шаблоном (рис. 8.45). После этого большинство форм будут «штамповаться» похожими на нее (и возможно, вам даже не придется специально использовать средство автоформата!). Смена шаблона не влияет на формы, которые уже были созданы. Часто бывает целесообразно специально соз- дать несколько форм, используемых исключительно в качестве шаблонов. Все же, следует заметить, что «тонкая» доводка внешнего вида любой формы обычно проводится «вручную» для каждой формы с помощью средств формати- рования, имеющихся на контекстных вкладках Ленты.
334 Глава 8. Формы Рис. 8.45 Свойства форм по умолчанию определяются действующим шаблоном Автоформы или формы но основе шаблонов содержания Этим способом можно создавать простые и разделенные формы, формы, со- стоящие из нескольких элементов, формы в режиме таблицы, а также сводные таблицы и диаграммы. Все они отличаются тем, что содержат все поля и записи из базовой таблицы или запроса. Откройте таблицу (запрос) или выделите ее в области переходов, а затем щелкните одну из кнопок в разделе Формы вкладки Создание Ленты. Форма, созданная с помощью шаблона содержания, сразу появится в рабочей области в режиме макета (таблицы, сводной таблицы или диаграммы, если режим макета по умолчанию не предусмотрен). Просмотрите ее, подкорректируйте, если это нужно, и закройте. Если вы хотите ее сохранить, задайте имя в диалоговом окне Сохранение. К форме, созданной этим способом, применяется оформление, соответствую- щее шаблону формы, установленному в диалоговом окне Параметры Access. Па рис. 8.46 показана разделенная форма Издательства* созданная на осно- ве шаблона из одноименной таблицы (к ней была добавлена эмблема в режиме макета). Мастер форм Работа мастера форм построена на основе ряда последовательно отображае- мых диалоговых окон. Чтобы создать форму Электронная ссылка (краткая форма карточки, см. раздел «Создание основных запросов: проект электронной библиотеки» главы 7 «Запросы») с помощью мастера, выполните следующее: 1. В разделе Формы вкладки Создание Ленты откройте список Другие фор- мы и выберите в нем пункт Мастер форм.
Создание форм ) I 335 Ю издательства: Э Издательства Издательство: М.: "Экономика и мир- Адрвс: Москм, Зимний проезд 17 Телефон. 234567В КомментврмА: ,—— новое издательство. " - - 1 Минск ‘Тклрухуичество1 Беларуси Минс\ лросл HffT Йпгща, Амномояг кий пер 100 1ишс* И 4 ^3 m«Mu 4. 56769 не’ М РИОИПК Моода, Лютеранская пл., Киев ^Издательский дом АПС Уфвина. Киев, Здолбуновгкая ул М ООО "Бином» Пресс" М сто» Кд псеескаяул ,77,2 _ М ЗАО ТЬлином-Г____есс 4567890 Nd! 6678901 nJ 6789012 Издательство закрыто. Форм 7690123 Nul Рис. 8.46 Форма Издательства, созданная с помощью шаблона • WWWfll 2. Появится первое диалоговое окно мастера (рис. 8,47), в котором необходи- мо выбрать поля, которые должны быть включены в форму. Допускается выбор полей из нескольких таблиц и запросов. Рис. 8.47 Первое диалоговое окно мастера создания форм 3. Откройте список Таблицы и запросы и выберите в нем таблицу или запрос (источник данных), поля из которого вы хотите включить в форму. 4. В списке Доступные поля выделите нужные поля и щелкните кнопку «со стрелкой», направленной вправо (>), чтобы переместить их в список Вы- бранные поля. Если нужно переместить все поля из выбранного источни- ка, щелкните кнопку «с двойной стрелкой» (»).
336 Глава 8. Формы 5. Если нужно убрать поля из списка Выбранные поля, то используйте «стрелки», направленные в обратную сторону. 6. Если нужно, выберите другие источники данных и добавьте их поля в спи- сок Выбранные поля. Конкретно Для Электронной ссылки следует выбрать поля ID документа, Название, Год изда- ния, Гиперссылка источника, Количество страниц, Авторы, Издательство и Тип из запроса Карточка (все данные). 7. Щелкните кнопку Далее. 8. В следующем диалоговом окне мастера (рис. 8.48) выберите вид представ- ления данных. В зависимости от основного источника данных (список ко- торых отображается слева) вы можете установить переключатель в одно из следующих положений: Одиночная форма, Подчиненные формы или Связанные формы. В данном случае выберите основным источником дан- ных таблицу Данные документов, и у вас не будет альтернативы — только Одиночная форма. Рис. 8.48 Второв диалоговое окно мастера создания форм 9. Щелкните кнопку Далее. 10. В следующем диалоговом окне мастера (рис. 8.49), установив перекл юча- тель в одно из положений: в один столбец, ленточный, табличный ил и вы ровненный (слева схематично будет показан выбранный вами вариант формы), вы задаете макет, в который будут объединены элементы управ- ления формы. В данном случае можно выбрать положение переключателя в один столбец. 11. Щелкните кнопку Далее. 12. В следующем диалоговом окне (рис. 6.50) выберите стиль оформления формы из списка в правой части окна, обращая внимание на схему формы, отображаемую слева. В данном случае был выбран стиль Электрон ная библиотека 2007. созданный пользователем. 13. Щелкните кнопку Далее.
Создание форм 337 Рис. 8.49 Третье диалоговое окно мастера создания форм Рис. 8,50 Четвертое диалоговое окно мастера создания форм 14. В последнем диалоговом окне (рис. 8.51) выберите вариант открытия фор- мы после окончания работы мастера: в режиме формы для просмотра дан- ных или в режиме конструктора для изменения ее макета, а также задайте имя формы, заменив введенное по умолчанию имя таблицы (или запроса), если это необходимо. Создаваемая в данном примере форма должна быть названа Электронная ссылка. 15. Щелкните кнопку Готово. 16. Внесите, если нужно, исправления макета и оформления элементов в ре- жиме конструктора или в режиме макета. На рис, 8,52 показана оконча- тельно подготовленная форма Электронная ссылка. Вряд ли вас когда-нибудь полностью устроит работа мастера по оформлению фор мы. Очень часто он не сможет установить размеры нолей данных и подписей к ним, так как вам это будет нужно. Поэтому ее доработка в режиме конструктора или в режиме макета практически неизбежна. Тем не менее, для создания форм можно рекомендовать использовать мастер или шаблоны достаточно часто, так как они выполняют большой объем работы, которую в противном случае придется проде- лать вам «вручную».
338 Глава 8. Формы Рис. 8.51 Последнее диалоговое окно мастера создания форм Рис. 8.52 Окончательно подготовленная форма Электронная ссылка Создание формы в режиме конструктора Если на вкладке Создание Ленты щелкнуть кнопку Конструктор форм, от- кроется пустая форма в режиме конструктора, и вся остальная работа по созда- нию формы должна быть выполнена «вручную». Ниже рассматривается создание этим способом формы Электронная карточ ка (полная форма учетной карточки, см. раздел «Создание основных запросов: проект электронной библиотеки» главы 7 «Запросы»). Эта форма должна быть основана на полях запроса Карточка (все данные). Все поля должны быть рас- положены компактно в виде простой формы. Так как форма будет использовать- ся только для отображения данных и открытия документов, следует запретить изменение и добавление данных через поля этой формы (во избежание случайных повреждений данных таблиц «читателем»). В качестве шаблона формы при подготовке Электронной карточки целесообразно установить форму Электронная ссылка, методика подготовки которой описана в предыдущем разделе.
Создание форм 339 Выбор источника записей для формы Так как форма будет основана на полях данных, прежде всего, необходимо позаботиться об источнике записей для нее. В качестве источника может быть выбрана существующая таблица (таблицы) или существующий запрос. Но если подходящего запроса нет, его можно создать непосредственно в процессе работы над формой. Вы можете открыть панель Список полей, щелкнув кнопку Добавить сущест- вующие поля в разделе Сервис вкладки Конструктор (Инструменты конструк- тора форм) Ленты, и использовать ее для добавления в форму полей из таблиц базы данных (рис. 8.53). Как только вы добавите в форму одно поле, содержание панели Список полей изменится — в ней появятся поля связанных таблиц и дос- тупные поля других таблиц, которые также можно добавить в форму. При до- бавлении следующих полей в свойстве формы Источник записей начнется формирование соответствующей инструкции SQL. Рис. 8.53 Используйте таблицы в качестве источника записей Чтобы сразу выбрать или задать (построить) в качестве источника записей за- прос следует действовать через окно свойств формы (открыть которое можно, например, кнопкой на Ленте или дважды щелкнув прямоугольный значок на стыке линеек формы). На вкладке Данные этого окна обратите внимание на ячейку свойства Источник записей, в которой есть две кнопки. Кнопка «с галоч- кой» открывает список таблиц и запросов текущей базы данных (см. рис. 8.54), в котором можно выбрать источник для строящейся формы. После этого поля этого источника появятся в панели Список полей, и вы сможете с ними работать.
340 Глава 8. формы Рис. 8.54 Выберите в качестве источника записей таблицу или запрос текущей базы данных 1 2 3 3 $ I -13 l U • 3 । 10 I П • < Ф бво» флемм Кнопка «с многоточием» открывает окно построителя запросов (рис. 8.55). После того как вы подготовите запрос в построителе и закроете его, соответст- вующая ему инструкция SQL будет перенесена в ячейку свойства Источник за- писей формы (рис. 8.56). Поля, удовлетворяющие этому выражению, появятся в панели Список полей, и вы сможете с ними работать. Рис. 8.55 Постройте запрос для использования в качестве источника записей формы
Создание форм 341 Рис. 8.56 Источник записей (запрос) был специально построен для данной формы Forml I « » • « ’ 2 • ( • Э • • 4 • I • б ’ » • в t • > • I • f • I • е • « • в > » fl 1 • 12 • I -П • ( • И « 1 • IS »- 16 Форма 11КИО свойств Данные З Область ввода' Источник Записей Тил набору 'Загрузить । Фильтр Фильтр пр Порядок с .Сортиров» Ввод дани .Разрешить Разрешить 4 1а влоВок уормы • • SELECT Вядд<льцы.|Лагтор<ко«Гур7} X SELECT Владельцы. [Авторское право]. [Длеьж документов]. *, Авторы Фамилия, Организации Назвжие FROM {Владельцы INNER JOIN (Данные документов] ON Владельца (И? владельца] - (Данные документов].[ID владельца]' W4EP. JOIN ((Орг vtoam*» INNER JOIN Авторы ON Срг ам4зации .[10 организации] ” Авторы. fID оргагхзации]) IWER JOIN (Авторы документов] ON Авторы.[ГО автора] - [Авторы документов].[IDавтора])ON (Данныедокуненгое]. [ГО документа] - [Авторы документов]. [ГО док, мента]; | ок Отме»«а .UM" y < ; » -г я ь g g <t Я Конкретно После того как вы установите в окне свойств формы в качестве источника записей запрос Карточка (все данные), в панели Список полей появятся поля из этого за- проса (рис. 8.57). Рис. 8.57 Панель Список полей при установленном источнике записей Карточка (все данные)
342 Глава 8. Формы Настройка разделов формы В зависимости от содержания формы в ней должны быть отображены те или иные разделы. Практически во всех формах присутствует заголовок и область данных. Вы можете также отобразить примечание, где удобно располагать управляющие кнопки и другие элементы, которые должны отображаться на всех страницах формы. 1. Чтобы отобразить заголовок и примечание, в контекстном меню области данных выберите команду Заголовок/примечание формы. 2. Чтобы отобразить колонтитулы, в контекстном меню области данных вы- берите команду Колонтитулы страницы. 3. Если нужно, измените размеры разделов, перетаскивая их границы ука- зателем. Также при необходимости переместите правую границу формы указателем. 4. При необходимости отформатировать раздел, выделите его, щелкнув об- ласть выделения (маленький прямоугольник слева от заголовка раздела). Полоса выделенного раздела изменит свой цвет. Чтобы выделить все раз- делы, щелкните область выделения формы (маленький квадратик на ст ы* ке линеек), при этом в нем отобразится черная квадратная метка, но поло- сы разделов своего цвета не изменят. Задайте с помощью кнопок на вклад - ках Ленты цвет фона или автоформат для выделенных разделов. Если области выделения в режиме конструктора форм не отображаются, в контек- стном меню области данных щелкните команду Линейка, чтобы задать вывод на экран и линейки, и областей выделения, которые на ней расположены. Или исполь- зуйте одноименную кнопку в разделе Показать и скрыть вкладки Упорядо- чить (Инструменты конструктора форм) Ленты. 5. Чтобы задать заголовок формы, в разделе Элементы управления вкладки Конструктор (Инструменты конструктора форм) Ленты щелкните кнопку Заголовок. А затем замените формальную надпись, дублирующую имя формы, на заголовок и отформатируйте надпись. Вы можете также добав- лять заголовок с помощью элемента управления Подпись. 6. Чтобы добавить эмблему, щелкните кнопку Эмблема (расположенную ря- дом) и выберите файл рисунка эмблемы в папках компьютера- После того как эмблема будет вставлена, вы можете изменить ее размеры и перемес- тить ее, действуя указателем мыши. Формат файла эмблемы Вы можете «временно перейти» в режим макета, чтобы аккуратнее выровнять над- пись и эмблему.
Создание форм 343 7. При необходимости вставьте в заголовок формы дату и время, щелкнув на Ленте кнопку Дата и время. Поля с датой и временем будут помещены «на свое место» в разделе заголовка. Отформатируйте эти поля с помощью инструментов Ленты. После этого вид формы Электронная карточка мо- жет быть примерно такой, как показано на рис. 8.58. Рис. 8 58. В форму Электронная карточка добавлены заголовок, эмблема, дата и время Добавление полей данных в форму Поля автоматически добавляются вместе со своими подписями, содержание которых дублирует имена полей. В форме Электронная карточка и поля, и их подписи будут^ располагаться в области данных в порядке, определенном схемой (см. раздел «Создание основных запросов: проект электронной библиотеки» гла- вы 7 «Запросы»). 1. Откройте панель Список полей, щелкнув кнопку Добавить существую- щие поля на Ленте. 2. Чтобы добавить поле дважды щелкните его в панели Список полей или пе- ретащите его оттуда в область данных указателем. В первом случае поле вместе с подписью будет добавлено в центральную часть области данных, а во втором — туда, где вы отпустите кнопку мыши. Конкретно Чтобы сформировать левый столбец данных электронной карточки, удобнее до- бавлять поля двойными щелчками, так как каждое последующее поле располагает- ся в форме ниже предыдущего. Таким образом можно точно определить порядок следования полей данных левого столбца. Правый столбец полей данных можно сформировать перетаскиванием. 3, Из левого столбца полей удобно сразу же сформировать макет «в стол- бик» , выделив все поля (и подписи) и щелкнув соответствующую кнопку на вкладке Упорядочить (Инструменты конструктора форм) Ленты. За- тем их удобно будет выровнять и задать им нужные размеры (рис. 8.59). Правый столбец полей можно выровнять «вручную». Конкретно Отредактируйте содержание подписей к полям в форме Электронная карточка. Действительно, лучше иметь подпись Страниц, а не Количество страниц, Пе- рейти — а не Гиперссылка источника и т.д.
344 Глава 8. Формы Рис. 8.59 Макет левого столбца полей формы Электронная карточка 4*| 1 1 1 1 1 -1 1 suit. . - — документа 1 ЗМНКМ Цнвэван не 1 горы Цднтгры 1 4NMM № fl ' Т1"1 S личест ВОСТр 1НИЦ Л Количество страниц 1 Ре !yUCTOf ы |редакторы Яэ як Цявын Из КвТЕЛ! LTW - -^Издательство Го циадл 1ИЯ Цгод издания Ц—т - । г"" v . 4. Когда поля будут подогнаны по размерам и расставлены «по своим мес- там», уменьшите размеры области данных по размерам расположенных в ней полей, перетаскивая ей границу указателем мыши. Один из возмож- ных вариантов, который может у вас получиться, показан на рис. 8.60. Рис. 8.60 Форма Электронная карточка с выровненными полями в режиме формы Настройка свойств формы Чтобы защитить форму от случайного изменения данных, нужно изменить ее свойства. В режиме конструктора дважды щелкните область выделения формы Электронная карточка, ч тобы открыть окно ее свойств. Перейдите на вкладку Данные- Измените значения свойств Разрешить изменение, Разрешить удале- ние и Разрешить добавление с Да на Нет. После этого при попытке поменять значение поля в форме, ничего происходить не будет, а программа Access будет выдавать звуковой сигнал.
Создание фоом 345 Средство проверки ошибок в формах и отчетах Если в форму было добавлена подпись, не связанная ни с одним элементом управ- ления, рядом с ней может появиться кнопка со значком в виде «восклицательного знака внутри маленького ромба» (см. рис. 8.61). А сама она будет помечена цвет- ным треугольником в левом верхнем углу. Это означает, что средство проверки ошибок нашло подпись, не связанную ни с одним элементом управления. Щелкните стрелку направленную вниз, рядом с этим значком, чтобы открыть меню вариантов дальнейших действий. Долее вы можете выполнить следующее: Чтобы связать подпись с элементом управления, выберите пункт Связать над* пись с элементом управления и сделайте необходимые установки в диалого- вом окне Связь надписи. Чтобы пропустить эту ошибку и не отображать больше кнопку, выберите пункт Пропустить ошибку. Чтобы отключить проверку ошибок для новых несвязных подписей, выберите пункт Параметры проверки ошибок. В диалоговом окне Параметры Access в секции Проверка ошибок раздела Конструкторы объектов сними- те флажок Проверка связей для новых надписей и щелкните кнопку ОК. Рис. 8.61 В форму была добавлена новая несвязанная подпись покгись 11 I Му О ' **4^' J Садить надпись с элементом управления- £гфввкя поданной ошибке Пропустить ошибку Параметры проверки ошибок .. Добавление кнопки закрытия формы В формах очень часто используются кнопки. Как элемент управления, кноп- ка позволяет выполнять определенные действия, например, закрывать форму, открывать другой объект базы данных, проводить печать и т.д. и т.п. Для кноп- ки можно написать макрос или процедуру, которые будут запускаться ее нажа- тием, а можно воспользоваться встроенным мастером, который сам 1 программирует» кнопку. Предположим, что в раздел примечания формы Электронная карточка нужно добавить кнопку для закрытия формы. Вот что для этого нужно сделать: 1. Откройте форму в режиме конструктора и отобразите в ней раздел приме- чания. Не забудьте «включить» мастер Чтобы запустился мастер Создание кнопок, кнопка Использовать мастера в разделе Элементы управления вкладки Конструктор (Инструменты кон* структора форм) Ленты должна быть «нажата». 2. Щелкните кнопку Кнопка в разделе Элементы управления вкладки Кон- структор (Инструменты конструктора форм) Ленты, перейдите к форме и прретящите указатель так, чтобы нарисовать прямоугольник нужного для кнопки размера (рис. 8.62) или просто щелкните указателем в том месте, где должен располагаться левый верхний угол кнопки.
346 Глава б^Формы Рис. 6.62 В примечание формы добавлена новая кнопка 3. На экране появится окно мастера Создание кнопок (с м. рис. 8.62). В спи- ске Категории выберите Работа с формой, а в списке Действия — Закрыть форму. Щелкните кнопку Далее (или Готово, если вы хотите выйти из мастера). 4. В следующем диалоговом окне мастера (рис. 8.63) установите с помощью переключателя, что следует разместить на кнопке: Текст или Рисунок. Если вы выбрали Текст, то можете набрать в поле, расположенном рядом с переключателем, текст, который будет отображен на кнопке. Если вы выбрали Рисунок, то можете или выбрать один из предложенных к данно- му действию ♦традиционных» рисунков, или, установив метку для пара- метра Показать все рисунки, просмотреть все рисунки, которые предос- тавляет для выбора программа Access. Можно также щелкнуть кнопку Обзор и указать место расположения файла с нужным вам рисунком. Сде- лав подходящие установки щелкните кнопку Далее (или Готово, если вы хотите выйти из мастера). Рис. 8.63 Второе диалоговое окно мастера создания кнопок
Создание формы в режиме макета 347 5. В последнем диалоговом окне мастера кнопок задайте имя кнопки и щелк- ните Готово. В вашей форме появится кнопка, с помощью которой ее мож- но закрыть (рис. 8.64). Перейдите в режим формы и проверьте ее работу. Рис. 8.64 В форме появилась красивая анимированная кнопка, с помощью которой ее можно закрыть Внедренный макрос Мастер кнопок написал для кнопки внедренный макрос для обработки события Нажатие кнопки. Просмотреть внедренный макрос можно с помощью команды Обработка событий контекстного меню кнопки. Создание формы в режиме макета Режим макета предоставляет пользователю практически такие же инстру- менты для создания формы, что и режим конструктора. Не исключено, что кто-то из пользователей оценит это настолько, что утвердится во мнении, будто формы удобнее создавать сразу в режиме макета. Возможно, это так. А возмож- но это относится только к определенным типам форм. Кратко рассмотрим процедуру создания формы в режиме макета на примере формы Список авторов, создаваемой из отдельных полей таблицы Авторы. 1. В разделе Формы вкладки Создание Ленты щелкните кнопку Пустая фор- ма. 2. Откроется пустая форма в режиме макета и панель Список полей. 3. С помощью кнопок Ленты добавьте в форму заголовок и эмблему. 4. Разверните поля таблицы Авторы. Дважды щелкните поле ID автора таблицы в панели Список полей. Оно будет перенесено в форму как пер- вый элемент макета (рис. 8.65 слева). Рядом появится индикатор, «пред- лагающий» изменить тип макета с макета «в столбик» на «табличный» или наоборот. Выполните с помощью индикатора команду Показать в таб- личном макете, чтобы изменить тип макета (рис. 8.65 справа). 5. Добавьте в форму поля Фамилия, Имя и Отчество последовательными двойными щелчками их строк в панели Список полей. Они будут добавле- ны в макет, а индикатор исчезнет. 6. Добавьте, если нужно, в форму другие поля, и выровняйте макет. 7. Откройте окно свойств формы с помощью кнопки Страница свойств вкладки Упорядочить (Работа с макетами форм) Ленты. Перейдите на вкладку Макет. Измените свойство Режим по умолчанию так, чтобы его значение было Ленточные формы. 8. Сохраните форму, задав ей имя Список авторов. То, что у вас получится, в режиме формы должно быть похоже ня рис. 8.66.
348 Глава 8. Формы Рис. 8.65 Добавленные поля формируются в виде макета Список авторов ЬЬ-- • , vo j- • ;№N? А < п Покампк» ДОлячном шкете ....и ...MW Рис. 8.66 Ленточная форма Список авторов создана в режиме макета
Настройки окна формы 349 Настройки окна формы В Access 2007 объекты базы данных могут располагаться на вкладках в рабо- чей области программы или в отдельных окнах (рис. 8.67). По умолчанию для новой базы данных используются вкладки, так как в этом режиме даже самый маленький по размеру объект «трудно потерять»1. Окна или вкладки В предыдущих версиях программы Access объекты могли располагаться только в собственных окнах. В Access 2007 переключение отображения объектов осуще- ствляется в диалоговом окне Параметры Access (раздел Текущая база дан- ных, секция Параметры приложении переключатель Параметры окна до- кумента (Перекрывание окон/Вкладкм)). Изменение этого параметра тре- бует последующего перезапуска базы данных, чтобы настройка вступила в действие. Если объекты располагаются в собственных окнах, у них значительно боль- ше «действующих» параметров настройки внешнего вида и поведения. Одна и та же форма может выглядеть на экране по-разному. Может иметь или нет об- ласть выделения записи, панель кнопок перехода, допускать те или иные режи- мы представления, открываться в заданном режиме и т.д. Форма может откры- ваться в окне точно по середине рабочей области, иметь строго определенные размеры окна, полосы прокрутки и т.д. Все эти особенности определяются свой- ствами формы» которые вы можете настраивать индивидуально для каждой .формы в окне ее свойств. Свойства окна формы Откройте форму в режиме конструктора или макета и щелкните кнопку Страница свойств на Ленте или дважды щелкните область выделения формы. На экране появится окно свойств формы с выведенной на передний план вклад- кой Макет (см. рис. 8.30). Для того чтобы изменить внешний вид и поведение окна формы, измените значения свойств в соответствии с данными таблипы 8.1. Размеры и положение окна формы Размеры окна формы по умолчанию устанавливаются так, чтобы записи пол- ностью отображались на экране. Это определяется значением свойства формы Автоматический размер, которому задано значение Да. Чтобы задать собствен- ный размер окна формы, необходимо сначала исправить значение этого свойст- ва на Нет, а затем сделать следующее: 1. Перейти в режим формы. 2. Установить нужные размер окна формы, перетаскивая соответствующие границы. 1 В этой книге рассматривается «вкладочннй ► интерфейс базы данных Электронная библиотека 2007.
350 Глава 8. Формы . Т rlOMtfHC ЗапиЫ М 4 I «46 Список авторов - • 9 г 9Г С ? 71 ' №№ Фммлир Имя нн;11 Отчество о Абасов Игорь Гургенович L_! у .. < I- | Институт повышения квалификации [2 [Алешина Диана Викторовна Институт повышения квалификации Г Аманян Виктор Витальевич Кафедра проблем интеграции ИПН | 4 Беоилов Вечеслвв Васильевич Институт подготовки кедров 5 Гончарский Иван Иванович . Международная академия информации 6 Графи нона Лидия Львовна Краснознаменский машиностроительный ывод 7 Гуляев Вениамин Никифорович Институт повышения квалификации 8 Давыдова Галина Павловне Кафедра проблем интеграции ИПК 9 Данилов Николай Сергеевич Кафедра проблем развития ИПК 10 Дровских Роман Игнатьевич Международный центр ^Сотрудничество' U Дугмнский Герман Александрович Академия государственного контроля 12 Егоров Иван Михайлович Коаснознаменский машиностроительный завод 13 Железо* Виктор Андреевич Краснознаменский машиностроительный завод М Зажигал кин Юрий Андреевич Кафедра проблем интеграции ИПК I И > 73 Gaw wgi>ib W Список автрров N»Ns фамилий Имя л. Абасов Л ihuuuuj Й ; • Название Страниц Рэдвкторм Издательство Год «здания: О документе и Авторы L. Отчество Гургенович Игорь L « Электронная карточка v ♦ f Учебное пособие 10 владельца: русский <Пою фндьзрд *« *г ь ы * Lu^CIUXU3.XintU».IHfeUWU.m.a CTUiif Ub Ж 1МИ |м,: "Экономика и мир^ 120Q1 Аь горов и издательства 14 ^Запись и 4 Дю4| » м « J фдемвд Пома Институт повышения квалификации Материя в современном е-^ владельцы Дровских Р.и., Куликов И. W Владельцы Кружилин АЛ.Ларин И.И.Я» | Запысм 4 с. J мз 22 it й » И ' • Кириленко Записи: М * 1 «46 . ___ _____* • • ____ ! 4:15:30 tiijtL' llUti К Я X Авторское право: Не» Вильям .. . ’* Владимир Овладел- t Неизвестно Авторов Издательства 12 13 Рис. 8.67 Одни и те же формы Access 2007 на вкладках (вверху) и в собственных окнах (внизу)
Настройки окна формы 351 Таблица fl. 1. Настройки окна формы Для того чтобы... Измените свойство... Примечание Изменить текст в строке заголовка формы Подпись задав в нем но- вый текст строки заголовка (или пробел, если заголов- ка быть не должно). Текст заголовка отображается в ре- жиме формы. Для вкладок подпись ото- бражается на их ярлыках. Удалить кнопки развертывания и свертывания Кнопки размеров окна задав значение Отсутствуют. При любом значении свойства Кнопки размеров окна форма выводится без кнопок Свернуть и Развернуть, если свойство Тил границы имеет значение Отсутствуют или Окна диалога. Отключить кнопку закрытия окна формы в Кнопка закрытия, задав значение Нет Если свойство Кнопка закрытия име- ет значение Неу кнопка Закрыть и со- ответствующая команда оконного меню отключены, но выводятся на экран. Что- бы убрать кнопку Закрыть, нужно за- дать значение Отсутствует для свойства Тип границы. Удалить кнопку оконного меню Кнопка оконного меню, задав значение Нет. Если свойство Кнопка оконного меню имеет значение Нет, кнопки Свернуть Развернуть и Закрыть в форме также не отображаются. Если свойство Тип границы имеет значение Отсутствует, форма выводится без оконного меню. Скрыть контекстное меню формы Контекстные меню, задав значение Нет. Это свойство находится на вкладке Дру- гие. Оно действует также и для вкладок. Скрыть кнопки пере- хода по записям Кнопки перехода, задав значение Нет. Действует и для окон, и для вкладок. Скрыть разделитель- ные линии между за- писями в ленточном форме, а также ли- нии границ между разделами формы Разделительные ли- нии, задав значение Нет. Действует и для окон, и для вкладок. Скрыть область выделе- ния записей в форме Область выделения, задав значение Нет. Действует и для окон, и для вкладок. Запретить отображе- ние существующих за- писей (форма ввода) Ввод данных, задав значение Да, Это свойство находится на вкладке Данные. Действует и для окон, и для вкладок. Запретить добавле- ние, изменение и удаление записей в форме Разрешить добавле- ние, Разрешить изме- нения или Разрешить удаление, задав значе- ния Нет. Эти свойства находятся на вкладке Дан- ные Действуют и для окон, и для вкла- док. ।
352 Глава 8 Формы По размеру формы Для подстройки размеров окна формы под ее содержимое можно использовать ] кнопку По размеру формы, которая росположена в разделе Окно вкладки Главная Ленты. Если форма развернута на все рабочее окно программы, эта ко- манда недоступна 3. Выполнить команду Сохранить в контекстном меню формы. Окно формы «запомнит* установленные размеры, которые будут использоваться при ее открытии. Выравнивание формы по центру при его открытии осуществляется с помо- щью свойства Выравнивание по центру, которому можно задать значение Да или Нет. Установите значение Да, и при следующем открытии окно формы бу- дет отцентрировано в рабочей области Access. Если установить значение Нет, то окно формы в режиме формы можно перенести в любое место рабочей области, затем сохранить его с помощью команды Сохранить контекстного меню и за- крыть. Тогда при следующем открытии окно появится в том положении, которое было установлено и сохранено. Формы со вкладками и разрывами страниц На многостраничных формах можно поместить больше дани ых, с их помо- щью можно объединять однотипные данные из различных таблиц или запросов, на них можно выводить справочную или вспомогательную информацию и т.д. Для создания формы, содержащей несколько страниц, используют либо эле- мент управления Вкладка (затем — Вставить вкладку), либо элемент управле- ния Вставить или удалить разрыв страницы. Применение набора вкладок является самым простым и эффективным спосо- бом создания формы, состоящей из нескольких страниц. С его помощью отдель- ные страницы объединяются посредством единого элемента управления. Для переключения между страницами достаточно просто щелкнуть ярлычок вклад- ки, на которую нужно перейти. Ярлычок вкладки может иметь надпись (или значок), соответствующую ее содержанию. Разрыв страниц используется для указания горизонтальных разрывов меж- ду элементами в форме. Разрыв страницы работает только в режиме формы для одиночных форм. Для перехода на следующую страницу используется клавиша Page Down, а на предыдущую Page Up. Для перехода между страницами мож- но вставить кнопки (в разделе Примечание формы), запускающие макрокоманды перехода на страницу с указанным номером. Ниже в качестве примера рассмотрено создание формы Ввод данных на вкладках. на вкладках которой объединены формы из таблиц «нижнего уров- ня*: Авторы, Владельцы, Редакторы. Организации, Издательства, Типы до- кументов и Язык. Они могут использоваться в электронной библиотеке при вводе данных о новом документе «по мере необходимости*, то есть тогда, когде данного автора, редактора, издательства и т.д. еще не было в ранее введенных документах. «Вкладочные* формы Авторы, Владельцы , Редакторы, Организа- ции, Издательства. Типы документов и Язык могут быть созданы с помощью автоформы (см раздел «Автоформы или формы на основе шаблонов содержа- ния* выше в этой главе, где описано создание формы Издательства). Примене-
Формы со вкладками и разрывами страниц 353 ние одной и той же процедуры при создании всех перечисленных форм обеспечит единый стиль оформления, что для вкладок одной формы немаловажно. После того как «вкладочные» формы будут готовы, их следует вставить на вкладки новой формы Ввод данных на вкладках как подчиненные формы. Создание и настройка вкладок В режиме конструктора создайте пустую форму, и примените к ней тот стиль автоформата, который был применен ко евкладочным* формам. Добавьте к ней эмблему и заголовок «Ввод данных на вкладках». Затем сделайте следующее: 1. Для добавления к форме набора вкладок щелкните кнопку Вкладка в раз- деле Элементы управления вкладки Конструктор (Инструменты конст- руктора форм) Ленты. Перейдите к форме и выберите в ней место, куда следует поместить вкладки (левый верхний угол области данных). Опи- шите указателем диагональ прямоугольника листа вкладок. Программа Access добавляет сначала только две вкладки с формальными названиями ВкладкаI и Вкладка2. Первая вкладка открыта по умолчанию. 2. Чтобы добавить еще одну вкладку, щелкните правой кнопкой ярлычок вкладки и в контекстном меню выберите команду Вставить вкладку (в этом же меню есть команда Удалить вкладку, которой при необходимо- сти можно воспользоваться). Для добавления вкладки можно также щелкнуть кнопку Вставить вкладку на Ленте. 3. Всего создайте 7 вкладок по количеству таблиц, которые будут добавлены в форму (рис. 8.68). Откройте окно свойств элемента управления НаборВкладокО (это имя дается по умолчанию) и измените значение свой- ства Тип фона с Обычный на Прозрачный, чтобы листы вкладок не «от- свечивали» и тем самым не портили выбранное для Электронной библио- теки 2007 оформление. Рис. 8.68 В форму было добавлено 7 вкладок 12 Асеев 200?
354 Глава 8 Формы Вкладки в два ряда —/т ------ Иногда ярлычки вкладок не могут поместиться в одной строке. В этом случае они бу- r ^1 1 дут «обрезаны», и в элемент управления будет добавлена полоса прокрутки. Что- бы разместить их в два ряда, откройте окно свойств элемента управления НаборВкладокО (это имя дается по умолчанию). На вкладке Макет окна свойств измените значение свойства Несколько строк с Нет (по умолчанию) на Да. Ко- гда вы закроете окно свойств, полоса прокрутки исчезнет, а ярлычки вкладок вы- строятся в два ряда. 4. Переименуйте ярлычки вкладок так, чтобы на них отображались назва- ния таблиц, которые будут им соответствовать: Авторы, Владельцы, Ре- дакторы, Организации, Издательства, Типы документов и Язык (рис. 8.69). Для этого щелкните выбранный ярлычок два раза, и в появив- шемся окне его свойств задайте значение свойству Подпись, соответствую- щее нужному названию ярлычка. К шрифту текста названия можно при- менить форматирование (шрифт, его размер, насыщенность, курсив и под- черкивание). Это делается с помощью кнопок Ленты, при условии, что выделен элемент управления НаборВкладокО (также это можно сделать непосредственно на вкладке Макет окна свойств набора вкладок). Рис. 8.69 Вкладки переименованы в соответствии с названиями таблиц 5, Если нужно изменить порядок следования вкладок, щелкните правой кнопкой мыши ярлычок и в контекстном меню выберите команду После- довательность вкладок. На экране появится диалоговое окно Порядок страниц (рис. 8.70), в котором выделите название одной вкладки, и пере- местите ее вверх или вниз по списку с помощью кнопок Вверх и Вниз. Про- делайте то же самое с другими вкладками. Когда последовательность вкладок будет настроена, щелкните ОК Размеры ярлычков вкладок Ярлычкам вкладок можно задать размеры по высоте и по ширине. Для этого исполь- зуются свойства Высота ярлычка и Ширина ярлычка элемента управления НаборВкладокО. Если для этих свойств заданы значения 0 то высота и ширина каж- дого ярлычка будет соответствовать его содержимому Если установлены значения, которые больше нуля, то ширина или высота всех вкладок будет одинакова и равна значению, указанному в свойстве.
Формы со вкладками и разрывами страниц 355 Рис. 8.70 Диалоговое окно Порядок страниц 6. На ярлычки вкладок можно добавить рисунки. Для этого дважды щелк- ните ярлычок вкладки, к которой вы хотите добавить рисунок, чтобы от- крыть диалоговое окно ее свойств. Рядом с ячейкой свойства Рисунок щелкните кнопку «с многоточием», а затем выберите рисунок в построи- теле рисунков (рис. 8.71) и щелкните кнопку ОК. Рисунок отображается слева от подписи вкладки. Если требуется, чтобы на ярлычке был отобра- жен только рисунок, в ячейку свойства Подпись введите пробел. Рис. 8 71 Добавьте рисунок на ярлычок вкладки Кнопки вместо ярлычков вкладок (Можно установить отображение кнопок вместо ярлычков вкладок. Для этого от- кройте диалоговое окно свойств элемента управления НаборВкладокО и задайте для свойства Стиль значение Кнопки (рис, 8,72). Рис. 8.72 Вместо ярлычков вкладок отображаются кнопки 1 7. Теперь можно заполнить вкладки содержимым: перетащить на них поля из списка полей (если был выбран источник данных при создании формы), добавить или скопировать элементы управления, вставить подчиненную форму. В форму Ввод данных на вкладках формы таблиц «нижнего» уров-
356 Глава 8. Формы ня целесообразно вставить как несвязанные подчиненные формы. Чтобы добавить подчиненную форму на вкладку, на Ленте щелкните кнопку Подчиненная форма/отчет. Когда вы переведете указатель к создаваемой вами форме, в ней появится прямоугольник выделения черного цвета, обозначающий место, куда может быть вставлена форма (рис. 8.73). На- жмите кнопку мыши и перетащите указатель или просто щелкните указа- телем внутри прямоугольника выделения в том месте, куда будет вставле- на форма. Рис. 8.73 В форме выделен прямоугольник, куда может быть вставлена подчиненная форма 8. Появится диалоговое окно Мастер подчиненных форм (рис. 8.74), в кото- ром вам нужно, всего лишь» установить переключатель в положение Имею- щиеся формы, выбрать форму из списка и щелкнуть кнопку Готово. Рис- 8.74 Диалоговое окно Мастер подчиненных форм
Формысо вкладками и разрывами страниц 357 Если подчиненных форм пока нет? Если вы еще не создали «элементарные» формы для электронной библиотеки, то можете с помощью мастера тут же создать их из таблиц. Разница будет в том, что форматирование и свойства этих форм будут заданы по умолчанию, что может не соответствовать вашим требованиям. Тогда вставленные формы придется редакти- ровать, что, в принципе, не так уж и сложно (см. раздел «Подчиненные формы» ниже в этой главе}. 9. Вставьте подчиненные формы на все созданные вами вкладки. Сохраните форму под именем Ввод данных на вкладках. При необходимости устано- вите свойства подчиненных форм и окна главной формы. К примеру, из главной формы следует обязательно убрать кнопки перехода по записям и область выделения, которые в ней совершенно не нужны. Выравнивание подчиненных форм на вкладках — совет I , ! — — .-^^^—1 Г — II ** । —— 1 " Ч При выравнивании подчиненных форм на вкладках удобно пользоваться клавиша- ми со стрелками, а также «напрямую» задавать размер и положение подчиненной формы с помощью окна свойств (значения свойств Ширина, Высота, От верх- него края, Or левого крав на вкладке Макет). 1 J На рис. 8.76 показана форма Ввод данных на вкладках, которая у вас могла получиться в результате выполнения описанных выше действий. Обратите внимание на то, что исходные формы были разделенными, а на вкладки они были вставлены как простые формы Рмс. 8-75 Форма Ввод данных на вкладках
358 Глава 8. Формы Добавление к форме разрыва страниц Разрыв страниц добавляется непосредственно в область данных. После этого форма разбивается на страницы, которые выводятся на экран отдельно. На соз- данных таким образом страницах можно сгруппировать данные по какому-либо признаку, например, «основные» и «дополнительные». При переходе к другой странице, фокус устанавливается на ее первый объект. Ниже в качестве примера рассмотрено создание формы Электронная кар точка (две страницы ), разделенной на две страницы, переход между которыми осуществляется с помощью кнопок, расположенных в разделе примечания фор- мы. Вторая страница этой формы должна содержать сведения, которые хранят- ся в базе электронной библиотеки, но не входят в состав «электронной карточ - ки», т.е. количество рисунков и ссылок, дата поступления документа в фонд библиотеки, авторское право и место хранения твердой копии. Эти данные мож- но также выбрать из запроса Карточка (все данные), на котором «строилась» первая страница. Чтобы построить форму Электронная карточка (две страницы ) сделайте следующее: 1. В области переходов скопируйте форму Электронная карточка, исполь- зуя команды контекстного меню. 2. Переименуйте копию в Электронная карточка (две страницы/, а затем откройте ее в режиме конструктора. 3. Увеличьте размер области данных (примерно на две страницы рабочей об- ласти) и растяните указателем область примечания формы от его грани- 4. Измените заголовок формы, добавив к нему, например, надпись «(две страницы)». Заголовок и примечание одинаковы для всех страниц Разделы заголовка и примечания формы будут отображаться при просмотре на эк- ране любой страницы. Они остаются для них неизменными. б. Откройте панель Список полей. Перетащите из нее поля, которых нет в форме, и разместите их ниже существующих в форме полей. Выровняйте добавленные поля и создайте из них макет. Отформатируйте добавленные поля, если это нужно (рис. 8.76). 6. Щелкните кнопку Вставить или удалить разрыв страницы на Ленте. Вы- берите в области данных формы место, в которое необходимо поместить разрыв страницы, переместите туда указатель и щелкните левой кнопкой мыши. Разрыв страницы появится в форме. Он обозначается небольшой точечной линией на левой границе формы (рис. 8,77)- Размеры страниц Если ваша форма отображается в оконном представлении, лучше, если страницы будут одинакового размера. Для оценки размера страниц используйте линейку отображаемую в режиме конструктора.
Формы со вкладками и разрывами страниц 359 Рис. 8.76 Заготовка для двухстраничной формы Электронная карточка (две страницы) в режиме макета Электронная карточка (две страницы) ID документа. to Название: Политический материализм Даторы: Гил: Учебни* Страниц: 100 Редакторы- - Язык русский * 1 Издательство: М.; ООО •’Ьнном-пресс3 Гцдмддання: 2005 2711.2054 10 Твердое копия: Аггорское Количество ссылок: 120 поаво: Lwmwii I w in я...III I JwWHMWWWWWWMMWIMII Дариен и j Юи> >? > »»>. JlyJ , . .. ___ января 2(Ф?т< _ «лет 8 библиотеке организации: Ина.ЮППМЗ. Авторов Количество рисунков: _________________________ ! .....i.i----------.-------------------------__---------!_ Рис. 8,77 Разрыв страницы в режиме конструктора форм Годи Дат. пост тле Кил» *гесп ирису жив 7. Измените некоторые свойства формы. Дважды щелкните область выделе- ния формы, чтобы открыть окно ее свойств. Перейдите на вкладку Другие, установите значение Текущая страница в ячейке свойства Цикл табуля- ции. В этом случае будет невозможно перейти на следующую страницу при помощи клавиши Tab- Удалите вертикальную полосу прокрутки, за- дав на вкладке Макет для свойства Полосы прокрутки значение Только по горизонтали или Отсутствуют. 8. В режиме конструктора опустите поля, которые будут располагаться на второй странице вниз области данных так, чтобы они не помещались на первой странице формы, контролируя их смещение в режиме формы иди в режиме макета. Когда это будет сделано, «подтащите* к ним элемент управления КонецСгпраницы, так как он будет определять «точку начала » второй страницы. Для перехода с одной страницы на другую пользуйтесь клавишами Page Down и Page Up (рис. 8.78). 9. Чтобы упростить пользователям работу с такой формой, можно добавить кнопки для перехода на первую и вторую страницы. Они будут расположены в разделе примечания формы. В режим конструктора добавьте с Ленты две кнопки (элемент управления) в раздел примечания. После добавления каж- дой кнопки будет открываться мастер кнопок, но так как он не сможет нам «помочь», откажитесь от его «услуг», щелкнув в его окне кнопку Отмена- 10. Переименуйте кнопки (рис. 8.79). Для этого шелкните надпись на кнопке, выделите ее перетаскиванием указателя мыши, а затем введите новую надпись, например, «Ко второй странице», и нажмите клавишу Enter (или щелкните где-нибудь вне кнопки в разделе примечания).
360 Г лава 8. Формы Рис. 8.78 Две страницы формы настроены по размерам (вверху — первая страница, внизу — вторая страница) Электронная карточка (две страницы) 1 .. . Юдбкумсктй! “ 1 Название: матер «я в современном •стестаоан«ими Авторы: Дровомм Р.М., Куликов И.П. 1 Так Учебное пособие Страниц: • V. . Ml .^1 |-М j Bi-. М| __ 230 Редакторы: Кружилин А В.Ларин И И. Якушев Н С, 1 Яммс руссмий Издательство: М.: "Экономика и мир* Гцд издам» 2001 Коммент лрн№ RS I I__________ Перейти: СИжрытъ: Рис. 8.79. В раздел примечания добавлены две кнопки, одна из которых уже переименована < Примечание формм “у ~ ...р..—у„Г т Ь января iOO? ' 11. Теперь нужно «задействовать» кнопки на переключение отображения страниц. Это легко осуществить с помощью макроса, подключенного к кнопкам. Для этого на вкладке Создание Ленты щелкните кнопку Макрос в разделе Другие. Откроется окно конструктора макросов (рис. 8.80). Зачем кнопке макрос? ._______в_____________.____________________________-_____________ Макрос представляет собой список последовательно выполняемых, макрокоманд, который создается для автоматизации часто выполняемых задач. Макрос, припи- санный к событию кнопки, выполняет определенные действия по наступлению этого события (например, нажатия кнопки). Подробнее о макросах рассказано в главе 1О «Макросы».
Формы^со вкладками и разрывами страниц 361 Рис. 8.80 Окно конструктора макросов с макросом для переключения страниц формы 12. Заполните две строки макроса так, как показано на рис. 8.80, а затем со- храните его под именем Переход по страницам и закройте конструктор макросов (подробно создание этого макроса рассматривается в разделе «Группа макросов» главы 10 «Макросы»). Созданный вами макрос поя- вится-в соответствующей группе области переходов. Это общий макрос, принадлежащий базе данных, и его можно использовать в любых ее объ- ектах. 13. Вернитесь к форме, открытой в режиме конструктора. Выделите кнопку «Ко второй странице» и щелкните на Ленте кнопку Страница свойств, чтобы открыть свойства кнопки, где перейдите на вкладку События. 14. В ячейке свойства Нажатие кнопки установите действие, выполняемое первой строкой макроса (рис. 8.81 )т то есть Переход по страницам.ко вто- рой странице. Проделайте аналогичную процедуру со второй кнопкой формы Электронная карточка (две страницы), 15. Перейдите в режим формы. Проверьте действие кнопок. Двухстраничная форма Электронная карточка (две страницы) готова (рис. 8.82). Рис. 8.81 Установите действия, выполняемые в первой строке макроса, выделенной кнопке
362 Глава 8. Формы Электронная карточка (две страницы) 25 январи 2007 ь/ 7:205!) I ID документа Название; J6 Горы” современной материи Авторы: Кудрявцев А.М., Кудрявцева Л.М., Куликов И.П. м Др. Тип: Страниц: Редакторы: Язык: 'Монография 179 Перейти: Открыть: Комментарий: Нет Издательство: "од издания: русский М.: "Экономика и мир 2003 I Кез10?0*4--1 1 пе Залмш -К < 6 *а 22 ♦ и ? | 'Поиск Рис. 8.82 Двухстраничная форма Электронная карточка (две страницы) с кнопками для перехода по страницам Проверка данных в формах и ограничение доступа В форме можно установить проверку данных, которые могут быть введены с ее помощью в таблицу, а также запретить изменять, удалять или добавлять данные в записях или отдельных полях формы. Этим можно обеспечить отклик на только что введенные пользователем данные или предотвратить ввод невер- ных данных в базу. Ограничения могут быть наложены непосредственно на вво- димые значения (путем задания масок ввода, проверочных условий и блокиров- кой элементов управления), а также на действия пользователя (путем задания свойств формы или ее элементов). Маска ввода для элемента управления формы Чтобы создать маску ввода для элемента управления формы: 1, Откройте форму в режиме конструктора или макета. 2. Откройте окно свойств элемента управления, для которого нужно создать маску ввода. Для этого можно выделить элемент и щелкнуть кнопку Стра- ница свойств на Ленте. Перейдите на вкладку Данные диалогового окна свойств элемента. 3. Щелкните в ячейке свойства Маска ввода и введите с клавиатуры опреде- ление маски или щелкните кнопку построителя, чтобы запустить мастер масок ввода (работа с мастером была рассмотрена в разделе «Маска ввода» главы 6 «Работа с таблицами»).
Проверка данных в формах и ограничение доступа 363 На рис. 8.83 показана маска ввода, созданная для поля И.О. вкладки Авторы формы Ввод данных на вкладках. Рис.8.83 В поле И. О. вкладки Авторы формы Ввод данных на вкладках отображается маска ввода Условие на значение для элемента управления Чтобы задать условие на значение для элемента управления в форме: 1. Откройте форму в режиме конструктора или макета. 2. Откройте окно свойств элемента управления, для которого нужно задать условие на значение. Для этого можно выделить элемент и щелкнуть кнопку Страница свойств на Ленте. Перейдите на вкладку Данные диало- гового окна свойств элемента. 3. Щелкните в ячейке свойства Условие на значение и введите с клавиатуры условие или щелкните кнопку построителя, чтобы открыть окно построи- теля выражений (работа с построителем была подробно рассмотрена в раз- деле «Построитель выражений» главы 7 «Запросы»). 4. В ячейку свойства Сообщение об ошибке введите текст сообщения об ошибке, например, «Нужно ввести положительное целое!», который дол- жен выводиться на экран при попытке пользователя ввести данные, нару- шающие условие на значение (рис. 8.84). Рис. 8.84 При попытке ввести в поле формы данные, нарушающие заданное условие на значение, будет выдано сообщение об ошибке Когда производится проверка условия на значение? Условие но значение проверяется при. изменении данных, попытке выхода из поля, сохранении записи, переключении режимов и закрытии формы.
364 Глава 8 Формы Проверяются оба условия на значение Если задать свойство Условие на значение для элемента управления, поле кото- рого в таблице уже имеет заданное свойство Условие на значение, Access будет использовать оба условия, т.е. условиедля элемента управления в форме не отме- няет условие для поля в таблице. Блокировка или отключение элемента управления Чтобы отключить или заблокировать элемент управления в форме: 1. Откройте форму в режиме конструктора или макета. 2. Откройте окно свойств элемента управления, который нужно отключить или заблокировать. Для этого можно выделить элемент и щелкнуть кноп- ку Страница свойств на Ленте. Перейдите на вкладку Данные диалогово- го окна свойств элемента. 3. Для того чтобы полностью отключить элемент управления, в результате чего он будет недоступен (рис. 8.85) и не сможет получать фокус, устано- вите в свойстве Доступ значение Нет. Рис. 8.85. Поле Комментарий на вкладке Авторы формы Ввод данных на вкладках отключено 4. Для того чтобы разрешить пользователям чтение данных, но запретить из- менять их, установите в свойстве Блокировка значение Да. Если запре- тить доступ и блокировать элемент, то он не будет отображаться, как не- доступный, но не сможет получать фокус. Обязательное обновление Свойство Доступ можно использовать совместно со свойством После обновле- ния, чтобы отключить элемент управления, пока пользователь не введе1 текст или не выберет значение в другом элементе. Например, можно отключить кнопку до тех пор, пока в поле не будет введено значение. Затем можно с помощью свойства По- сле обновления (вкладка События) вызвать процедуру обработки события или макрос для включения кнопки.
Проверка данных в формах и ограничение доступа 365 Отключение режимов для формы С помощью задания свойств можно определить режимы, доступные для дан- ной формы. Свойства Режим формы, Режим таблицы, Режим сводной таблицы, Режим сводной диаграммы и Разрешить режим макета вместе со свойством Ре- жим по умолчанию определяют, каким образом пользователи смогут просмат- ривать форму или работать с ней. Чтобы установить допустимые режимы, сделайте следующее: 1. Откройте форму в режиме конструктора. 2. Откройте окно свойств формы. 3. Для отключения режимов на вкладке Макет задайте значения Нет в свой- ствах Режим формы, Режим таблицы, Режим сводной таблицы, Режим сводной диаграммы и (или) Разрешить режим макета. Из рис. 8.86 видно, что в форме отключены режимы: Режим таблицы, Свод- ная таблица и Сводная диаграмма. Поэтому в списке режимов справа они отсутствуют. Рис. 8.86 Режимы Режим таблицы. Сводная таблица и Сводная диаграмма в форме отключены Запрет пользователям перемещать окно формы или изменять его размеры (для оконного представления форм) Можно наложить запрет на перемещение формы или изменение ее размеров при ее просмотре в режимах формы или таблицы. Чтобы установить эти ограничения, сделайте следующее: 1. Откройте форму в режиме конструктора или макета. 2. Щелкните кнопку Страница свойств ня Ленте, чтобы открыть окно свойств формы. 3. Чтобы запретить перемещение формы, на вкладке Макет задайте для свойства Допускается перемещение значение Нет. ----------------------------------------------------------------- Неперемещаемые окно форм можно сворачивать, разворачивать, закрывать и упорядочивать. 4. Чтобы запретить изменение размеров формы, на вкладке Макет задайте для свойства Тип границы значение Отсутствует, Тонкая или Окна диалога.
366 Глава 8. Формы Запрет на отображение существующих записей Если форма используется только для ввода данных, то в ней можно не отобра- жать существующие в базе данные, защитив их, таким образом, от случайного или преднамеренного изменения пользователями. Чтобы установить такое ограничение, сделайте следующее: 1. Откройте форму в режиме конструктора или макета. 2. Щелкните кнопку Страница свойств на Ленте, чтобы открыть окно свойств формы. 3. Если в форме не следует отображать существующие записи, используя ее только для ввода данных, на вкладке Данные задайте для свойства Ввод данных значение Да. Форма с атрибутом «только для чтения» Наоборот, если форма используется только для просмотра данных, в ней можно запретить внесение каких-либо изменений в существующие в базе дан- ные, гарантировав их неприкосновенность со стороны пользователя. Чтобы сделать форму используемой только для просмотра данных: 1. Откройте форму в режиме конструктора или макета. 2. Щелкните кнопку Страница свойств на Ленте, чтобы открыть окно свойств формы. 3. На вкладке Данные в ячейках свойств Разрешить изменение, Разрешить удаление и Разрешить добавление установите значения Нет. Подчиненные формы Формы могут быть вставлены одна в другую. Та, в которую вставлена форма, называется «главной», а форма, находящаяся внутри нее — «подчиненной». Иногда главную форму называют «родительской», а подчиненную — «дочерней», а все вместе — «иерархической формой». Подчиненные формы удобно использовать для просмотра или ввода данных в таблицы, связанные отношениями «один-ко-многим», где с их помощью «рас- шифровываются» записи одной из таблиц. Данные главной и подчиненной форм синхронизируются. Например, на рис. 8.87 показана форма Авторы из организаций* построен- ная на основе таблиц электронной библиотеки Организации и Авторы, которые связаны отношением «один-ко-многим». Главная форма (Организации) нахо- дится на стороне «1», а подчиненная (Авторы) — на стороне «оо». Здесь главная и подчиненная формы связаны таким образом, что в подчинен- ной форме выводятся только те записи, которые связаны с текущей записью в главной форме. Например, когда главная форма отображает название органи- зации «Кафедра проблем интеграции ИПК», подчиненная форма отображает только тех авторов, которые там работают.
Подчиненныефоомы 367 Рис. 8.87 Главная форма построена на основе таблицы» находящейся на стороне «1», а подчиненная — на стороне «ао» Когда создается подчиненная форма* можно указать в каком виде ее следует отображать (рис. 8.88): в режиме формы, таблицы, возможно также в режиме сводной таблицы или сводной диаграммы. Подчиненные формы не отображают- ся, когда главная форма находится в режиме сводной таблицы или сводной диаграммы. 16 Нячеслж Щфть Борисович 31 Петров Мкквмл 3? Гтгтов Виктг^р Семенович 42 ЧмОмков Нмвифор Ааерлмввим * Ир*) * И 1 . _ _ ' . (итак* р rf I wit , s»-. И ’ 3. г- Ji-^ж -*>. и J * 1 Вид jj "| ' Рис. 8.88. Различные режимы подчиненной формы
368 Глава 8. Формы Количество подчиненных форм в одной главной не ограничено, нужно толь- ко, чтобы они могли в ней разместиться. Уровней вложений подчиненных форм может быть не более семи. Например, для главной формы из таблицы Организа ции можно создать подчиненную форму из таблицы Авторы, для которой в свою очередь построить подчиненную форму на основе таб лицы Данные документов. Такая форма позволит начинять поиск документов от названия организации, через авторов, работающих там. Подчиненные формы могут использоваться для ввода данных. Важно, что при вводе новых записей в подчиненную форму текущая запись в главной форме сохраняется. Это гарантирует, что записи из таблицы на стороне «многие» будут иметь связанную запись в таблице на стороне «один». Это также автоматически сохраняет каждую запись, добавляемую в подчиненную форму. Переход от главной формы к подчиненной Для того чтобы переключиться из главной формы в подчиненную, щелкните любое место в подчиненной форме. Для того чтобы переключиться из подчиненной формы в главную форму, щелкните элемент управления в главной форме. Можно также пользоваться клавишей Tab и ее комбинациями с Ctrl и Shift, а также кнопками пе- ремещения. Создание подчиненных форм В примере, приведенном в разделе «Создание и настройка вкладок» (выше в данной главе), рассмотрен случай создания подчиненных форм, не связанных с главной. Ниже будут рассмотрены примеры создания связанных форм. Создание связанных подчиненных форм из таблиц: проект электронной библиотеки Для поиска и открытия документов в электронной библиотеке можно ис- пользовать связанные подчиненные формы. В том числе формы, построен ные на основе запроса Карточка (все данные). Он имеет связь с таблицей Данные доку- ментов с совпадением записей по значениям поля ID документа. Однако для ввода данных такая структура не применима, так как список авторов (а также редакторов) в этом запросе получается в результате вычислений, проведенных в перекрестных запросах. Для ввода данных необходимо использовать формы, построенные на таблицах, имеющих установленные в базе данных связи с обеспечением целостности данных. Формы для поиска документов могут быть построены таким образом, чтобы в конечном итоге они отображали содержание электронной карточки (электрон- ной ссылки) документа, из которой будет осуществляться переход к документу или его открытие.
Создание подчиненных форм 369 Одновременное создание главной и подчиненной форм на основе связанных таблиц Построить главную и подчиненную формы на основе связанных таблиц мож- но с помощью мастера. Таблицы электронной библиотеки Организации и Авто ры связаны отношением «один-ко-многим». Ниже рассмотрена процедура соз- дания формы Авторы из организаций* в которую вставлена подчиненная форма Авторы подчиненная (эти формы показаны на рисунках в разделе «Подчиненные формы» этой главы). 1. Откройте вкладку Ленты Создание. 2. В разделе Формы откройте список Другие формы и выберите в нем коман- ду Мастер форм. 3. В первом диалоговом окне мастера выберите в списке таблицу Организа- ции и перенесите в список Выбранные поля поля ID организации и Орга- низация. Выберите таблицу Авторы и перенесите поля ID автора, Фами лия* Имя и Отчество в список Выбранные поля. Щелкните кнопку Да- лее. 4. В следующем диалоговом окне мастера вам нужно будет выбрать вид пред- ставления данных. Выберите установки, показанные на рис. 8.89: в спи- ске — Организации, а положение переключателя — Подчиненные фор- мы. Щелкните кнопку Далее. Рис. 8.89 Выберите вид представления данных из двух таблиц 5. В следующих двух диалоговых окнах мастера выберите вид подчиненной срормы, например, ленточный (эквивалент режима формы), и стиль фор- матирования, например, Электронная библиотека 2007. Щелкните в этих окнах кнопки Далее. 6. В последнем диалоговом окне мастера задайте имена формам — Авто- ры из организаций и Авторы подчиненная. Выберите вариант продолже- ния работы (режим конструктора или режим формы) и щелкните кнопку Готово. Результат работы мастера будет примерно такой, как показано на рис. 8.90. Естественно, что вам захочется изменить форматирование этой формы, что вы легко сможете сделать в режиме макета или конструктора.
370 Глава 8. Формы Рис. 8.90 Результат работы мастера по созданию форм Авторы из организаций и Авторы подчиненная (сравните его с рис. 8.87 и 8.88, где показаны аналогичные, отформатированные «вручную», формы) Авторы из организаций "^1 10 ерг*н.м«ии к Нвмкни* Кафедре проблем интеграции ИПК Авторы подчиненная ~ П И Ц’-’ГЯШТ Orwn* —— Фамилия Имя 3|Аманян Виктор Витальевич _ _ _81Давмдом _ _ Галина Павлодна | 14|зажигалкин Юрий 1 ' 1б|Данр1 Вячеслав Владимирович 1 Шамили Г—-*- — - — Борисович 31 Петро* Михаил Михайлович 37 Титов Викуор £$ме><2Д!К [... « чибммов [Никифор Амркиевич Г (W • л Зяпмсм М А 1 я 8 > .И.> | ।Помех [ Записи н 4 $мз12 ] > Н > [ П1ОИТК Подчиненная форма в новом окне Jt л щ =-=-------------------- ———--—— Для редактирования подчиненной формы удобно воспользоваться командой Под- < чиненная форма в новом окне (рис, 8,91) контекстного меню подчиненном -- формы (в режиме конструктора щелкните элемент управления подчиненной формы правой кнопкой мыши), которая открывает отдельное окно, где подчиненная фор- ма отображается как независимая. Рис. 8.91 Отформатируйте подчиненную форму в собственном окне конструктора, выбрав эту команду контекстного меню ВмРОВНЯГв » Еммер » Л >ло25»ние » Mtirr । X ХДВАЧТЪ Привяла » / ♦ m • м к • в, и> I. -- ------ -..«г.—. - 'Ч^иШ ц Й Цмт JMMKH/фоиВ » Д цнт тнгта » Л Оформяениг > S Ведренная формвливвон ©хне У яойства j
Создание подчиненных форм 371 В результирующей форме будут отображаться две панели кнопок перехода по записям: нижняя панель (относящаяся к главной форме) «листает» организа- ции, а верхняя (относящаяся к подчиненной форме) управляет записями для ав- торов, которые работают в организации, установленной в главной форме. Если, согласно данным базы, в организации не работает ни один автор, то подчинен- ная форма будет пуста. Форма, построенная таким образом, может быть использована как для просмотра, так и для ввода данных (в обе таблицы). Создание форм путем добавления одной формы в другую Для поиска данных в электронной библиотеке по таким признакам, как тип документа» язык документа и издательство, необходимо создать подчиненные формы, основанные на форме Электронная карточка (создание этой формы подробно описано в разделе «Создание формы в режиме конструктора» выше в этой главе). В главных формах есть ключевые поля ID типа, ID языка и ID из дателъства, одноименные с полями в запросе Карточка (все данные), на кото- ром построена форма Электронная карточка. Обычно мастер подчиненных форм «аккуратно отслеживает» связи между полями таблиц базы данных и предлагает пользователюодин или несколько вариантов для выбора и подтвер- ждения одного из них. Но даже, если непосредственно между полями связи не установлены, их можно задать «вручную» в диалоговом окне мастера. Объединение данных в подчиненных формах (хотя и наследуется из схемы данных £азы) не изменяет схему данных. Чтобы создать форму для поиска документов, например, по издательствам» выполните следующее: 1. Создайте с помощью мастера форму Поиск по издательствам, содержа- щую поля ID издательства и Издательство. Откройте ее в режиме кон- структора. 2. Убедитесь, что кнопка Использовать мастера в разделе Элементы управ- ления Ленты «нажата». Щелкните кнопку Подчиненная форма/отчет. 3. Щелкните левой кнопкой мыши в области данных формы (или «начерти- те» указателем прямоугольник, в который следует «вписать» подчинен- ную форму). Когда вы это сделаете» на экране появится диалоговое окно мастера подчиненных форм (рис. 8.92). 4. В диалоговом окне мастера следует указать, из чего будет создаваться под- чиненная форма. Так как форма Электронная карточка уже готова, уста- новите переключатель в положение Имеющиеся формы и выберите форму Электронная карточка из списка. Щелкните кнопку Далее. 5. В следующем диалоговом окне мастера укажите, что поля связи между данными будут заданы «вручную», установив переключатель в положе- ние Самостоятельное определение. Когда вы это сделаете, средняя часть окна изменится, предоставляя вам поля со списками, с помощью которых вы можете установить связь (рис. 8.93). Выберите в обоих списках (Поля формы или отчета и Поля подчиненной формы или отчета) ID издатель- ства и щелкните кнопку Далее.
372 Глава 8. Формы Рис. 8.92 Диалоговое окно мастера подчиненных форм ферм Рис. 8.93 Задайте поля связи между главной и подчиненной формами мастер Автоматическое определение возможных связей Если вы оставите переключатель в положении Выбор из списка, то на основании совпадения имен полей и согласованности в них типов донных будет составлен спи- сок возможных вариантов связей. Например, в данном случае программа Access предложила бы установить связь по одноименным полям ID издательства или Изда- тельство в таблице Издательства и запросе Карточка (все данные). И тот, и другой вариант привел бы к похожему результату. 6. В последнем диалоговом окне мастера при необходимости задайте новое имя для подчиненной формы и щелкните кнопку Готово. 7. Подчиненная форма будет вставлена в режиме конструктора. Перейдите в режим формы и проверьте ее работу. При необходимости отредактируй- те формы. Результат может быть примерно такой, как показано на рис. 8.94.
Создание подчиненных форм 373 Рис. 8.94 Форма для поиска документов, выпущенных определенным издательством Использование электронных ссылок Как вариант можно рассмотреть в качестве подчиненной форму Электронная ссыл- ка, открываемую в виде ленточной. В этом случае на одном экране можно просмат- ривать ('список документов» (рис. 8 95). Рис. 8.95 форма для поиска документов по издательствам (вариант “электронных ссылок») Поиск по издательствам (электронные ссылки) * * — ! П II > ». .wwr..R.^........... . w , ..... ..........=--=—---------------- 1 » Ч .........
374 Глава 8- формы Создание формы с вложенными подчиненными формами Для поиска документов по таким признакам, как автор, необходимо исполь- зовать три таблицы и две связи «один-ко-многим». Для этого можно построить форму с двумя подчиненными формами, вложенными друг в друга. В рассмотренном ниже примере использованы: таблица Авторы, из которой взяты поля ID автора, Фамилия. Имя и Отче- ство; таблица Авторы документов, из которой взяты поля ID автора и ID доку- мента-, запрос Электронная карточка, поля из которого взяты полностью. Сделайте следующее: 1. Создайте форму из таблицы Авторы, содержащую подчиненную форму из таблицы Авторы документов, используя способ, описанный выше в раз- деле «Одновременное создание формы и подчиненной формы на основе связанных таблиц». В результате должна получиться форма, похожая на ту, которая показана на рис. 8.96. Дайте ей имя Поиск по авторам. Рис. 8.96 Заготовка формы Поиск по авторам с подчиненной формой для выбора ID документа для автора 2. Эту форму следует «почистить»: в главной форме расположить более ком- пактно поля, убрать название подчиненной формы, заголовки ее столб- цов, а поля сделать скрытыми и т.д. Далее следует добавить вторую подчи- ненную форму. Как скрыть поле? ' "j Чтобы скрыть элементы управления (поля, подписи и т.д.) в форме, откройте окно г 1 свойства элемента и на вкладке Макет установите для свойства Вывод на экран значение Нет. Элемент управления останется «в рабочем состоянии», но не будет виден но экране. I
Создание подчиненных форм 375 3. В режиме конструктора в главной форме выделите подчиненную форму. В разделе Элементы управления вкладки Конструктор (Инструменты конструктора форм) Ленты щелкните кнопку Подчиненная форма/отчет и добавьте подчиненную форму из формы Электронная карточка, как было описано выше, в разделе «Создание форм путем добавления одной формы в другую». 4. Полученную форму с двумя вложенными подчиненными формами снова следует ♦почистить»: убрать панель кнопок перехода по записям из фор- мы Электронная карточка, а также лишние области выделения записи, полосы прокрутки, разделы и т.п. (с помощью свойств форм и кнопок Лен- ты). В результате должна получиться форма Поиск по авторам, подобная той, что показана на рис. 8.97. Рис. 8.97 Форма Поиск по авторам для поиска документов по фамилиям авторов .Пашелеевмм IMP чб Поиск по авторам ►|А«ор [р'ошым > Электронная к5»; точка Ю докуыента* |1б Ч1* 1.11Ж —м- Нанаи* Торы* современной материи Авторы: {Кудрявцев А.М., Мудрящем Л М., Кулико* М.П. и Перейти; Открыть* Типе ‘монография Странку Редакторы Ямис Ъуссняй Ийджтеяьсгво Годмдданмя мл "Экономика м мир' 2003 Комментария' Нет j 1»; 1 Лейся IP,Пир»- К H'M- £Мтх . , J , J Как видно из рисунка от первой подчиненной формы «ничего не осталось» (кроме панели кнопок перехода по записям), видны только поля формы Элек- тронная карточка, которая находится на втором уровне вложения. Действи- тельно, данные в полях первой подчиненной формы не нужны для отображения, они используются только для связи со второй подчиненной формой. А во второй подчиненной форме не нужна панель перехода по записям. Ошибка поиска по автору? _________________________________________________I___________ Обратите внимание на содержание показанной на рисунке электронной карточки. Выбор был произведен для фамилии автора «Рошван», но в списке авторов най- денного документа он не значится. Там записано «Кудрявцев А.М., Кудрявце- ва ИМ., Куликов И.П. и др.». Дело в том, что Рошван был четвертым автором в спи- ске. Поэтому в таблицу Авторские списки он не попал Но так как поиск проводился по исходным таблицам базы данных, этот документ для автора «Рошван» был най- ден. Очевидно фамилия «Рошван» будет указана в самом документе, когда его от- кроет пользователь (двойным щелчком на значке документа или переходом по ссылке b
Глава 8. Формы — "II ' —— — 376 Создание сложной формы В этом разделе рассмотрено создание сложной формы Ввод данных, которая может быть использована для ввода данных в электронную библиотеку. В ней будут так или иначе задействованы все таблицы базы данных (кроме табл ицы Авторские списки, созданной исключительно для поиска данных). Форме Ввод данных будет связана с формой Ввод данных на вкладках, создание кото- рой описано выше в разделе «Формы с вкладками и разрывами страниц*. Выполните следующие действия: 1. В режиме Пакета создайте пустую форму на основе таблицы Данные доку ментов. Отформатируйте ее с помощью созданного вами стиля автофор- мата. Добавьте название и эмблему. 2. В режиме конструктора добавьте в форму все поля таблицы Данные доку ментов. Для полей Год издания, ID типа, ID издательства, ID языка, ID редактора и ID владельца необходимо создать списки подстановки. Если они были созданы в таблицах, то будут унаследованы в форме, и вам нужно будет просто проверить их и, при необходимости, откорректиро- вать. 3. Если списки подстановки в таблицах созданы не были, то, например, для поля Издательства, сделайте следующее. В режиме конструктора выде- лите это поле. Щелкните его правой кнопкой мыши и в контекстном меню выберите команду Преобразовать элемент в | Поле со списком. Затем с по- мощью контекстного меню откройте диалоговое окно свойств преобразо- ванного элемента. На вкладке Макет для свойства Число столбцов введите значение ♦ 2 », укажите ширину столбцов, задав в свойстве Ширина столб- цов подходящие значения, например, «0т5см;2,5см». На вкладке Данные установите значение Таблица или запрос для свойства Тип источника строк, для свойства Присоединенный столбец введите значение «1». Зе тем задайте выражение для выбора столбцов в сп исок подстановки в ячей- ку свойства Источник строк, для чего воспользуйтесь построителем запро- сов, щелкнув его кнопку («с многоточием») рядом с ячейкой. В появив- шемся окне построителя запросов добавьте в запрос таблицу Издательства и перетащите из нее в бланк запроса поля 1D издательстп ва и Издательство (в первом столбце должно быть обязательно ID изда- тельства, так как именно значения первого столбца будут подставляться в поле формы). Установите сортировку по возрастанию для поля Изда тельства, чтобы издательства в списке выводились в алфавитном поряд- ке. Закройте окно построителя, и выражения для отбора столбцов появит- ся в ячейке. Закройте окно свойств поля со списком. Всплывающая подсказка элемента управления Если вы хотите добавить к элементу управления всплывающую подсказку или текст, отображаемый в строке состояния, задайте соответствующие значения в ячейки свойств Текст строки состояния и Всплывающая подсказка (на вкгадке Другие). 4. Если нужно, создайте списки подстановки для остальных полей. Отфор- матируйте элементы управления, максимально использовав при этом воз- можности макета.
Создание подчиненн ых форм 377 5. После этого заготовка формы Ввод данных должна принять примерно та- кой вид, как показано на рис, 8.98. Рис. 8.98 Заготовка формы Ввод данных в режиме конструктора 6, В нижнюю часть формы внедрите подчиненную форму Авторы докумен- тов подчиненная ввод, создав ее из таблицы Авторы документов. При не- обходимости создайте список подстановки для поля ID автора (из поля таблицы Авторы). Отформатируйте нижнюю часть формы. После этого форма Ввод данных должна принять примерно такой вид, как показано на рис. 8.99. 7. Откройте вкладку Данные окна свойств формы Ввод данных. Для того чтобы форма могла использоваться только для ввода данных, но не для их просмотра, в ячейку свойства Ввод данных задайте значение Да (вместо устанавливаемого по умолчанию при создании формы значения Нет). 8. Добавьте кнопку для открытия связанной формы. Кнопку следует помес- тить в раздел примечания формы. Проверьте, чтобы в разделе Элементы управления Ленты была «нажата» кнопка Использовать мастера. Щелк- ните кнопку Кнопка (элемент управления формы), чтобы ее выделить. Перейдите к примечанию формы и щелкните там (или «начертите» указа- телем прямоугольник, равный размерам создаваемой кнопки). На экране появится окно мастера создания кнопок. Выберите в нем категорию Рабо- та с формой и действие Открыть форму, затем щелкните кнопку Далее. В следующем окне выберите из списка форму, открываемую нажатием данной кнопки (Ввод данных на вкладках), и щелкните Готово. Переиме- нуйте кнопку, изменив заданную по умолчанию подпись на самой кнопке, • введя например, следующее значение «Открыть форму для вводя данных втаблипы "нижнего” уровня».
378 Глава 8- Формы Рис. 8.99 Форма Ввод данных в режиме формы 9. Перейдите в режим формы и проверьте работу кнопки. Окончательно фор- ма ввода данных должна принять примерно такой вид, как показано на рис. 8.100. Рис. 8.100 Форма ввода данных в электронную библиотеку AM чмде авторов довумвота (И) докуямита) L' Ю автора Jкпмцдв орв
Связанные формы 379 Запуск макроса на обновление таблицы Авторские списки По событию Закрытие формы можно запускать макрос обновления таблицы Ав- торские списки. Подробнее создание этого макроса описано в главе 10 «Макро- сы». Для этого нужно указать его имя в ячейке свойства Закрытие на вкладке Со- бытия окна свойств формы Ввод данных. Рис. 8.101 Событию Закрытие формы Ввод данных приписано выполнение макроса Обновление авторских списков Связанные формы При задании в первом диалоговом окне мастера создания форм полей из раз- ных источников (таблиц), во втором окне вы можете «заказать* не только под- чиненные формы, но также связанные формы. Для этого переключатель в ниж- ней части окна нужно установить в положение Связанные формы (смг рис. 8.89). Связанные формы — это две формы, объединенные текущим значе- нием одного из полей, причем в одну из форм добавляется кнопка для открытия другой формы, «расшифровывающей* данные первой. Можно считать, что свя- занные формы представляют собой «разнесенные* подчиненные формы. Свя- занные формы можно создавать также «вручную* в режиме конструктора. Рассмотрим пример создания двух форм Авторы по алфавиту и Докумен- ты автора. В первой форме будет содержаться список авторов в алфавитном по- рядке и кнопка, открывающая вторую форму. Во второй форме будет содержать- ся список документов (название, авторский список, год издания и т.д.), который при ее открытии отвечает автору, выбранному из первой формы. Сделайте следующее: 1. Запустите мастер форм кнопкой на Ленте. 2. В первом диалоговом окне мастера добавьте поля: ID автора. Фамилия. Имя и Отчество из таблицы Авторы. ID документа. Название и Год из- дания из таблицы Данные документов. а также Авторы из таблицы Ав- торские списки. Щелкните кнопку Далее, чтобы перейти в следующее диалоговое окно мастера. 3. Во втором диалоговом окне мастера установите переключатель в положе- ние Связанные формы, а в списке таблиц слева выделите таблицу Авто- ры. на основе которой будет построена первая форма. Последите, чтобы на схеме справа поля были распределены по формам должным образом (рисг 8Л02). Щелкните кнопку Далее.
380 Глава 8. Формы Рис. 8.102 Установите переключатель в положение Связанные формы, а в списке таблиц выберите таблицу Авторы 4. В следующем диалоговом окне мастера выберите стиль автоформата. Щелкните кнопку Далее. 5. В последнем диалоговом окне мастера задайте имена новым формам (рис. 8.103): первой — Все авторы, а второй — Документы авторов. Щелкните кнопку Готово, чтобы завершить построение форм, которые могут быть открыты в режиме конструктора или в режиме формы. Рис. 8.103 Задайте имена создаваемым формам СМДВНгг форм После «ручного» форматирования, выравнивания элементов и настройки свойств формы Все авторы и Документы авторов могут выглядеть примерно так, как показано на рис. 8.104.
Кнопочные^эормы 381 Я& Документы авторов Автор: [Рудяков 10 Название Год издания Авторы £ f 10 Введение в философию материализма 2000 ; ; Гуляев В.Н., Копылов И.Ф., Гончарский И.И. и др. 1 tallfiM 45 [Неестественный материализм IB искусстве ~2004 Гуляев В.Н., Петров МЖ, Рудаков Ю Ю- > Н t С-фидмо^м t Помех Рис. 8.104 Связанные формы Все авторы и Документы авторов Кнопочные формы Кнопочные формы содержат только кнопки и предназначаются для выбора основных действий, которые можно выполнять в базе данных. На кнопку в фор- ме можно поместить текст или рисунок. Когда пользователь щелкает кнопку, может запускаться макрос или процедура обработки события (рис. 8.105). Кнопки Для создания кнопок в Access может использоваться мастер. Мастер упроща- ет и ускоряет процесс создания и настройки кнопок, автоматически выполняя все основные действия. Мастер автоматически создает и записывает макрос в объект базы данных (внедренный макрос). С помощью мастеря можно созда- вать более 30 различных типов кнопок для выполнения таких действий как: вы- полнение запроса, запуск макроса, запуск и закрытие приложения, применение
382 __ Глава 8. Формы фильтра, печать отчета, обновление данных в форме, поиск конкретной записи, набор телефонного номера и др. Рис. 8.105 Кнопочная форма базы данных Борей 2003 Кнопки можно также создавать самостоятельно. Естественно, что при этом пользователь имеет еще больший выбор выполняемых с помощью кнопки действий. Выше в этой главе, в разделах «Создание формы в режиме конструктора» и «Добавление к форме разрыва страниц», уже были кратко рассмотрены спосо- бы создания в формах отдельных кнопок, как с помощью мастера кнопок, так и «вручную» путем создания макроса, выполняющегося по нажатию кнопки. Быстрое создание кнопки, запускающей макрос Чтобы в форме создать (или изменить кнопку), запускающую макрос, можно про- сто перетащить макрос из области переходов в форму, открытую в режиме конст- руктора. Созданной кнопке можно задать свойство По умолчанию. Тогда в активной форме для выполнения действий, связанных с этой кнопкой, можно либо щелк- нуть эту кнопку, либо просто нажать клавишу Enter. Если одной кнопке в диа- логовом окне ее свойств (вкладка Другие) установить значение Да в ячейке свой- ства По умолчанию, то для всех других кнопок в форме это свойство автоматиче- ски получит значение Нет (иметь фокус по умолчанию может только одна кнопка в форме). Диспетчер кнопочных форм Для создания, изменения и удаления кнопочных форм используется диспет- чер кнопочных форм. Диспетчер кнопочных форм добавляет в базу таблицу Switchboard Items, которая описывает текст и действия кнопок формы. Если после этого внести изменения в кнопочную форму в режиме конструктора, созданная мастером кнопочная фор- ма может перестать работать. Вообще, если вы создадите кнопочную форму «вруч- ную» (используя мастер кнопок и не используя диспетчер кнопочных форм1, то по- лучите, скорее всего, более удобную и легко настраиваемую форму.
Кнопочные формы 383 Для создания в базе данных кнопочной формы с помощью диспетчера кно- почных форм выполните следующие действия: 1. В разделе Работа с базами данных вкладки Работа с базами данных Лен- ты щелкните кнопку Диспетчер кнопочных форм. 2. Если кнопочной формы в базе данных еще нет, будет выведен запрос на подтверждение ее создания. Щелкните Да в диалоговом окне подтвержде- ния. 3. Появится диалоговое окно Диспетчер кнопочных форм, в котором щелк- ните кнопку Создать. В диалоговом окне Создание (рис. 8.106) введите имя новой кнопочной формы и нажмите кнопку ОК. Рис. 8.106 Введите имя новой кнопочной формы 4. Имя новой кнопочной формы будет добавлено в список Страницы кнопоч- ной формы окна Диспетчер кнопочных форм (рис. 8.107). Выделите имя новой кнопочной формы и щелкните кнопку Изменить. Рис. 8.107 Имя новой кнопочной формы добавлено в список Страницы кнопочной формы 5. В диалоговом окне Изменение страницы кнопочной формы щелкните кнопку Создать. Появится диалоговое окно Изменение элемента кнопоч- ной формы (рис. 8.108). Рис- 8.108 Задайте параметры элемента кнопочной формы 6. В поле Текст введите текст подписи для первой кнопки кнопочной формы, а затем выберите для нее команду из раскрывающегося списка в поле Ко- манда. Например, введите подпись «Ввод данных в таблицы "нижнего*’ уровня*, я затем выберите в списке Команда команду Открыть форму для добавления.
384 Глава 8 Формы Многостраничные формы Диспетчер кнопочных форм позволяет создавать многостраничные кнопочные формы. Чтобы перейти из главной кнопочной формы к одной из ее страниц (кото- рую нужно предварительно создать), в списке Команда выберите Перейти к кнопочной форме, а в списке ниже — имя страницы, к которой надо перейти» 7. Добавьте в главную кнопочную форму и ее страницы все элементы, кото- рые должны гам содержаться. Для изменения или удаления уже создан- ных элементов используйте кнопки Изменить и Удалять. Для перемеще- ния элемента в списке (чтобы изменить порядок расположения кнопок в кнопочной форме) выделите его и щелкните кнопку Вверх или Вниз. 8. Чтобы закончить создание кнопочной формы, щелкните кнопку Закрыть. Начало работы с кнопочной формы Чтобы кнопочная форма открывалась при открытии базы данных, выберите имя кнопочной формы в диалоговом окне Диспетчер кнопочных форм и щелкните кнопку По умолчанию. Рядом с названием кнопочной формы появится надпись «(по умолчанию)»- Впоследствии существующие кнопочные формы (рис. 8.109) можно редакти- ровать с помощью диспетчера кнопочных форм, используя описанные выше способы. Рис. 8.109 Главная кнопочная форма базы данных Всплывающие формы Окна всплывающих форм располагаются поверх всех других открытых объ- ектов базы данных. Всплывающие формы могут быть немодальными или мо- дальными. Модальным называется окно, в котором пользователь должен вы- полнить некоторое действие перед переключением фокуса ня другую форму или диалоговое окно. Например, диалоговые окна и окна сообщений являются мо- дальными.
Всплывающие формы 385 Немодальные всплывающие формы При открытой немодальной форме пользователь имеет доступ к другим объ- ектам и командам меню. Например, в форму Электронная карточка можно до- бавить кнопку, выводящую всплывающую форму Дополнительные сведения^ которая выводит количество рисунков и ссылок в текущем документе (рис. 8.110). Рис. 8.110 Всплывающая немодальная форма Дополнительные сведения выводит количество рисунков и ссылок в документе, для которого она была вызвана Электронная карточка _ с I Г £ е V • - * х ♦ ID документа: па звание . Авторы: Тип: Страниц: Редакторы: Язык: Издательство: Год издания: 3’ идеал смличесяий ма гермал нам .Берилов В.В., да-илов Н.С монография Мороюы Е-Г. русский Мл ООО "Бмном-Преос' KW Перейди- [п вреход к источнику Открыть: 6323$ • W : Комментарий: <dlv>HeT<7dlv 28 рнадря тдаг». Дополнительные сведения П 22 Рисунков ри “] Ссылок । Ьс* фмыра ,ПоИ« С- tf Обновление содержимого немодального всплывающего окна Немодальная всплывающая форма остается всегда поверх других окон, поэтому пользователь может перевести фокус и работать в другом окне без закрытия фор- мы. При переходе к другому документу в форме Электронная карточка немодаль- ная форма Дополнительные сведения теряет фокус, и данные в ней не изменяются. Чтобы обновить ее содержимое, нужно вызвать это окно еще раз. Модальные всплывающие формы Модальные всплывающие формы называют также пользовательскими диа- логовыми окнами. Когда модальная форма открыта, доступ к другим объектам (или командам меню) невозможен. Пользовательские диалоговые окна часто со- держат кнопки для запуска макросов или процедур обработки событий, исполь- зующих введенную в диалоговом окне информацию. Можно создать пользова- тельское диалоговое окно для ввода условий при создании запроса или отчета или для выбора отчета, выводящегося на печать. Чтобы перейти к другому объекту при открытом модальном окне, необходимо сначала закрыть его. Окна модальных форм нельзя свертывать или развертывать, также нельзя изменять их размеры. Пользовательское диалоговое окно имеет ши- рокую границу и может содержать только строку заголовка и оконное меню. 13 Асеев} 2(Ю?
386 Глава 8. Формы Например, в форму Электронная карточка можно добавить кнопку, вызы- вающую диалоговое окно модальной формы типа «расширенного фильтра» По иск по фильтру, которое запрашивает у пользователя значения года выпуска документа, его типа, издательства и языка (или другого набора параметров), ко- торые затем передаются (с помощью макроса) для отбора записей электронных документов в карточке (рис. 8.111). Записи, удовлетворяющие всем поставлен- ным условиям, выводятся в окне формы Электронная карточка. Рис. 8.111 Форма Электродная карточка с фильтром поиска, в которой с помощью кнопки вызывается модальное диалоговое окно с фильтром документов по четырем параметрам Создание всплывающих форм Рассмотрим процедуру создания немодальной всплывающей формы на при- мере формы Дополнительные сведения, показанной на рис. 8.110. Прежде всего, создайте форму Дополнительные сведения. Для этого исполь- зуйте команду Модальное диалоговое окно, которая находится в меню Другие формы (раздел Формы вкладки Создание Ленты к Примените к ней автоформат. Добавьте эмблему и название. Перенесите из таблицы Данные документов поля ID документа , Название, Количество рисунков и Количество ссылок, выровняйте и отформатируйте их (см. рис. 8.110). Затем сделайте следующее: 1. Откройте окно свойств формы Дополнительные сведения, 2. На вкладке Другие измените значение свойства Модальное окно с Да на Нет. Свойство Всплывающее окно должно иметь значение Да. 3. Если хотите, можете скрыть поле и подпись ID документа (в их свойствах Вывод на экран задайте значение Нет).
Вспл ывающиеФормы 387 4. Скопируйте форму Электронная карточка и дайте копии имя Электрон- ная карточка с немодальным окном. Откройте эту форму в режиме конст- руктора. 5. Создайте в форме Электронная карточка с немодальным окном кнопку для открытия немодального всплывающего окна. Для этого перетащите в нее кнопку из раздела Элементы управления Ленты. Задайте ей дейст- вие по открытию формы Дополнительные сведения, а также надпись, на- пример, «Дополнительные сведения* (см. рис. 8.110). в. Для этой кнопки будет создан внедренный макрос, который необходимо проверить и, скорее всего, исправить. 7. На вкладке События диалогового окна свойств созданной вами кнопки от- кройте конструктор (кнопкой «с многоточием*) для свойства Нажатие кнопки. 8. Проверьте, чтобы в конструкторе макроса настройки соответствовали тому, что показано на рис. 8.112. Рис. 8.112 Макрос для открытия формы Дополнительные сведения из формы Электронная карточка с немодальным окном Как работает условие отбора? Условие отбора в макросе означает, что при нажатии кнопки значение поля ID до- кумента передается из формы Электронная карточка с немодальным окном в фор- му Дополнительные сведения, в которой оно используется для отображения полей из таблицы Данные документов. Модальная форма своими параметрами несильно отличается от немодаль- ной. Но она, как бы, работает «в другую сторону*. Ниже рассмотрена процедура создания модальной всплывающей формы на примере форм Поиск по фильтру и Электронная карточка с фильтром поиска, показанных на рис. 8.111.
388 Глава 8. Формы Прежде всего, создайте форму Поиск по фильтру. Для этого используйте ко- манду Модальное диалоговое окно» которая находится в меню Другие формы (раздел Формы вкладки Создание Ленты)» Примените к ней автоформат. До- бавьте эмблему и название. Скопируйте форму Электронная карточка и дайте копии имя Электрон ная карточка с фильтром поиска. Откройте эту форму в режиме конструктора. Затем сделайте следующее: 1. Чтобы подготовить форму Электронная карточка с фильтром поиска нужно всего лишь добавить к ней кнопку для открытия формы Поиск по фильтру. Сделайте это с помощью мастера. Проверьте ее работу (см. рис. 8.111). 2. Для подготовки формы Поиск по фильтру откройте ее в режиме конст- руктора. Откройте панель Список полей и добавьте из нее в форму поля таблицы Данные документов: Год издания* ID типа* ID издательства и ID языка. Так как для них уже были созданы списки подстановки, то они будут перенесены и в форму. Если это не так, то создайте списки под- становки, которые будут ♦ расшифровывать^ значение идентификацион- ных параметров (рис. 8.113). - Рис. 8.113 Списки подстановки параметров формы Поиск по фильтру *13 Поиск по фильтру 'а^;- Поиск по фильтру ID типа: tp издательства: 2000 2001 чет 2003 2<КМ 2005 1Э 16 17 22 20 6 7 --- Г""1 Альбом иллюстраций |Д Видеоролик 13 Другой мультимедийный Заметки Компакт-диск Курс лекций, лекция Методические рексмецд *ОК, 12 щелкнигт 3 t г ; ч /у ’ / М 5 ' у» А 1 Ч ID языка: английский немецкий французски! японский КИ1ВЙСХИЙ итальянски! 10; финский 13 Монография • п - S б £ л 3. Отформатируйте добавленные поля и добавьте поясняющую надпись (не- связанную подпись) по работе формы (см. рис. 8.111), 4. Откройте окно свойств формы. Проверьте, чтобы на вкладке Другие для свойств Всплывающее окно и Модальное окно было установлено значение Да, а на вкладке Макет для свойства Тип границы было установлено зна- чение Окно диалога. 5. В форму Поиск по фильтру при ее создании автоматически были добавле- ны две кнопки. Одна из них — Отмена — закрывает диалоговое окно без каких-либо изменений. Если она работает, то с ней ничего больше не нуж- но делать. Разве что — отформатировать. 6. Вторую кнопку — ОК — необходимо настроить, т.е. откорректировать ар- гументы команд ее внедренного макроса, который был создан вместе с кнопкой. Откройте окно ее свойств, а затем на вкладке События, в ячей- ке свойства Нажатие кнопки щелкните кнопку конструктора макросов («с многоточием»). 7. Запишите макрос в соответствии с данными рис. 8.114, сохраните форму, а затем проверьте ее работу.
Всплывающие формы 389 ОгПфЫТЬФорму ВыделитъОбъект j ВыполнитъКоманду 1 Закрыть ’ Примечание l СгткрьльФорм^ 7 • I ТГГ< < ................ /W*M r^KWW<n<ap4» Аргументы Электронная карточка с фильтроА Открытие формы Электронная карточка с фильтром поиска (Ворма, электронная карточка с фи выделение формы Электронная карточка с фильтром поиска Удал нтьФильтр Удаление фильтра из формы Форма, Электронная нарточеасфи . Закрытие формы Электронная карточка с фильтром поиска Электромтм* карточка с фильтром | Открытие формы Электронная каргочм с фильтром поиска с условием отбора сжив поиск по фильтру КН ♦ 7 t ш I S ?. ® SS тронная <аа*очка с фильтром лонска Рис. 8.114 Макрос для открытия формы Электронная карточка с фильтром поиска из фоомы Гоиск по фильтру _________-. ________________________ <- , [Карточка (все данные)]1[Год I издания] -[Формы]![Поиск по фильтру ]![Год издания] And [Карточка (все данные)]1[]О ? тила]-[Формы]1[Поиос по фильтру ]I[ID типа] And [Карточка (все двнные)]1[Ю издательства]^ [Формы]1[Поиск по фильтру]1[ГО издательства] -МЧ -- Щ V(|b • 3fls. I ii ’ i В*«ДОе уодан или амрахнны дяа «т*>$ Мг*ый ф«>М» Ш <t« *ЙЧ>яи Iflpr<уиыв»я» WHIM Йфф Ди иу^и*ч<*ргуи*ит«< пене <м» осетре ит»м «жант« «ИчЖу Й*л^прш>н ' MKMtfft fj jB ЬбйКТЬ itOflfc I Первые четыре команды макроса предназначены для снятия фильтра, который мо- жет сохраниться в форме. Их несложно задать с помощью списков ячеек Макро- команда и Аргументы макрокоманд (см. главу 10 «Макросы»). Условие отбора для выделенной команды ОткрытьФорму (см. рис. 8 114) озна- чает, что заданные пользователем значения передаются из полей со списками мо- дальной формы Поиск по фильтру в поля запроса Карточка (все данные), из кото- рого затем строится форма Электронная карточка с фильтром поиска. Ограничение на длину аргумента макрокоманды На рис. 8.114 условие отбора для выделенной команды приведено не полностью (толькодля трех полей). Дело в том, что значение аргумента макрокоманды не мо- жет превышать 255 символов (для модулей VBA такого ограничения нет). Чтобы «впихнуть» в условие все четыре поля, формам следует просто дать более короткие названия. Логично предположить, что внимательный читатель справится с этой за- дачей без особого труда, просто переименовав формы.
390 Глава 8 Формы Открытие формы как диалогового окна Существует способ, с помощью которого одну и ту же форму можно использо- вать и как обычную форму, и как диалоговое окно. Для этого при открытии фор- мы с помощью макрокоманды ОткрытьФорму задают значение Окно диалога ее аргументу Режим окна. Для того чтобы открыть форму в виде диалогового окна, нужно создать кнопку, связанную с макросом, содержащим данную макроко- манду. Форму в обычном виде можно открыть или из списка форм базы данных, или макросом, не содержащим данной макрокоманды. При открытии формы макрокомандой, аргумент которой Режим окна имеет зна- чение Окно диалога Access задает для свойств формы Всплывающее окно и Модальное окно значение До до тех пор, пока форма не будет закрыта. Значение аргумента макрокоманды Окно диалога отключает действие опре- деленных пользователем сочетаний клавиш и некоторых других функциональ- ных клавиш Access, а также до закрытия или скрытия формы приостанавлива- ется выполнение макроса или процедуры обработки события. Добавление рисунков и объектов В форму (или отчет) можно помещать рисунки и другие объекты. Объекты соз- даются в других приложениях. В форме они могут присутствовать в качестве дан- ных (присоединенный объект) или в качестве элемента макета формы (свободный объект). Можно задать использование рисунка в качестве фона формы (отчета). Выше, в разделе «Внедрение и связывание данных в поле таблицы» главы 6 «Рабо- та с таблицами», было рассмотрено внедрение исвязывание объектов. Внедренные объекты хранятся в базе данных. Для связанных объектов в базе данных сохраняет- ся только ссылка на объект. Связанные объекты практически не увеличивают раз- мера базы данных, и во многих случаях им может отдаваться предпочтение. Присоединенные объекты обычно сохраняются в таблице. При переходе на новую запись, объект, который отображается в форме, изменяется. Таковым, например, может быть поле типа Поле объекта OLE (например, можно его ис- пользовать в таблице Данные документов для хранения файлов документов). При определенных условиях, например, рисунки некоторых форматов будут не- посредственно отображаться в форме. Такой вариант можно использовать для отображения фотографий сотрудников в их электронных «личных делах». Сво- бодные объекты при переходе на новую запись не изменяются. Свободные объ- екты можно использовать для отображения в форме, например, эмблемы компа- нии, значка базы данных и т.п., а также для фона формы. И присоединенные, и свободные объекты могут быть как связанными, так и внедренными. Для добавления объекта в форму используются специальные элементы управления — рамки объектов: Присоединенная рамка объекта (для присоеди- нения объекта) и Свободная рамка объекта (для добавления свободного объек- та). Для внедрения и связывания свободных рисунков может использоваться также элемент Рисунок (свободная рамка рисунка).
Добавление рисунков и объектов 391 Эмблема — это рисунок в свободной раМке Элемент управления Эмблема вставляет «свободный», заданный вами рисунок в определенное место (левый верхний угол) формы. Использование для рисунков свободной рамки рисунка или свободной рамки объекта зависит от того, требуется ли возможность прямого изменения рисунка в форме. Если рисунок изменять не нужно, используется рамка рисунка, а если нужно — рамка объекта. Следует учесть также то, что свободные рисунки загружаются быстрее, чем свободные объекты. В качестве рисунков в базе данных могут использоваться точечные рисунки (файлы BMP, ICO и DIB), метафайлы (WMF и EMF), а также рисунки в других графических форматах (GIF, PNG и JPG). Метафайлы могут быть в некоторых случаях предпочтительнее, так как они хорошо масштабируются и занимают небольшой объем. Точечные рисунки легче изменять, они предпочтительнее для использования в качестве фона. Иногда, когда рисунок должен «красиво* накладываться на фон самой формы, удобно использовать форматы, которые сохраняют прозрачный фон, Для добавления в форму фонового рисунка используется диалоговое окно свойств формы: 1. Откройте форму в режиме конструктора. Дважды щелкните область выде- ления формы, чтобы открыть окно свойств. 2. На вкладке Макет в ячейку свойства Рисунок введите путь и имя файла рисунка. При необходимости щелкните кнопку Построить, чтобы от- крыть диалоговое окно Выбор рисунка для его поиска. 3. В ячейке свойства Тип рисунка из списка выберите Внедренный или Свя- занный. 4. Для настройки рисунка установите значения свойств в соответствии с таб- лицей 8.2. Таблица 8.2. Свойства для настройки фона формы Свойство Значение Действие Масштабы рисунка Обрезать Рисунок отображается в своем истинном разме- ре Часть рисунка, выступающая за границы окна формы, обрезается. Растянуть Рисунок занимает все окно формы, при этом мо- гут быть нарушены пропорции рисунка. Увеличить Рисунок подгоняется под окно формы либо по ши- рине, либо по высоте. Использование данного значения не приведет ни к обрезанию рисунка, ни к искажению его пропорций Растянуть по горизонтали или Растянуть по вертикали Рисунок растягивается по одному из размеров (по горизонтали или по вертикали) так, чтобы за- нимать форму от края до края. Второй размер ос- тается «незаполненным».
392 Глава 8. Формы I— " —— Свойство Значение Действие Выравнивание рисунка Сверху слева, Сверху справа. Снизу слева, Снизу справа Рисунок выравнивается по соответствующему углу окна формы. По центру Рисунок расположен по центру формы. При изме- нении размера формы рисунок также изменяет свой размер» По центру формы Рисунок расположен по центру формы, а его раз- мер не изменяется при изменении размеров окна формы .... Мозаичное заполнение До Рисунок «размножается» по всему фону формы, начиная с позиции, указанной в свойстве Вырав- нивание рисунка. Чтобы применить мозаичное заполнение, в свойстве Масштабы рисунка должно быть установлено значение Обрезать. Страницы с рисунком (для отчетов) Все страницы Рисунок отображается на всех станицах отчета. Первая страница Рисунок отображается только на первой страни- це отчета. Отсутствует Рисунок в отчете не отображается. | На рис. 8.115 показана форма Электронная карточка» в которую был добав лен фоновый рисунок (изготовленный с помощью текстур в программе CorelDRAW). Свойство Масштаб рисунка здесь имеет значение Увеличить. 14*9142 Рис. 8.115 форма Электронная карточка, в которую был добавлен фоновый рисунок Электронная карточка м».мр«мо7<; 10 Введение • философию материализме Г^звйтм Q ? • • » исгрч «и Тмгг Страниц. Яшм Ивдвтольстм*- М ООО Бином-Пресс* Г од иадаки»* 2002 НО«4НИ4 ОТКршП Гулиев в Н, Кольцов И Ф -> Гончарский ИЛ. и др. Комментарий Монография 217 Борисов Д.В Гермцщ B.0L русский
Проверка ошибок в формах 393 Для добавления рисунка в свободной рамке: 1. Откройте форму в режиме конструктора. 2. Щелкните кнопку Рисунок на Ленте. Перейдите в окно формы, и щелкни- те место» в которое следует поместить рисунок. 3- В диалоговом окне Выбор рисунка найдите и выделите рисунок, а затем щелкните кнопку ОК. 4. Дважды щелкните рисунок, чтобы открыть диалоговое окно его свойств. В ячейке свойства Тип рисунка из списка выберите Внедренный или Свя- занный. Настройте другие свойства рисунка. На рис. 8.116 показана форма Электронная ссылка^ в которую был добавлен свободный рисунок. Рис. 6.116 Форма Электронная ссылка была «украшена цветами» Для добавления свободного объекта к форме: ]. Откройте форму в режиме конструктора. 2. Щелкните кнопку Свободная рамка объекта на Ленте. Перейдите в окно формы» и щелкните место, в которое следует поместить объект. 3. Появится диалоговое окно вставки объекта. Настройте его параметры (см. раздел «Внедрение и связывание данных в поле таблицы» и рис. 6.89 гла- вы 6 «Работа с таблицами») и щелкните кнопку ОК. 4- Чтобы была возможность изменять объект в режиме формы, для свобод- ной рамки объекта установите значение Да в ячейке свойства Доступ и значение Нет в ячейке свойства Блокировка. Присоединенные объекты должны быть внедрены или связаны с полем таб- лицы базы данных. Добавление присоединенного объекта осуществляется пере- таскиванием соответствующего поля в окно формы из списка полей. Проверка ошибок в формах В Access есть встроенное средство проверки наиболее распространенных ошибок в формах и отчетах. Для того чтобы его включить (или настроить), от- кройте диалоговое окно Параметры Access. Перейдите в раздел Конструкторы объектов (рис. 8.117;. В нижней части этого раздела вы можете найти секцию Проверка ошибок. Первый параметр, который есть в этой секции — это Разре- шить проверку ошибок. Если установить для него флажок, то средство проверки ошибок в формах и отчетах будет включено» а если снять — то выключено.
394 Г пава 8. Формы Рис. 8.117 Секция настройки проверки ошибок в разделе Конструкторы объектов диалогового окна Параметры Access Если флажок для параметра Разрешить проверку ошибок установлен, можно настроить средство с помощью параметров, расположенных ниже. Здесь вы мо- жете задать проверку связей между элементами управления и их надписями, выявление ошибок в назначении клавиш, проверку ошибок в отчетах и др. Ошибки в формах и отчетах отображаются в режиме конструктора в виде ма- ленького цветного треугольника (индикатора), закрывающего верхний левый угол элемента управления (см. рис. 8.61). Цвет индикатора ошибки также мож- но подобрать в диалоговом окне (с помощью кнопки Цвет обозначения ошибки, которая открывает палитру цветов). При выделении в форме или отчете элемента управления, у которого обнару- жена ошибка, слева от него появляется маленькая кнопка, которая относится к исправлению ошибок. Около кнопки имеется стрелка, направленная вниз, ко- торая открывает меню команд для исправления или пропуска найденной ошибки (рис. 8.118). Рис. 8.118 Меню команд для исправления или пропуска найденной ошибки Изменить с*ой*тво “Источник записей формы VV*bk* по данной ошибке Пропустить ошибку Параметры проверки ошибок.. Если ошибка будет исправлена, то индикатор ошибки исчезнет. Если в эле- менте управления было несколько ошибок, и первая из них была исправлена, то индикатор останется, я меню исправления ошибок переключится на вторую ошибку и т.д.
Главная кнопочная форма: проект электронной библиотеки 395 В меню исправления ошибок, которое показано на рис. 8.118, можно выбрать следующие команды: В верхней части меню показаны две ошибки, которые были найдены для элемента: Недопустимое свойство элемента управления и Такого поля нет в списке полей. Команда Изменить свойство Данные элемента управления открывает окно свойств элемента, для которого была найдена ошибка, где можно из- менить имя источника данных для этого поля, если ошибка была связана с этим. Команда Изменить свойство Источник записей” формы открывает окно свойств формы, в которой находится элемент с ошибкой, где можно изме- нить источник записей для формы, если ошибка связана с потерей подклю- чения источника записей. Команда Справка по данной ошибке открывает окно справочной систем с информацией по ошибке данного типа, где вы можете найти вероятные причины появления ошибки. Команда Пропустить ошибку скрывает отображение ошибки без ее исправ- ления. Ошибка будет отображена вновь при следующем открытии формы (отчета). Команда Параметры проверки ошибок переносит пользователя к парамет рам настройки средства исправления ошибок. Для ошибок других типов команды меню могут отличаться. Они будут предлагать открытие тех диалоговых окон, которые содержат параметры, способные повлиять на найденную ошибку. Главная кнопочная форма: проект электронной библиотеки Главная кнопочная форма, создаваемая «вручную* (без помощи диспетчера кнопочных форм), дает больше свободы разработчику. С помощью ее кнопок можно не только открывать формы, предназначенные для ввода и поиска дан- ных, но также выполнять определенные действия над данными, например, об- новление данных, выполнение вычислений, печать и т.д. Чтобы самостоятельно создать форму Кнопочная форма в базе данных элек- тронной библиотеки, откройте пустую форму в режиме конструктора, и добавь- те на нее кнопки (элементы управления), настраивая их действия с помощью мастера кнопок или задания свойств, определяющих действия в ответ на собы- тия. Один из вариантов, который у вас может получиться, показан на рис. 8.119. Здесь кнопки предназначены для выполнения следующих действий (сверху вниз): открытия формы для ввода данных; открытия второй страницы кнопочной формы (см. рис. 8.122), на которой собраны кнопки перехода к формам поиска электронных документов и дру- гих данных из электронной библиотеки;
396 Глава 8. Формы Рис. 8.119 Вариант кнопочной формы (главная страница) базы данных электронной библиотеки W Электронная библиотека 2007 Что нужно сделать ? | Опфыуьф веши да «I Выбрать форму для помаса данных Выбрат ь другие действия (обновление, печать мт^дЛ frhr.tiJi. г...?., а ~ ---------------- открытия третьей страницы кнопочной формы, на которой собраны кнопки для выполнения других действий (печать отчетов, обновление данных и т.д.); закрытия базы данных и Access. Естественно, что в конкретной реализации базы данных электронной биб- лиотеки могут быть выбраны другие кнопки и иные действия, выполняемые с их помощью. Но нужно отметить, что мастер кнопок может предоставить дос- таточно широкий выбор вариантов их программирования, в том числе и назна- чение кнопке выполнение макроса или процедуры (см. главу 10 «Макросы»). Формы для ввода данных: проект электронной библиотеки Форма Ввод данных, которая может быть использована для ввода данных в таблицы электронной библиотеки, была рассмотрена в разделе «Создание сложной формы» выше в этой главе. Хотя это сложная форма, имеющая подчи- ненные и связанные формы, работает она достаточно просто (см. рис. 8.100). После открытия формы, в ней отображается пустая (новая) запись, которая может быть заполнена данными о новом документе. Заполненными являются только два поля: поле счетчика ID документа и поле Дата, для которого в таб- лице установлено значение по умолчанию. Заполнение следует начинать с верхней части формы, где отображаются поля основной таблицы Данные документов (рис. 8.120). Поляв правой верхней час- ти формы {Год издания и счетчики) заполняются с помощью раскрывающихся списков подстановки, сформированных из таблиц базы данных. Причем уста- новленные в схеме данных условия целостности не позволят пользователю вве- сти в них данные, не соответствующие таблицам, из которых были сформированы списки (при выходе из поля появится предупреждающее сообщение). Пользуйтесь только списками! По этой причине не следует пытаться вводить значения в эти поля с клавиатуры. Нужно пользоваться только списками Чтобы пользователь не забывал об этом, можно добавить к этим полям формы соответствующую справку.
Формы для ввода данных: проект электронной библиотеки 397 Рис. 8.120 Поля основной таблицы Данные документов в форме Ввод данных Поля Гиперссылка источника и Файлы (добавление вложений) заполняются с помощью диалоговых окон вызываемых из их контекстного меню командами Гиперссылка j Изменить гиперссылку и Управление вложениями соответствен но. Если нужного значения в списках подстановки полей нет, следует открыть форму Ввод данных на вкладках, щелкнув кнопку Открыть форму для ввода данных в таблицы нижнего' уровня в нижней части формы (см. рис.8.100). От- кроется форма со вкладками (см. рис. 8.75), в которой следует перейти на соот- ветствующую вкладку, например, Издательства, и ввести данные для новой за- писи в конец таблицы Издательства (в отличии от вкладок основной формы, здесь выводятся все данные таблицы), щелкнув перед этим кнопку Новая запись в панели перехода по записям. Когда изменения будут сделаны, нужно закрыть форму Ввод дан- ных на вкладках. Новое издательство появится в списке подстановки, откуда его можно будет ввести в запись «главной» формы ввода. I Если по каким-то причинам этого не произойдет, можно щелкнуть кнопку Обно- вить все в разделе Записи вкладки Главная Ленты. Для обновления записей можно также написать макрос (см* главу 10 «Макросы»), срабатывающий по собы- тию Закрытие формы Ввод данных на вкладках. Чтобы завершить ввод данных об электронном документе, следует перейти к нижней части формы, где расположены поля подчиненной формы, предназна- ченные для ввода авторов документа (рис. 8.121). Для их заполнения следует пользоваться раскрывающимися списками. Можно ввести несколько авторов, пользуясь кнопками панели перехода по записям подчиненной формы* Новых авторов (которых нет в списке) нужно вводить с помощью формы Ввод дан- ных на вкладках, к которой также можно временно перейти с помошью кнопки, расположенной в нижней части формы.
398 Глава 8 Формы Рис. 8.121 Нижняя часть формы Ввод данных, предназначенная для ввода авторов документов Раздел для ввода авторов джумента (ID документа) 61 Если so время заполнения формы ввода произошел сбои, например, отключилось питание или завис компьютер, и данные электронного документа не были введены полностью, следует проверить и откорректировать содержание полей вводимых записей с помощью таблиц. После ввода всех данных об одном электронном документе можно перейти к вводу данных следующего документа или закрыть форму Ввод данных. Формы для просмотра и поиска данных: проект электронной библиотеки Формы, предназначенные для поиска и просмотра данных (а также открытия электронных документов) могут быть «собраны# на второй странице главной кнопочной формы (рис. 8.122). Рис. 8.122 Вариант второй страницы кнопочной формы базы данных электронной библиотеки В данном варианте на нее помещены кнопки для открытия следующих форм: Электронная карточка, предназначенной для просмотра данных по всем документам электронной библиотеки, а также для открытия документов (см. раздел «Создание форм в режиме конструктора#, а также рис. 8.60, выше в этой главе); Электронная ссылка, предназначенной для просмотра кратких ссылок на документы (см. раздел «Мастер форм# и рис. 8.52 выше в этой главе).
Формы для просмотра и поиска данных: проект электронной библиотеки 399 Электронная карточка (две страницы), предназначенной для просмотра двухстраничных электронных карточек документов, а также для их от- крытия (см. раздел «Добавление к форме разрыва страниц* и рис. 8.82 выше в этой главе); Авторы из организаций, предназначенной для просмотра списков авторов, работающих в различных организациях (см. разделы «Подчиненные фор- мы» и «Одновременное создание формы и подчиненной формы на основе связанных таблиц», а также рис. 8.87 и 8.90 выше в этой главе); Поиск по издательствам, предназначенной для поиска электронных до- кументов по издательствам (организациям), которые их выпустили, а так- же открытия документов (см. раздел «Создание формы путем добавления одной формы в другую» и рис. 8.94 и 8.95 выше в этой главе); Поиск по авторам, предназначенной для поиска документов по фамилии автора, а также для их открытия (см. раздел «Создание формы с вложенны- ми подчиненными формами» и рис.8. 97 выше в этой главе); Поиск по фильтру и Электронная карточка с фильтром поиска, предна- значенных для отбора документов с помощью фильтра по задаваемым зна- чениям четырех полей, а также для открытия документов (см. раздел ♦Всплывающие формы» и рис. 8.111 и 8.113 выше в этой главе). В этом списке содержатся, может быть, не самые лучшие и отлаженные формы, но они отличаются разными способами выбора данных из электронной библиотеки. Если, например, форма Авторы из организаций использует одну связь между таб- лицами типа «один-ко-мнОгим» и группирует данные по одному полю, то в форме Поиск по авторам используются две связи, а в форме Поиск по фильтру осуществ- ляется отбор сразу по нескольким полям. На основе этих форм вы можете разрабо- тать формы, осуществляющие поиск по одному или нескольким свойствам докумен- тов в тех сочетаниях, которые вам кажутся наиболее приемлемыми или удобными- Окончательный выбор типа форм и разработка их вида зависят от конкретных дан- ных и способов работы с ними в вашей электронной библиотеке.
Глава 9 Отчеты Отчет — это объект базы данных, предназначенный для представления дан- ных в печатной форме. По своей структуре отчеты похожи на формы, но в отли- чие от них в отчетах жестче контролируется расположение данных и с их помо- щью, естественно, нельзя вводить данные в базу. Отчеты, как и формы, обычно присоединены к одной или нескольким табли- цам (или запросам) базы данных. Связь осуществляется с помощью элементов управления, в которых отображаются надписи или данные. Как и форма, отчет не должен обязательно включать в себя все поля из каждой базовой таблицы или запроса. Часто данные в отчетах располагаются в табличном формате (рис. 9.1). В от- личие от распечаток таблиц или запросов, отчет дает более широкие возможно- сти сортировки и группировки данных, в нем есть возможность добавлять итого- вые значения, вычисляемые поля, а также поясняющие надписи, колонтитулы, номера страниц, стили и различные графические элементы. Выражения для вы- числения значений полей, итоговых значений, надписи и графические элементы создаются и сохраняются в макете отчета. Рис. 9.1 Отчет 10 самых крупных заказов базы данных Борей 2007 в режиме предварительного просмотра 29 января 2DC7i . 1017 06 10 самых крупных заказов !йл»ги<* Х*ур*****и* 1 за 10 032006 Организация Ю 13800.00Р 2 41 24С3.2006 Ортанюмия Ж 13 600, (Юр 3 47 06.04 2000 Организация Е 4 20000# 4 40 06 042006 Ооганнзацк» И э аоо.оор 58 22.04 2000 Организация г 3 S2O.OO13 в те 23 052006 Организация Е 2490,00ц 7 77 05 062000 Организация Ы 2250.00# 8 30 21022006 Организация В 103ОООЦ 0 44 24.03.2000 Организация 4 1674.750 10 II, те 06.06.2006 Организация Я 1 560.00 р
402 Глава 9. Отчеты Режимы отчета Отчет может быть открыт в режиме предварительного просмотра, в режиме представления отчета, в режиме макета или в режиме конструктора. Первые два режима применяются для оценки того, как будет выглядеть отчет после его рас- печатки, а два последних — для создания и редактирования отчетов. Двойным щелчком в области переходов отчет открывается в режиме представления или в режиме предварительного просмотра (в зависимости от значения его свойст- ва Режим по умолчанию). Из контекстногоменю области переходов отчет мож- но открыть в режимах представления, конструктора и макета, а из контекстного меню отчета в рабочей области — в любом режиме. В режиме предварительного просмотра отчет можно открыть через меню кнопки «Office» (команда Печать | Предварительный просмотр). Режим отчета можно переключить с помощью списка кнопки Вид (раздел Представление вкладки Главная Ленты). Такая же кнопка есть на вкладках Конструктор (Инструменты конструктора отчетов) и Формат (Рабата с макетами отчетов) Ленты. Наконец, кнопки переключе- ния режимов отчета имеются в правой части строки состояние Режимы предварительного просмотра и представления отчета Режимы предварительного просмотра и представления отчета очень похожи. Отличие между ними состоит только в том, что в первом режиме отображается весь отчет, а во втором можно увидеть только «печатную форму* макета отчета, в которой содержится всего лишь несколько записей (одна страница). Представ- ление отчета удобно использовать при создании макета и редактировании боль- ших отчетов, в полной версии которых можно «запутаться». Режим предвари- тельного просмотра максимально близко демонстрирует вам тот вид отчета, ко- торый будет на бумажных листах после его распечатки. В режиме представления отчета (рис. 9.2) на Ленте не отображается никаких контекстных вкладок. Кроме просмотра и копирования данных в буфер обмена здесь вы можете использовать различные фильтры и средства поиска данных, которые расположены на вкладке Главная Ленты (об их использовании см. раз- делы «Поиск и замена данных» и «Фильтры» главы 6 «Работа с таблицами»). Причем фильтры «работают» по всем записям, включенным в отчет, а не только по тем, которые можно увидеть на экране в режиме представления. Сохранение фильтра вместе с отчетом Последний использованный вами фильтр сохраняется вместе с отчетом. В следую- щем сеансе работы с отчетом вы можете применить этот фильтр простым нажатием кнопки Применить фильтр в разделе Сортировка и фильтр Ленты В режиме предварительного просмотра отчета на Ленте отображается только одна вкладка — Предварительный просмотр (о том, как работать с элемент ами управления этой вкладки, см. раздел «Просмотр, печать и экспорт таблиц» и рис. 6.26 главы 6 «Работа с таблицами»). С ее помощью можно просматривать от- чет в различных масштабах, в одностраничном, двухстраничном и многостранич- ных видах, установить параметры печатной страницы, осуществлять печать и т.д.
403 Режимы отчета т - f .ай bJWFIP* 55^6^рГ|Ьк*.и» X ЧЙ«* >1 29ям«рл 2007г. 13:4213 Ц| 1 |« Я Э <* * *1 в№ и.о. ФВМилИЙ Имя Отчество Нааваиие Комментарий S и,и. Гончар» ИЙ 1 к Иванович Международная академия информации Бев комментариев 12 и.м. Егоре» Иван ммхавлявич • Краоюанамаиский машиностром тельный вааад Бев комментариев 17 и.о Истомин Иван Олегович Красно । нв менсхив машиностроительный вавод Беа номмантвриве IB 21 И.Ф. Копылов Ими Федорович И аститут ПОДГОТОВКИ МДДРОВ Бае HOMMBHTtpiнее 25 И.П. Кулаков Иван Павлович Институт подготовим кадров Ба> комментариев 27 И.О. Марусе» Ивам Олегович Кр<но1мамено1ий мвшииостроительимй мвод Бав комментариев 33 ип. Рошввн Иван Пантелеевич Мемдумародный центр Бев коммантвриев ‘Сотрудничество’ Страниц» 1ИШ1 Рис. 9,2 Отчет Авторы в режиме представления с примененным фильтром в поле Имя по равенству значения слову «Иван» В отличии от режима представления в режиме предварительного просмотра отображаются все данные которые включены в отчет (рис, 9.3), а не только одна страница Рис. 9.3 Две страницы отчета Авторы в режиме предварительного просмотра
404 Глава 9. Отчеты Для плавного изменения масштаба отображения отчета в режиме предвари- тельного просмотра в строке состояния имеются кнопки и ползунок (рис. 9.4). Если вы щелкните левую кнопку (со знаком «минус»), масштаб отображений уменьшится на 10%, правую (со знаком «плюс») — увеличится на такую же ве- личину. Средняя кнопка (ползунок), если ее перетаскивать указателем влево или вправо, позволяет настроить масштаб с точностью до 1%. Рис. 9.4 Правая часть строки состояния в режиме предварительного просмотра объекта базы данных Режимы конструктора и макета отчета Режимы конструктора и макета отчета используется для создания и редакти- рования отчетов. Они очень похожи на режимы конструктора и отчета форм, имеют аналогичные инструменты, а для работы применяются такие же способы (см. разделы «Режим конструктора» и «Режим макета» главы 8 «Формы»). В режиме конструктора данные не отображаются (рис 9.5). В режим© макета ото- бражается ограниченное количество записей (как в режиме представления — одна страница). Рис. 9.5 Один и тот же отчет в режиме конструктора (вверху) и в режиме макета (внизу)
Режимы отчета 405 При открытии отчета в режиме конструктора на Ленте отображаются три контекстные вкладки: Конструктор (Инструменты конструктора отчетов), Упо- рядочить (Инструменты конструктора отчетов) и Параметры страницы (Инст- рументы конструктора отчетов). При открытии отчета в режиме макета — их также три: Формат (Работа с макетами отчетов), Упорядочить (Работа с маке- тами отчетов) и Параметры страницы (Работа с макетами отчетов). Элементы управления на вкладках Ленты такие же, как для режимов конст- руктора и макета форм. За исключением «новых» разделов Группировка и ито- ги (рис. 9.6), которые добавлены на вкладки Конструктор (Инструменты конст- руктора отчетов) и Формат (Работа с макетами отчетов). Рис. 9.6 Раздел Группировка и итоги вкладки Формат (Работа с макетами отчетов) Ленты Nma ДсЛЯямйй. дни rrtynm'iHWwM ... ... -—иг..!------------ Маясмыум tjwi Й 1#’ ^промин «теме етчт Д*. иждой -» иля» иежт м исдодеАрупк* «№>в1метч»с<м« «тортий. X Нтсги* ___________________ CtpwTn* МПИСТЙ НЯ СдгДтЙУфСЦ, ЙСМГ нтжим ip* ям» тг.шввойся W*| нм»мм Нялрймт можжв «чнтжгжп. гилгдервж, ПО ПОЛЮ *<гио»5 wwr я» ыаиекехинуФа «додом 1к тамг* -«mHPMa-tifai и * 1s В разделе Группировка и итоги есть всего три элемента управления: Кнопка Группировка и сортировка. Она отображает в нижней части рабо- чей области интерактивную схему (рис. 9.7) настройки группировки и сор- тировки данных. Используя рабочие инструменты этой схемы можно очень просто настроить группы и отсортировать записи отчета. Причем, если ра- ботать в режиме макета, то изменения в расположении данных отчета бу- дут наглядно отображены в верхней части рабочей области. Рис. 9.7 В нижней части рабочей области отображена интерактивная схема настройки группировки и сортировки данных
406 Глава 9. Отчеты Список Итоги. Открывает список команд, позволяющих добавлять по ля итоговых значений к выделенной группе. Кнопка Скрыть подробности. Скрывает записи на более низком уровне группировки (при наличии нескольких уровней группировки). Г руппировка записей Группировка записей в отчете собирает их в группы по одинаковым (или «по- хожим») значениям в заданном пользователем поле. Внутри созданных таким образом групп можно задавать группировку по значениям других полей и т.д. Всего в Access 2007 допускается до 10 уровней группировки. Записи, входящие в определенную группу, могут быть отсортированы по возрастанию или по убы- ванию. Кроме того для групп могут быть подсчитаны итоговые значения (напри- мер, количество записей, входящих в группу, или среднее значение поля груп- пы для числовых полей), а также заданы другие параметры и свойства. Интерактивная схема группировки, которая открывается для отчета в режи- мах конструктора и макета кнопкой Группировка и сортировка Ленты, не толь- ко отображает текущую группировку записей, но также позволяет настраивать все перечисленные выше свойства. Если в отчете не была установлена группировка или сортировка записей, то на схеме отображаются только две кнопки с «характерными» названиями и значками (рис. 9.8 вверху). Их вы можете использовать для добавления сорти- ровки или группировки записи по любому доступному полю. Как только вы щелкните одну из этих кнопок, появится список доступных полей отчета (рис. 9.8 в середине), выбрав одно из которых, вы автоматически создадите груп- пу или отсортируете записи, а в интерактивной схеме после этого появится па- нель соответствующего раздела, отвечающая выполненному вами действию и уменьшенные копии кнопок для добавления новой группы (на уровень ниже) или сортировки (рис. 9.8 внизу). Таким же способом вы можете добавить новую группу или отсортировать записи по «оставшимся» полям и т.д. Рис. 9.8 Если в отчете нет групп и сортировки, вы можете их добавить, щелкнув одну из этих кнопок, которые показаны вверху Группировка по выражению В списке полей отчего (рис. 9.8 в середине) есть значение выражение. Если вы выберите его, откроется построитель выражений. Создайте с помощью него выра- жение, и группировка будет производиться не по «чистому» значению поля, а по значению, вычисленному с помощью созданного вами выражения.
Режимы отчета 407 В панели группы интерактивной схемы отображаются параметры группи- ровки и сортировки. Например, на рис. 9.8 внизу видно, что записи сгруппиро- ваны по полю Тип и отсортированы по возрастанию (начиная с А, т.е. от А до Я). А в отчете это будет выглядеть так, как показано на рис. 9.9. Рис. 9.9 Фрагмент отчета с группировкой по полю Тип и сортировкой по возрастанию значений этого поля Тип Нмваняс Курс лекций, лекции М.: ООО “бином-Пресс” 2005 Миниатюрный материализм Монография М.: ООО “Ьином Пресс" тооо Идеалистический материализм вммянп Мл ООО Пресс ' 2000 в^еде>«меёи>илогоф^)мв^ма М: ООО "Бимом Пресс" М.: lAOTkbrw Прогресс» М"Экономика и мир* Ышк» %сгп»уднпчес Т9О* Минас "Сотрудмичестео" Киев: Издательский дом А ГК” 2001 Материя в истории естествозма 2OPS чшимптержя 2002 Демографический материализм 2ХХИ Дожти<)ИМ<зо<«*ммергвАмзы • Ллгг.-v . . 2004 Неестественный материализм в 2001 Метод и событие в материализм В панели группы имеются следующие инструменты: Кнопки со стрелками, направленными вниз, рядом с текущими параметра- ми группировки и сортировки. Они открывают списки, с помощью которых вы можете выбрать другое поле для группировки или другой порядок сор- тировки для данной группы. Кнопка Больше. Она добавляет в панель инструменты для тонкой на- стройки* группы. Кнопки Вверх и Вниз (справа). Позволяют переместить уровень группиров- ки вверх или вниз (при нескольких уровнях группировки). Естественно, что перед этим панель перемещаемой группы необходимо выделить. На- пример, если записи сначала сгруппированы по типу документа, а затем — по издательству, которое их выпустило, с помощью этих кнопок «одним щелчком» можно перегруппировать записи сначала по издательству, а по- том — по типу документа. Кнопка Удалить. Удаляет выделенный уровень группировки из отчета. Если вы щелкните кнопку Больше, появятся дополнительные инструменты (рис. 9.10): Первая по порядку кнопка (можно сказать, что на рис. 9.10 она называется «по всему значению») открывает панель с параметрами настройки группи- ровки. Эти параметры зависят от типа данных поля. В данном примере вид- но, что текстовое поле Тип можно группировать по первому знаку в значе- нии поля (тогда «Учебник», «Учебная программа» и «Учебное пособие» по- падут в одну группу), по первым двум знакам, по всему значению поля, а также можно задать количество знаков группировки. Следующая кнопка (на рис. 9.10 на ней написано: «с итогами: Тип») откры- вает панель настройки итоговых значений для данной группы (рис. 9.11). Здесь с помощью списков вы можете выбрать поле, по которому будут вы- числяться итоги, выбрать итоговое значение (которое зависит от типа дан- ных поля), указать место расположения итоговых значений в отчете (в заго- ловке или в примечании), задать отображение итогов для каждой группы или в процентах.
408 Глава 9 Отчеты Область бвода Итгги ©к тип ТК1 О по первый двум знакам О Apfo* с разделом элголовкв f < итог**» т>п * • Г нголоягомТып^ на одной странице на одной страна* удерживать группу на одной страна* удерммяггь заголовок и первую запись на одной странкг Рис. 9.10 Панель группы с дополнительными параметрами настройки Рис. 9.11 Фрагмент отчета с итоговыми значениями (количество значений) по группам и с общим итогом Учебная программа Киев “Мздаггельосяй дом А ПС аосп. Метод и событие в материализм Учебник М. ООО Лжмом-Пр«<“ 2005 Слово о материализме it,; 0ОО “ J > W 9 » "*А ’W -..*# J.- •* а чь- v. ЗЬ Ч " • . • 1 1 > •; 2001- 4симестыи материализм F • * 9 ♦ • * - <Г"М 1 • * 11 •- «.*<- V Д ж W t М. ООО’Ънчом-Пресс* 1005 Полыгимегким материализм K:000*S»w«ynpece ’ г 9 ж» t Пачйгичйкий К Учебное пособие Мл ООО "Бимом-Пресс* aoos Мистический материализм Кме*з*111и|азелм«Э«м1»д^ • йомег>**<» Мл РИО ИПК 2000 Материальный м <• »ммм/ г.-. Мое n 4 хз Следующая кнопка («с заголовком Тип») открывает диалоговое окно Об- ласть ввода, в котором вы можете задать заголовок для группы записей. По умолчанию он дублирует имя поля, Списки («с разделом заголовка» и «с разделом примечания») управляют отображением разделов заголовков и примечаний в группах отчета. Заголо- вок группы печатается в начале новой группы записей и содержит, напри- мер, имя группы. Примечание группы печатается в конце группы записей и содержит итоговые значения для группы. Кнопка («не удерживать группу на одной странице») позволяет выбрать один из вариантов «поведения» группы при переходе на новую печатную страницу: удерживать группу на одной странице, не удерживать группу на одной странице или удерживать заголовок и первую запись на одной стра- нице. Когда раздел больше чем страница, эти параметры могут игнориро- ваться, Последняя кнопка («Основные параметры»), которая расположена внизу, сворачивает дополнительные параметры настройки.
Создание отчетов 409 Создание отчетов Создавать отчеты в базе данных Access можно четырьмя различными спосо- бами: сохранением другого объекта базы данных как отчета; Безусловно, это не лучшим способ создания отчетов. Его можно использовать в простейших случаях. Например, когда нужно сделать отчет в виде списка. Уровни группировки и сортировку в такой отчет нужно будет добавлять «вручную». с помощью автоотчета на основе таблицы или запроса; с помощью мастера отчетов; в режиме конструктора (и/или макета) отчета. На вкладке Создание Ленты есть раздел Отчеты, в котором имеются следую- щие средства для создания отчетов (рис. 9.12): НмимАии* Зе пуск меггера ыклееч шюоыА позволяет семи» обычнее май спешмивяш ммлейсн. г. Пусто* ОТЧ«7 Создам** нового пустого отчет*, который можно встият* поя* . и здешентм ] з*вМ1вш и доработгл» отчет hiifi Чсимй швъвп отчвт Создан** простого отчет* на воюй *а~ мыс тцсуыцг о мпроа млн торицы, & которому можно довалит* дополииттлвмме соипоштьтк например групп* мли.итг-ж | Создание нового пустого отчете * режиме конструктора В режим* «сиЬдогор* можно в ко сии» изменен*» в отчетц тмгфймерйрвшять %.тррйй*>и< вздвигм**»' ЙЕЙ^'*’ « ttF U Пустой отчет ChHt , .. Конструктор Ч 0^ Меггер ртмгго* ©тчего» ' СНметм •= If ’’ 4 ( f ‘ 1 Г У Мастер отчетов Эвпус* “вГГОр* РТЧСТОЯ, КОТОРОЙ ПОЛОЛИГТ СбЗДвТ» простой нвлриимт^ый отчет Рис. 9.12 Кнопки для создания отчетов в Access 2007 Кнопка Отчет. «Одним щелчком» создается простой отчет (автоотчет), со- держащий все поля выделенной таблицы (или запроса). К первому полю до- бавляется итоговое значение соответствующее типу данных поля. Отчет со- держит номера страниц, дату, время создания, заголовок, повторяющий имя таблицы или запроса, а также формальную эмблему. После создания отчет открывается в режиме макета. Кнопка Наклейки, Запускается мастер создания наклеек, в диалоговых окнах которого вы задаете размер наклеек, их тип и количество, шрифт и его атрибуты, поля из выделенной таблицы (или запроса), которые следу- ет разместить на наклейках, сортировку записей, а также имя отчета. От- чет после создания открывается в режиме предварительного просмотра. Кнопка Пустой отчет. Создается заготовка пустого отчета, который от- крывается в режиме макета. Для добавления полей открывается панель Список полей. Можно построить источник данных в виде запроса. Перед щелчком этой кнопки не нужно выделять таблицу или запрос. Отчет полу- чает формальное имя Отчет!.
410________ Глава 9 Отчеты Кнопка Мастер отчетов. Запускается мастер создания отчетов, который позволяет выбирать поля из различных таблиц или запросов, задавать вид представления данных, группировку и сортировку, стиль оформлени я и имя отчета. Мастер позволяет строить самые сложные отчеты. От пользова- теля требуется только корректно заполнять элементы управления в его диалоговых окнах. Отчет открывается в режиме предварительного про- смотра или конструктора. Кнопка Конструктор отчетов. Создает заготовку пустого отчета, кото- рая открывается в режиме конструктора. Для добавления полей открыва- ется панель Список полей. Можно построить источник данных в виде за- проса. Перед щелчком этой кнопки не нужно выделять таблицу или запрос. Отчет получает формальное имя Отчет! Созданный любым из описанных выше способов отчет можно затем изменять или настраивать в режимах конструктора и макета. Создание простого отчета на основе таблицы или запроса При использовании автоотчета (шаблона содержания) в новый отчет перено- сятся все поля выделенной в области переходов или открытой таблицы (или за- проса). Чтобы создать такой отчет, просто выделите источник записей и щелк- ните кнопку Отчет на Ленте. Через «мгновение» новый простой отчет будет открыт в рабочей области в режиме макета (рис. 9ЛЗ)« Рис. 9.13 Простой отчет, созданный из запроса Страницы 5 авторов 5 авторов Всагоспмнмц 1003 910 ! Дмыдом Г.П. 691 Черныше» С.Н ; дманяы В В. 30 я имея 20071 9*03'14 । 1УлмиВ Н. Злжмгжлкмн ЮА 650 614 5 I Страниц! 1 И» 1 Шаблоны отчетов По умолчанию отчеты создаются одного и того же вида, с одинаковыми свойствами отчетов, элементов управления и разделов. Это определяется свойством Шаблон отчета, которое по умолчанию имеет значение Normal (см. диалоговое окно Па- раметры Access, раздел Конструкторы объектов, секция Формы и отчеты, рис. 9.14). Введите в поле этого свойства имя уже существующего в вашей безе данных отчета, чтобы он стал новым шаблоном. После этого большинство отчетов будут «штамповаться» похожими на него. Смена шаблона не влияет на отчеты, ко- торые уже были созданы. Часто бывает целесообразна специально создать не- сколько отчетов, используемых исключительно в качестве шаблонов.
Создание отчетов 411 Рис. 9.14 Свойства отчетов по умолчанию определяются действующим шаблоном Следует заметить, что «тонкая» доводка внешнего вида любого отчета обыч- но проводится «вручную» с помощью средств форматирования, имеющихся на контекстных вкладках Ленты. Мастер отчетов В Access 2007 есть два мастера отчетов, один из которых позволяет создать от- чет на основе нескольких таблиц (или запросов), а второй — напечатать почто- вые наклейки (или другие печатные формы подобного типа). В этом разделе рассмотрен первый из них. Чтобы с помощью мастера создать отчет Документы издательств, в котором будут отображены издательства и краткие сведения о документах, которые они выпустили, сделайте следующее: 1. Щелкните кнопку Мастер отчетов в разделе Отчеты вкладки Создание Ленты. 2. В появившемся диалоговом окне Создание отчетов (см. рис. 9.15) выбери- те поля для отчета из таблиц и запросов базы данных и перенесите их из списка Допустимые поля в список Выбранные поля, используя кнопки «со стрелками», расположенные между ними. В данном случае это долж- ны быть поля: Издательство из таблицы Издательства, Название и Год издания из таблицы Данные документов, Авторы из таблицы Ав- торские списки. Щелкните кнопку Далее. 3. Перед тем как открыть второе диалоговое окно, мастер отчетов проверит наличие связей между выбранными таблицами и сгруппирует записи на их основе. Вы можете изменить группировку или отказаться от нее (рис. 9 Л6). Щелкните кнопку Далее в диалоговом окне мастера. 4. В следующем диалоговом окне (рис. 9.17) вам будет предложено добавить (или создать, если группировка отсутствовала или была отменена) уровни группировки. Добавьте группировку по полю Год издания, дважды щелк- нув его в списке. Если необходимо, измените порядок следования полей группировки с помощью стрелок, направленных вверх и вниз. Когда все будет настроено должным образом, щелкните кнопку Далее.
412 Глава 9 Отчеты Рис. 9.15 В диалоговом окне мастера отчетов выберите поля, которые будут включены в создаваемый вами отчет Рис. 9.16 Второе диалоговое окно мастера отчетов Рис. 9.17 Добавьте уровни группировки к отчету 5. В следующем диалоговом окне мастера вам следует задать сортировку по оставшимся (не участвующим в группировке) полям данных. Сделайте это и щелкните кнопку Далее, чтобы перейти к следующему диалоговому окну мастера отчетов-
Создание отчетов 413 6. В появившемся диалоговом окне вам следует подобрать для вашего отчета макет (рис. 9.18). В группе переключателей установите одно из положе- ний: ступенчатый, блок или структура. В окне просмотра слева будет ото- бражаться макет, на который указывает переключатель. Если нужно, ус- тановите флажок для параметра Настроить ширину полей для размещения на одной странице. Выберите ориентацию (книжная или альбомная). Щелкните кнопку Далее, когда все подходящие установки будут сделаны. Рис. 9.18 Выберите вид макета для отчета ШбдоШМк ЛИГ14ДМ йГЙта. 7. В следующем диалоговом окне выберите автоформат отчета, щелкнув один из стилей списка, расположенного справа (рис. 9.19). В окне про- смотра слева вы можете увидеть общий вид выбранного стиля. В данном случае был выбран стиль Солнцестояние. Щелкните кнопку Далее. Рис. 9.19 Выберите стиль автоформата 8. В последнем диалоговом окне мастера задайте отчету имя (в данном слу- чае — Документы издательств) и укажите, в каком режиме его следует открыть. Щелкните кнопку Готово и оцените, как справился мастере ра- ботой « под вашим руководством ». Если вас это не совсем устраивает, отре- дактируйте отчет в режиме конструктора или макета (рис. 9.20).
414 Глава 9 Отчеты Рис. 9.20 Снимок отчета Документы издательств, созданного мастером и «слегка» отредактированного в режиме макета 2001 Дсмгормккмшагршмш ЫцфСшИ.С Ьж*тапсин ЮЛ . •uiwaraEE. мф 1 акмкяиашпиивцчам <упваН.ПггроиМЛ1; *мвкдоп« РудмоаЮЮ > ’ 1 ' * > • • • . . •« г . . ♦ . ► »>.,<<• . ’ • • • St его леи млтяп»спу 2 II. Й11СМГ1 и иир’ ат TophTctMpMMBinfiiiwwfBM tyflpuuraA II. Куфммн» . FLM КутмкжИ П лф М.Р1ОИ1К Л КольлжИ.* КуфжгаЛМ. ЧншшвСН К**"1£ютыям1 да ЛТК" ЦжфмжЛЛЛаыпвГ П, Дуошсмм! А мф ВЬегопси щггсяьегсу 3 kJ 20<Я Мастер наклеек Мастер наклеек позволяет создать отчеты, состоящие из почтовых наклеек или подобных печатных форм. В данном разделе будет рассмотрено создание «каталожных» карточек электронной библиотеки, подобных тем, которые ле- жат в ящиках каталога обычного библиотечного зала. Отчет будет называться Каталожные карточки. Сделайте следующее: 1. Выделите в области переходов или откройте таблицу или запрос, который будет использоваться в качестве источника данных для карточек. В дан- ном случае удобно использовать запрос Карточка (все данные), 2. Щелкните кнопку Наклейки в разделе Отчеты вкладки Создание Ленты. 3. Появится первое диалоговое окно мастера Создание наклеек (рис. 9.21). В нем выберите размер наклеек. В раскрывающемся списке Фильтр по из- готовителю выберите название фирмы-изготовителя наклеек, чтобы
Создание отчетов 415 в списке Выберите размер наклейки были отображены наклейки только этой фирмы. Установите переключатель Система единиц в положение британская (дюймы) или метрическая (мм), а переключатель Тип накле- ек — в положение на листах или рулонные в зависимости от того, какие наклейки имеются в вашем распоряжении. Выберите размер наклейки. Если вам не подходит ни один вариант, то создайте пользовательские раз- меры, щелкнув кнопку Настройка и задав параметры в диалоговом окне Размеры наклеек. После того как размеры наклеек будут выбраны, щелк- ните кнопку Далее. Рис. 9.21 Первое диалоговое окно мастера наклеек, в котором выбирается их размер Создам** наклеек Потом, в готовом отчете, вы сможете изменить размеры наклеек на вкладке Столб- цы диалогового окна Параметры страницы, которое открывается одноимен- ной кнопкой на одноименной вкладке Ленты. Здесь можно задать параметры сетки, в которой «располагаются» наклейки на листе бумаги: число столбцов, интервал строк (в см}, интервал столбцов. Кроме того, можно в явном виде задать Размер столбца или установить флажок для параметра по размеру данных, чтобы он выбирался автоматически. Наконец, можно выбрать макет столбца (сверху вниз или слева направо), который определяет последовательность вывода отчетов (наклеек) на листе 4. В следующем диалоговом окне мастера выберите шрифт надписей, его раз- мер, насыщенность, цвет и начертание (рис. 9.22). Шрифт выбирается для всей наклейки сразу, но потом его можно будет выборочно отформатиро- вать в режиме конструктора отчета. Щелкните кнопку Далее, когда сде- лаете все нужные вам установки. 5. В появившемся после этого диалоговом окне мастера (рис. 9.23) нужно создать прототип наклейки из полей выбранной вами таблицы или запро- са. Выделите поле и щелкните кнопку «со стрелкой», направленной впра- во, чтобы перенести его в прототип. Чтобы перейти на следующую строку прототипа, нажмите клавишу Enter, а чтобы добавить надпись в начало строки, введите ее после названия поля. Вы можете также добавить в стро- ку прототипа служебные символы. В строке прототипа может распола-
416 Г лава 9 Отчеты гаться несколько полей. В данном случае перенесите поля ID документа, Название, Авторы, Тип, Год издания и Издательство. &ля завершения создания прототипа щелкните кнопку Далее. Рис. 9.22 Выберите шрифт и его атрибуты для надписей наклейки Рис. 9-23 Выберите поля, которые следует разместить на наклейках 6. На экране поя вится диалоговое окно, в котором следует указать сортиров- ку записей. Выберите поля и щелкните кнопку Далее. 7. В последнем диалоговом окне задайте имя отчета, например, Каталож- ные карточки, и укажите, в каком режиме его следует открыты Чтобы за- вершить создание отчета, щелкните кнопку Готово. В результате работы мастера могут быть изготовлены « каталожные карточ- ки» электронной библиотеки, которые показаны на рис. 9.21 (некоторые поля в примере справа были дополнительно отформатированы в режиме конструктора).
Создан ир отчетов 417 10 аМД«4ЙМ * фМ«С<ИП<№ <МГфМ1ПММ|Г Mrftpw Гуияго вЯ.ЧогшяояИ Ф ГоммрсмАМИ цдр Моишрвфяя 2600 М ООО Ъгоо^ргос* V Мг^мп О спйрммни»ы«сг«стк»а№аи Авторы Дреаскм* Р1Л . Купмш и п УчаОимяоакбм» ЯН» !М Зымоымп»1м<г а Матерым ымыв «ир A®^PW КопыгсаИ.Ф- frtfpeeuaaA М- чя> .им СЯ Умабыоа пособие IlGWrod * Р*ОНПК D Маташтивсгоа оааасамм матарым Даяэйры МЛНИР AM- ТЧтМА. Мжвфлфшг ЖКМгод И . ООО Ъмом Прчж' Gt”' Мапминмисигмсков вослраапм йе Ati «атапыюст Aamqpw. EWftfdrr хм1ипас.8- Цаоиы-шы С Н Маипяредж!* ОД год М ООО TmCflp^c^' 11 Мэт«рмнш»«8 ымр ><*вры Кол.лмИФ К]*ря«циАЧ Чфвмима С Н Учафн» пасйЬм 2000 М PHOltflK 1J Mat мягичасвв опасен** шп«рм Аеторы ЦдотцгоАМ .ТюммМА МоиогмФ*» 2001 М ООО *Бимо» Пресс* Гаомтума а симраыамыиа uat аряалыюм кара Awnqpal Сажйкд№-Л Л, ДммЬи Г&_ Дн^жыйГАмД». У*кав*юалчхюб1Ж 2<Й2 год Ки»я 'МмМлт»а*«и5ЛЖ|АЛГ 14 ГввМкр* Я С<ир4мвм«44има1чомаиы«ом М«ф» Легоры Графинов! П И.. Дмцдаы Г Л. HjnwcwS Г А * др Уыйчм "ОССб« 2007 Km* Tfluuw мммив дем АПГ 15 U*n*p»arn»ci it4K<e* мспвита ««КТЙмтГОшМО* Авторы Рошаам И Г1. ХалапоаС В. ЧвршимаСН Монограф*» 2000 М ООП •&нсы-Лраос‘ W "Г ары* соарамнюА шатаны» Aewwpki ОДвлшкАКП И Ху."У1*х< К-Р. .с А Мьма^афиа 2009 год М, ?ю«ыым4 и awp* г* Мапрмта* Aamtpi/ АмкдкАД-ПйютЛД Мтоцрвфил JOWrod Kt«aa ХМа/павюлл) доы АПО Рис» 9,24 Отчет Каталожные карточки в режиме предварительного просмотра: «из-под пера мастера» (слева) и дополнительно отформатированный пользователем (справа) Еще один полноценный мастер «скрыт» под кнопкой Вставить диаграмму (раз- дел Элементы управления вкладки Конструктор (Инструменты конструк- тора отчетов) Ленты). Он позволяет с помощью всего нескольких диалоговых окон добавить в отчет диаграмму, основанную на одной таблице или запросе (диа- граммы подробно рассмотрены в главе 11 «Сводные таблицы и диаграммы»}. Впрочем, это не единственный способ добавления диаграмм Можно также вста- вить в отчет подчиненную форму, открываемую в режиме сводной диаграммы, Создание отчета в режиме конструктора Если на вкладке Создание Ленты щелкнуть кнопку Конструктор отчетов^ от- кроется пустой отчет в режиме конструктора, и вся остальная работа по его соз- данию должна будет выполнена вами «вручную» (рис. 9.25). В режиме конструктора отчетов вы можете: изменять или добавлять таблицу (запрос) как источник данных отчета; добавлять, задавать свойства иизменять размеры разделов отчета; я помешать в отчет элементы управления, настраивать и форматировать их; настраивать группировку записей по одному или нескольким полям, а так- же сортировку данных; изменять свойства отчета. Многие действия по созданию и настройке отчетов выполняются так же, как и при создании и настройке форм- Если ниже они не описываются подробно, то поищите их описание в главе 8 «Формы», 14 Access 2007
418 Глава 9 Отчеты Рис. 9.25 Пустой бланк отчета в режиме конструктора При работе с отчетом в режиме конструктора рекомендуется чаще «временно пе- реходить» в режим макета, например для того, чтобы выровнять поля или надписи или посмотреть как будут выглядеть данные в отформатированных вами полях (в режиме макета, в отличии от режима конструктора, отображаются и данные, и их форматирование). Источник записей отчета Чтобы добавить источник записей после создания пустого отчета, следует из- менить свойства отчета. Для того чтобы открыть диалоговое окно свойств, в ре- жиме конструктора отчета дважды щелкните прямоугольник выделения «на стыке линеек* или щелкните кнопку Страница свойств на Ленте. В диалоговом окне свойств отчета перейдите на вкладку Данные и щелкните ячейку свойства Источник записей. Затем: щелкните кнопку «с галочкой*» чтобы открыть список таблиц и запросов базы данных, и выберите в нем существующую таблицу или запрос, на ос- новании которых будет построен отчет; щелкните кнопку «с многоточием*, чтобы открыть построитель запросов, с помощью которого можно создать новый запрос для списка полей созда- ваемого отчета. После того как вы это сделаете, в панели Список полей будут отображаться поля выбранного или созданного вами источника данных, а также доступные поля из других таблиц. Нельзя менять источник данных Если нужно создать отчет на основе полей нескольких таблиц, то сначала нужно создать запрос, содержащий эти поля. Нельзя добавлять поля из одного источника данных, а затем, изменив источник данных, добавлять поля из другого- Поля, до- бавленные вначале, «потеряют» свои источник, и Access выдаст сообщение об ошибке.
I Создание отчетов______________________ 419 Разделы отчета Сведения в отчете располагаются в разделах (см. рис. 9.25). В отчете обяза- тельно должен быть раздел Область даннык. Могут также быть включены разде- лы Заголовок отчета. Верхний колонтитул, Нижний колонтитул и Примечание отчета. Если в отчете применяется группировка данных* то появятся разделы Заголовок группы и Примечание группы. Каждый раздел отчета имеет свое назначение и печатается в определенном порядке (рис. 9.26): Рис.9.26 Если в отчете применяется группировка, то в него добавляются разделы заголовков и примечаний для каждой из групп Заголовок отчета. Печатается один раз в начале первой страницы. Содер- жит, например, эмблему базы данных, название отчета, дату и время. Верхний колонтитул. Печатается в начале каждой страницы. Содержит, например, заголовки полей (столбцов) данных. Область данных. Печатается для каждой записи в источнике данных. За- ключает в себя основное содержание отчета. Нижний колонтитул. Печатается в конце каждой страницы. Содержит, на- пример, номера страниц. Примечание отчета. Печатается один раз на последней странице отчета, пе- ред нижним колонтитулом- Используют, например, для размещения ито- говых значений. Заголовок группы Печатается в начале новой группы записей. Содержит, например, имя группы. Примечание группы. Печатается в конце группы записей. Содержит, на- пример, итоговые значения для полей записей группы. В режиме конструктора отчета разделы отображаются (только один раз) в виде полос с их названиями. В других режимах и в напечатанном отчете одни и те же разделы могут повторяться неоднократно. Раздел можно скрыть, изме- нить его размеры, цвет фона, добавить рисунок, а также настроить его свойства, определяющие, как будет печататься его содержимое.
420 Глава 9. Отчеты Чтобы добавить или удалить в отчете заголовок и примечание, а также ко- лонтитулы, в разделе Показать или скрыть вкладки Упорядочить Ленты щелк- ните кнопки Заголовок/примечание отчета или Колонтитулы страницы. Или воспользуйтесь контекстным меню одного из разделов отчета, в котором есть аналогичные команды. Чтобы добавить или удалить заголовок или примечание группы, используйте интерактивную схему группировки (см. раздел «Группировка записей» выше в этой главе). Вместе с разделом удаляются данные — При удалении колонтитулов, заголовков и примечаний из отчета автоматически удаляется и все их содержимое. Программа Access при этом выдает предупреж- дающее сообщение. Раздел можно скрыть Если какой-либо из разделов временно не нужен, его можно скрыть, а не удалять. Задайте для его свойства Вывод на экран значение Нет (рис. 9.27}. Можно так- 4----же удалить из раздела все элементы управления и установить для него нулевую вы- соту, задав в свойстве Высота значение «0», или просто перетащив его границу указателем мыши. Рис. 9.27 Окно свойств раздела Добавление к отчету титульного листа: проект электронной библиотеки Поля и элементы управления добавляются в отчет из списка полей и раздела Элементы управления Ленты. Ниже, в качестве примера, рассмотрено, как можно добавить титульный лист к отчету Документы издательств (см. раздел «Мастер отчетов» и рис. 9.20 выше в этой главе). 1. Откройте отчет Документы издательств в режиме конструктора. 2. Увеличьте размер раздела Заголовок отчета, перетащи в его границу вниз.
Создание отчетов 421 Используйте разрыв страницы Вы можете не стараться точно устанавливать размер титульного листа по вертика- ли. Чтобы данные начинались с новой страницы, можно в раздел заголовка доба- вить элемент управления Разрыв страницы. А размер титульного листа должен быть такой, чтобы в нем «удобно» разместились те данные, которые вам нужны. 3» На Ленте щелкните кнопку элемента управления Рисунок. Появится диа- логовое окно Выбор рисунка. Найдите в папках вашего компьютера рису- нок, который нужно вставить на титульный лист и щелкните кнопку ОК. Щелкните в разделе заголовка в том месте, где должен быть вставлен ри- сунок. Затем измените размеры рамки рисунка и отформатируйте его должным образом (рис. 9.28). Рис. 9-28. К отчету Документы издательств добавлен титульный лист с эмблемой (режим предварительного просмотра) 4. Добавьте на титульный лист несколько надписей. Для этого дважды щелкните кнопку Подпись на Ленте. Перейдите к заголовку отчета, «на- чертите» рамку первой надписи и введите в нее текст. Затем начертите рамку второй надписи и введите в нее текст и т.д., пока все надписи не бу- дут добавлены. Нажмите клавишу Esc, чтобы «отключить» кнопку Под- писи. Отформатируйте надписи, по очереди выделяя их и щелкая инстру- менты форматирования на Ленте. Чтобы выровнять надписи, можете вре- менно перейти в режим макета.
422 Глава 9. Отчеты 5. Добавьте на титульный лист дату и время, щелкнув на Ленте соответст- вующую кнопку и сделав необходимые установки в диалоговом окне Дата и время. 6. Перейдите в режим предварительного просмотра и просмотрите свою ра- боту. Ваш отчет может выглядеть примерно так, как показано на рис. 9.29. Рис. 9.29 В отчет Документы издательств был вставлен отформатированный титульный лист Нумерация страниц В распечатку отчета можно вставлять номера страниц. Для этого использует- ся кнопка Номер страницы в разделе Элементы управления вкладки Конструк- тор (Инструменты конструктора отчетов) Ленты. Она открывает диалоговое окно Номера страниц (рис. 9.30 справа), в котором задается формат номеров страниц. Когда вы сделаете соответствующие установки и щелкните кнопку ОК, в верхний или нижний колонтитул будет добавлено поле со свойствами в соот- ветствии со сделанным вами выбором (рис. 9,30 слева) Это поле в режиме конст- руктора можно перемещать, а также изменять его свойства. В таблице 9.1 при- ведены примеры выражений для задания номеров страниц разл ичного вида. Эти выражения являются значениями свойства Данные соответствующего поля.
Создание отчетов 423 Рис. 9.30 Настройте номера страниц, которые будут отображаться на распечатке отчета Таблица 9.1. Выражения для задания номеров страниц Поля с вычислениями В отчетах можно создавать поля с вычислениями. Для этого используются свойства, находящиеся на вкладке Данные окна свойств поля (подробнее о вы- числениях см. раздел «Вычисления в отчетах» ниже в этой главе). Например, можно пронумеровать записи в отчете Документы издательств, для чего вы должны сделать следующее: 1. Откройте отчет Документы издательств в режиме конструктора. 2. Щелкните кнопку Поле в разделе Элементы управления Ленты, затем щелкните в области данных место, куда следует поместить поле для нуме- рации записей издательств (рис. 9.31). Рис. 9.31 Новое поле для нумерации издательств было вставлено перед полем Издательство в разделе заголовка группы дательство Функция Forma ((expression- format) возвращает значение, содержащее выражение expression, форматированное согласно инструкциям, указанным в выражении формата format.
424 Глава 9 Отчеты 3. Выделите вставленное поле и щелкните кнопку Страница свойства не Ленте, чтобы открыть окно его свойств. В ячейку свойства Данные введи- те выражение Для нумерации каждой записи без сброса счетчика для каждой группы, задайте для свойства Сумма с накоплением значение Для всего (рис. 9.32). Если необходимо, отформатируйте вставленное поле номера. Рис. 9.32 Окно свойств добавленного поля для нумерации издательств Чтобы добавить точку (или кавычку) после номера создайте для нее отдельную под- пись. Поместите ее между полями. Чтобы легче было выравнивать поля и подпись, перейдите в режим макета. Выделите поле или подпись и передвиньте ее клавиша- ми со стрелками. 4. Щелкните кнопку Поле на Ленте и щелкните в области данных место, куда следует поместить поле для нумерации записей названий докумен- тов. 5. Выделите вставленное поле и щелкните кнопку Страница свойств на Лен- те, чтобы открыть диалоговое окно его свойств. В ячейку свойства Данные введите выражение «=1». Для нумерации каждой записи и сброса счетчи- ка для каждой группы, задайте для свойства Сумма с накоплением значе- ние Для группы Если необходимо, отформатируйте вставленное поле но- мера. 6. Перейдите в режим просмотра отчета и проверьте, какие изменения поя- вились в отчете. У вас должен получиться примерно такой же результат, • как показано на рис. 9.33. Свойства отчета Как и в форме1, можно запретить перемещать отчет или изменять его разме- ры в режиме предварительного просмотра. Для того чтобы это сделать: 1. Откройте отчет в режиме конструктора. 2. Дважды щелкните область выделения отчета, чтобы открыть окно его свойств. 3. Измените свойства: Описываемые ниже свойства «работают» только для оконного представления объекта и не имеют смысла при размещении отчета на вкладке.
Создание отчетов 425 Рис. 9.33 В отчет были вставлены поля для нумерации издательств и названий документов Документы издательств Издательство х. Миног “Сотрудничество* Гт ит мния Намнине Адтооы аоаа Я- Доисторический материализм Beer о па мздгпелкстзу j 2. М.: “экономика и мир" 1<»з 1 НсктдеттннмЯ магериллвам еНосутггое Марусе» И. О., Зажмгалкин Ю.А., Федченко Е.Е. и др Гулиев В, Щ Негров М.М„ РудаксшЮЮ. "Горы* современной материи Кудрявцев А М., Кудрявцева Л.М., Куликов И.П. и др. 1. ДемогрчфичиосиЙ шперкэлиш 3- Маприализациясоэнммя Бермлов Й.В., ЖаяеэЬв В.А, Ин i i • • I) } i Y ' ‘ ' * •* f . X 1 • вИ ft 11* ’• ’ 1ьЬ®»>* • < Алешина Д. В. Всего noMM'TTtnitC’»* 4 4 Материв всыфНммиом естество знании Дрожкиж Куликов MJ1 > |$Ш< ' И ' Щ > •’ • i I $? Чтобы запретить перемещать отчет» на вкладке Макет для свойства До- пускается перемещение задайте значение Нет. Чтобы запретить изменение размеров отчета» для свойства Тип границы задайте значение Отсутствует» Тонкая или Окна диалога. Можно также задать значение До свойству Выравнивание по центру. Тогда от- чет в режиме предварительного просмотра будет выводиться в центре окна про- граммы Access. Чтобы «зафиксировать» размеры окна отчета по умолчанию: 1. Откройте отчет в режиме предварительного просмотра. 2 Задайте нужный размер отчета» перетащив соответствующие границы. 3. В контекстном меню отчета выберите команду Сохранить. Чтобы настроить отображение окна отчета можно использовать его свойства Подпись (текст заголовка окна), Кнопки размеров окна (отображать или нет). Кнопка закрытия (отображать или нет), Кнопка оконного меню (отображать или нет). Создание отчета в режиме макета Режим макета предоставляет пользователю практически такие же инстру- менты для создания отчета, что и режим конструктора. Кратко рассмотрим процедуру создания отчета в режиме макета на примере простого отчета Организации, содержащего все поля из одноименной таблицы.
426 Г лава 9. Отчеты 1. В разделе Отчеты вкладки Создание Ленты щелкните кнопку Пустой отчет. 2. Откроется пустой отчет в режиме макета и панель Список полей. 3. С помощью кнопок Ленты добавьте в отчет заголовок и эмблему. Если нужно, добавьте также номера страниц, дату и время. Откройте палитру Автоформат с помощью одноименной кнопки на Ленте и примените к от- чету подходящую схему оформления (в рассматриваемом Примере была использована схема Солнцестояние). 4. В панели Список полей разверните поля таблицы Организации. Дважды щелкните поле ID организации таблицы. Оно будет перенесено в отчет и «выстроено ► в первый столбец макета (рис. 9.34 слева). I :i । Рис. 9.34 Добавленные поля формируются в виде макета 5. Добавьте в отчет поля Название. Адрес и Комментарий последовательны- ми двойными щелчками их строк в панели Список полей. Они также будут добавлены в макет (рис. 9.34 справа). 6. Добавьте, если нужно, в отчет доступные поля из других таблиц. 7. Выровняйте макет и отформатируйте добавленные поля. 8. Сохраните отчет, задав ему имя Организации. То, что у вас получится, в режиме предварительного просмотра должно выглядеть примерно так, как показано на рис. 9.35. Подчиненные отчеты Отчеты, так же как и формы, могут быть вставлены один в другой. Тот отчет, в который вставлен другой, называется «главным», а отчет, находящийся внут- ри него — «подчиненным». Главное отличие от форм здесь заключается в спосо- бе отображения данных. Если формы для просмотра данных следует «листать», то отчет последовательно выводит все данные. Именно поэтому, хотя и можно сохранить форму с подчиненной формой, как отчет, удовлетворительного результата при этом вряд ли стоит ожидать. -
Подчиненные отчеты Рис. 9.35 Отчет Организации создан в режиме макета Главный и подчиненный отчеты могут быть присоединены к источникам данных, как к одному и тому же, так и к разным. Главный отчет может быть сво- бодным, т.е. не основанным на источнике данных. Свободный главный отчет яв- ляется как бы контейнером, объединяющим не связанные между собой подчи- ненные отчеты, например список авторов, написавших больше всех докумен- тов, наиболее объемные документы, организации, в которых работает больше всего авторов и другие < максимальные» сведения. Если главный и подчинен- ный отчеты основаны на одном и том же источнике данных, то в подчиненном отчете могут быть выведены, например, итоговые значения или разные по составу группы записей. В главный отчет могут быть вставлены не только подчиненные отчеты, но и подчиненные формы. Количество подчиненных отчетов и форм не ограничено. Но уровней вложения может быть не более семи. Данные в подчиненных отчетах синхронизируются так же, как и в формах. Создание подчиненного отчета Ниже рассмотрена процедура создания отчета Документы организаций, ос- нованного на данных таблицы Организации, в который вставлен подчиненный отчет Авторы подчиненный. В отчете к списку названий организаций и их адре-
428 Глава 9. Отчеты сам будут подобраны авторы, работающие в них, вместе с документами, которые они написали (тип документа и его название). Прежде всего, следует создать отчет Авторы подчиненный (рис. 9.36). Это можно сделать с помощью мастера. В отчет следует перенести поля Фамилия и Инициалы из таблицы Авторы, Тип из таблицы Типы документов и Назва ние и ID организации из таблицы Данные документов, сгруппировав их по дан- ным из первых двух таблиц. Поле ID организации скройте, задав для него значе- ние Нет в свойстве Вывод на экран (это поле понадобится для связи подчиненно- го отчета с главным). «Полученный от мастера» отчет Авторы подчиненный следует «почистить», удалив заголовок, подписи полей, ненужное форматиро- вание, а также создав из полей Фамилия и Инициалы таблицы Авторы объеди- няющее их вычисляемое поле, в ячейке Данные которого записать: = [Фамилия] & " & [Инициалы] Рис. 9.36 Отчет Авторы подчиненный Авторы этой оргтчзацим йапжалщ Алгпцмл ДВ. Мою графт Материализация сознания Ambmim ВЛ. Мою трафил Материализм УЧКйжя программа Метод и событие в материализме Учебник Политический материализм Бермная А-В. Курс лекциА иеицим Мня полосный материализм Монографии Демографпчвгкмй материализм Идежистичвскмй матери злизм Наша материя Гонырсхяй К И. Монография Введение в философа а матери амзма ГрафмноваЛЛ Курс лекций лекции Миннапопный материализм Монографии Бытовой мгяериалмзм s философии Также с помощью мастера можно создать отчет Документы организаций. В качестве источника записей используйте таблицу Организации, перенеся поля Название и Адрес. После форматирования и применения стиля автоформа- та Солнцестояние отчет Доку мен ты организаций может выглядеть примерно так, как показано на рис. 9-37
Подчиненные отчеты 429 Рис. 9.37 Отчет Документы организаций был создан с помощью мастера и отформатирован Затем сделайте следующее: 1. Откройте отчет Документы организаций в режиме конструктора. 2. Проверьте, чтобы кнопка Использовать мастера в разделе Элементы управления кладки Конструктор (Инструменты конструктора отчетов) Ленты была «нажата». Щелкните кнопку Подчиненная форма/отчет на Ленте. Перейдите к области данных отчета и щелкните в нем то место, в которое нужно поместить подчиненный отчет. Когда вы это сделаете, на экране появится первое диалоговое окно мастера подчиненных отчетов (рис. 9.38). Рис. 9 38 Диалоговое окно мастера подчиненных отчетов 3. Выберите, откуда будут браться данные для подчиненного отчета. Устано- вите переключатель в положение Имеющиеся отчеты и формы, а в списке выделите недавно созданный отчет Авторы подчиненный. Щелкните кнопку Далее.
430 Глава 9. Отчеты 4. В следующем диалоговом окне определите связи между данными. В рас- сматриваемом случае отчеты Авторы подчиненный и Документы органи- заций могут быть связаны по полю ID организации. Программа Access предложит вам такой вариант, основываясь на связи таблиц в базе дан- ных, но вы можете задать его самостоятельно. Щелкните кнопку Далее. б. В последнем диалоговом окне оставьте без изменения имя подчиненного отчета. Щелкните кнопку Готово. Откройте отчет в режиме просмотра. Если нужно, исправьте надписи и форматирование. Отчет Документы организаций, который у вас получился, может выглядеть примерно так, как показано на рис. 9.39. Ф Документы организаций Сфталинциа Акддаммл государстввмм>го .нигрола Кем «/«МП Рис. 9.39 Отчет Документы организаций, содержащий подчиненный отчет Авторы подчиненный ДугмманиА Г.А. УчоАнм лаваАм Геометрия а соарамаммм •териелямоммире £ Ы Менаграфма Матариалмшт1ма -оа восприятие до А л амта л внести УмаАнее ловвАмв МатвриалвншА **о Мисти<«с.мА матаркалмам Сфсатавцаа Ифвтмвстао Охмтаий Материалам» ‘ Москве, а/а 1990 MXMMJMftjaoMMiMMuwiMUJii Жмаааа А. А. Меи аграфия Дамргр •филеем мА мятермалмм СадввСХ. Меимуефма Домстаричав мА магармаямам Органамииа Институт гоа«1меииямвалмф>мацим Москве. е/я1?А4 Дляв«на Д.В Манаграфгя Матор ноли «ацая ссвиаиия Гумма В.И Момаграфиа ВалоооА ыагариалмм в философ** Вадданив а философию маториалтма Чевста ставимый матармалтм а искусстве УчаАнм Номвеестняй магарналыам Рудаков Ю JO. ВовАВмиаофилогофмо метярмаяиама Неяствстванный материалам а искусства СтМчЫМ***В* Подчиненный отчет можно добавить простым перетаскиванием значке отчета из области переходов в главный отчет, открытый в режиме конструктора-
Вычисления в отчетах 431 Вычисления в отчетах В отчетах можно использовать поля» в которых выводятся результаты вычис- ления выражений» Это могут быть итоговые значения (сумма, среднее, счетчик и др.), результат объединения или обработки текстовых значений, результаты вычисления функций и условных выражений. Объединение и обработка текстовых значений Для объединения строк используется оператор слияния строк (знак «&»). Например, если создать новое поле и в ячейку его свойства Данные ввести вы- ражение: -[Имя] & " ’ & [Отчество] & * " & [Фамилия], то в отчете в этом поле будут отображены значения типа «Иван Иванович Ива- нов» (с пробелами). Некоторые текстовые поля в базе данных могут содержать пустые значения. Их простое объединение с помощью оператора слияния может привести к неже- лательным результатам, например, к появлению лишних пробелов. Для поиска пустых значений используют функцию ПГ(выражение; truepart; falsepart). Функция IIF() проверяет выражение и возвращает значение truepart, если вы- ражение верно, и faleepart — если нет. Например, такое выражение: -Ш([Имя] Is Null;[Инициалы]&" ’ & [Фамилия]; [Имя]& & [Отчество] &’ "& [Фамилия]) выводит значения типа «И.И. Иванов», если имя не указано, и типа «Иван Ива- нович Иванов» — если указано. Аналогичным образом можно объединит» данные для записи адреса, библиогра- фической ссылки и т.п. Выражения для объединения текстовых строк удобно созда- вать с помощью построителя. Если длинное выражение неудобно вводить в ячейку свойства Данные, то с помощью ее контекстного меню и команды Масштаб мож- но открыть окно Область ввода в котором работать значительно удобнее. Для обработки текстовых значений используют текстовые функции, подроб- ное описание которых можно найти в справочной системе программы Access. Например, функция Тпгп(стпрока) возвращает копию строки без пробелов: в начале строки (LTrim), в конце строки (RTrim), и в начале, и в конце строки (Trim). Функции Leftfcmpowa, длина) и Right(c трока, длина) возвращают нача- ло или конец строки заданной длины. Вычисление значений Выражения для вычисления значений также вводятся в ячейку свойства Данные поля. Например, для вычисления суммы (функция Sum) или среднего (функция Avg), поле с выражением нужно добавить: для группы записей — в заголовок или примечание группы; для всех записей — в заголовок или примечание отчета.
432 Глава 9 Отчеты Нельзя использовать имена вычисляемых полей В аргументах функций нельзя использовать имена вычисляемых элементов управ- ления. Следует повторять выражения, содержащиеся в этих элементах управления. Используйте возможности мастера Статистические значения удобно добавлять с помощью мастера отчетов. В диало- говом окне мастера, в котором задается порядок сортировки записей (рис. 9.40), щелкните кнопку Итоги. Появится диалоговое окно Итоги, в котором можно за- дать добавление полей для вычисления средних значений, суммы, определения ми- нимального и максимального значений, вычисления процентов, а также указать следует отображать данные и итоги или только итоги (рис. 9.41). Рис. 9.40 Щелкните кнопку Итоги, чтобы задать отображение итоговых полей Рис. 9.41 Выберите итоговые значения, которые следует вычислять для полей
Вычисления в отчетах 433 Частными случаями подсчета итоговых значений могут быть подсчет коли- чества записей в группе или во всем отчете, а также вычисление суммы с накоплением. В примере, приведенном в разделе «Поля с вычислениями» выше в этой гла- ве, было рассмотрено добавление счетчика номера записи в отчете Докумен- ты издательств. Если в отчете есть такое поле, можно подсчитать на его основе общее количество записей в группе (поле счетчика записей при этом можно скрыть). Для подсчета количества записей в группе,, добавьте в отчет новое поле в при- мечание группы, а в качестве значения его свойства Данные введите счетчик но- мера записи. Чтобы подсчитать общее количество записей, добавьте поле в раз- дел заголовка или примечания отчета, а в качестве значения его свойства Дан- ные введите выражение =Count() (см. рис. 9.42 справа). Функция Countf) специально предназначена для подсчета количества записей. На рис. 9.42 пока- зан отчет Документы по типам (его несложно создать с помощью мастера), в ко- тором подсчитывается количество документов каждого типа и суммарное количество документов в электронной библиотеке. Ф Документы по типам Тип Н*.ЙЙИ* Курс лекций,, ле кция Минна тюрмый м» ’’•риализм рамчныя ТСКСТ Отоппвуп L_________ Всего дмсумепов данного шпк i Монография Идеалистический материалам Материалистическое аскгрияпте действительности МШШШ f соарамениойматер** ншшнш — ______ ‘®«Р**ят тексте Qmm, t ниаплгнмр ^ZZU***m Бытовой материализм философии Гидаииа» фмОД<« шип Мвтерие в истории остестеонания Демографический mi те риализм НаастестданмыА материализм в искусстве Всего дожументоа данного тип» 13 Учебная программа Метод и событие в материализме Всего документов д анного типа, i Учебник Слово о материализм* i'W’JIW: »'—1 fi i Illi II II Hi I Ifl hi Политический мевриализм Г1^р-*аигпммс|офмвтердаАи2М- . . I i ! J 11 И II 111 i l 1И Всего документов данного типа: 4 Учебное пособие Мистический материализм { .4 *>одатрм*яспа^ннонмгг->едаи»ммнр« Ц f IlHi Материек «арамей йоместеижЫан пи Всего документов данного типас 4 й fl jjo; - • t/МШ Л •' И П Ш « I / Рис. 9.42 В отчете Документы по типам подсчитывается количество документов каждого типа и общее количество документов
434 Глава 9. Отчеты Чтобы рассчитывать сумму с накоплением, добавьте новое поле: в заголовок или примечание группы (для подсчета суммы с накоплением по каждой группе), в область данных (для подсчета суммы с накоплением по каждой записи). Для свойства Данные нового поля задайте значение, соответствующее накапливае- мой сумме, например, <=[Количество страниц]». Для свойства Сумма с накоп- лением задайте значение Для группы (если нужно сбрасывать сумму при пере- ходе к каждой новой группе) или Для всего (если сумма будет накапливаться до конца отчета). Снимки отчетов Снимок отчета — это специальный файл (SNP), содержащий точную копию страниц отчета Access. Он создается в программе Access и имеет небольшой раз- мер. Файл снимка отчета может просматриваться с помощью специальной про- граммы Microsoft Office Access Snapshot Viewer (рис. 9.43), входящей в стан- дартный набор средств Microsoft Office Access 2003 . С помощью этой програм- мы можно также распечатывать файлы снимков отчетов и пересылать их по электронной почте. .«ИГ ' Я <<«' оя Ди w Организации л. 1 II bl 1 Пр-ХВ'ОГГр Смимков. ВКХН »11D fey * К jpfu H**.OoCO*T ЯШШшшшшК ок 1 0 « U ННа Нммки* адос ко^р* innivHimwumu Москва, а/я 1313 По электронной почте автора 1 технопо -чеосий университет 2 1*ютмтут повышдея Модов, ata 1184 По э/яктронно почте кмпи^аи* !• I 4 3 Институт подготовки Липецкая4567 тел 098»78-34 кадров Москва, ая 1784 По электоонной почте автора illllll ; 5 Кафедре проблем интеграции ИПК 6 Академы ^дарственного контроля [“ дМ1 J3J •’ - Дня tnoasrti и шиит» РУ , \ '< Москва, afa 1784 По электронной почте автора, Киев, вгяЭДб Пс Ч1ектрснн^ точге итор в •нШ'ЩН ”'г"ъ,п‘тп'“п‘,'и »TJ Рис. 9.43 Снимок отчета Организации в окне программы Microsoft Office Access Snapshot Viewer (Просмор снимков) В стандартной поставке Microsoft Office 2007 на период написания этой книги аналогичной про- граммы не было.
Создание отчетов: проект электронной библиотеки 435 Чтобы создать снимок отчета в программе Access 2007: 1. В окне базы данных выделите имя отчета, для которого нужно создать снимок. 2. Откройте вкладку Внешние данные Ленты, а затем в разделе Экспорт щелкните кнопку Дополнительно и в раскрывшемся списке выберите ко- манду Средство просмотра снимков. Откроется диалоговое окно Экс- порт — Средство просмотра снимков. 3. Щелкните кнопку Обзор и в диалоговом окне Сохранение файла укажите имя и место расположения файла снимка, а затем щелкните кнопку Со- хранить, чтобы вернуться в окно Экспорт — Средство просмотра снимков. 4. Щелкните кнопку ОК, и снимок отчета будет создан и сохранен. Если нужно сохраните параметры экспорта в диалоговом окне Экспорт — Сред- ство просмотра снимков. В случае, если отчет основан на запросе с параметрами, Access перед созданием снимка отчета выдаст диалоговое окно ввода значений параметров. Создание отчетов: проект электронной библиотеки Отчеты, созданные в базе данных электронной библиотеки, могут быть от- крыты в режиме предварительного просмотра или сразу отправлены на печать. Действие, которые выполняются с отчетами, можно задавать с помощью кнопок третьей страницы кнопочной формы (см. раздел ♦Главная кнопочная форма: проект электронной библиотеки* и рис. 8.116 главы 8 «Формы»). И открытие отчета в режиме просмотра, и его печать можно настроить с помощью мастера кнопок (также можно отправить отчет по почте и сохранить его в файле, рис. 9.44). Рис. 9,44 Выберите дейс гвие, которое будет проводиться с отчетом при нажатии кнопки На рис. 9-45 показан один из вариантов третьей страницы главной кнопочной формы. Здесь в форму помещены кнопки для открытия в режиме просмотра (слева) и печати (справа) следующих отчетов» создание которых было рассмотрено в настоящей главе:
436 Глава 9. Отчеты Рис. 9.45 Третья страница кнопочной формы (форма Кнопочная форма 3) для работы с отчетами * Документы по типам, предназначенного для предоставления списка до- кументов, сгруппированного по их типам, и подсчета общего количества документов и документов каждого типа (см. раздел ♦Вычисление значе- ний*, а также рис. 9.42 выше в этой главе); Каталожные карточки,, предназначенного для формирования (и при не- обходимости распечатки) малоформатных «каталожных карточек» для всех документов электронной библиотеки (см. раздел «Мастер наклеек» и рис. 9,24 выше в этой главе); Документы издательству предназначенного для просмотра списка изда- тельств вместе с документами, которые были в них выпущены (кроме на- звания отображается год издания и авторский список документа) (см. раз- дел ♦ Мастер отчетов» и рис. 9.20 выше в этой главе); Документы организаций, предоставляющего вместе со списком организа- ций фамилии авторов, которые работают в каждой из них, и списки доку- ментов авторов, сгруппированные по типам (см. раздел «Создание подчи- ненного отчета» и рис. 9.39 выше в этой главе); Связи для Электронная библиотека 2007, предназначенного для просмот- ра (и при необходимости распечатки) схемы межтабличных связей элек- тронной библиотеки (этот отчет создается автоматически по нажатию кноп- ки Отчет по схеме данных на вкладке Конструктор (Работа со связями) Ленты); Страницы 5 авторов, предоставляющего список пяти наиболее «плодови- тых» авторов электронной библиотеки (см. раздел «Создание простого от- чета на основе таблицы или запроса» и рис. 9.13). Естественно, что в этой форме содержатся, может быть, не самые лучшие отче- ты, которые можно разработать для базы данных электронной библиотеки. Окон- чательный вариант будет зависеть от конкретных данных, способов работы с ними в электронной библиотеке и предпочтений разработчика и пользователей.
Глава 10 Макросы Для выполнения действий в базе данных могут использоваться: пользова- тельский интерфейс» макросы или программные модули. Открывая таблицы, запросы и другие объекты базы данных можно производить с данными любые изменения. Однако «вручную» (через интерфейс) даже в небольших базах дан- ных работать не так-то просто, часто это занимает много времени, а также не за- щищает от.случайных ошибок. Макросы и программные модули, написанные на языке Microsoft Visual Basic, значительно облегчают работу с базой данных, особенно тогда, когда необходимые действия часто повторяются или должны выполняться периодически. Кроме того, они могут обеспечить определенную логику работы пользователя и применения средств интерфейса базы данных. И макросы, и программные модули могут быть отдельными объектами базы данных, а могут быть внедрены в другие объекты базы данных (формы, отчеты) или в их элементы управления. Чтобы создавать макросы, не нужно быть «программистом» На языке Microsoft Visual Basic программы составляются в виде отдельных блоков, называемых модулями. Для создания и отладки модулей из базы данных Access за- пускается окно редактора Microsoft Visual Basic, и вся последующая работа ведется там. При выходе из редактора VBA вы получаете готовый «к употреблению» про- граммный модуль, который можете подключить к объекту или элементу управления. Макросы, по сравнению с модулями, имеют несколько ограниченные возможности. Но их значительно проще создавать и настраивать, особенно пользователям, незнакомым с работой в редакторе VBA. Макросы создаются или с помощью мас- тера, или в режиме конструктора, привычного для пользователя Access, где ему предоставляются списки, окна свойств и другие средства интерфейса программы Access 2007. Так же, как и модули, макросы можно подключать к объектом базы данных или элементам управления, содержащимся в них. Макросы состоят из макрокоманд (задающих конкретное действие, напри мер открытие формы или выделение записи), которые выполняются последова- тельно- Макрокоманды и их аргументы подробно описаны в справочной систе- мы Access.
438 Глава 10. Макросы В Access имеется средство автоматического преобразование макросов в моду- ли, которые выполняют эквивалентные действия. Возможно также запускать модули с помощью макросов. Создание макросов У макросов нет таких режимов, как например, в формах. Макрос можно или открыть в режиме конструктора (для его создания или редактирования) иди за- пустить на выполнение. Свободные и внедренные макросы Чтобы создать свободный макрос, который сохраняется как отдельный объ- ект базы данных, в разделе Другие вкладки Создание Ленты щелкните кнопку Макрос и в раскрывшемся св иске выберите команду с таким же названием. Пус- той макрос с формальным именем Макрос! будет открыт в режиме конструкто- ра (рис. 10.1). Рис. 10.1 Пустой бланк конструктора макроса После того, как вы зададите макрокоманды и их аргументы, и попытаетесь закрыть макрос или сохранить свою работу, появится окно сохранения, в кото- ром нужно будет задать его имя (рис. 1.2 справа). Дайте макросу описательное имя и щелкните кнопку ОК= После этого строка с именем макроса появится в со* ответствующей группе области переходов (рис. 1.2 слева). Этот макрос вы може- те подключать к объекту или элементу управления в объекте базы данных (и де- лать это столько раз, сколько вам будет нужно). Также вы можете запустить его на выполнение из области переходов. Рис. 10.2 Задайте макросу имя (справа), чтобы сохранить его в области переходов базы данных (слева) Модули Макросы 2 Свободный макрос
Создание макросов 439 Макрос «по имени» AutoExec Если свободному макросу дать имя AutoExec, он будет автоматически выполняться при открытии файла базы данных. Подробнее см, раздел «Макросы AutoExec и AutoKey» ниже в этой главе. Внедренный макрос создается «внутри объекта». Откройте объект базы дан- ных в режиме конструктора (или макета). Откройте окно свойств объекта или элемента управления и перейдите на вкладку События (рис. 10.3 слева). Выберите ячейку свойства, описывающего событие, которое будет запускать макрос, и щелкните в нем кнопку построителей («с многоточием»). Откроется диалоговое окно Построитель, где вы можете выбрать один из вариантов (рис. 10.3 справа): Макросы (для создания внедренного макроса), Выражения (для вызова построителя выражений) или Программы (для создания внедренного модуля в редакторе VBA). Рис. 10.3 Выберите в списке Макросы и щелкните кнопку ОК Диалоговое окно Построитель будет выводиться на экран в том случае, если в диалоговом окне Параметры Access, в разделе Конструкторы объектов, сброшен флажок Всегда использовать процедуры обработки событий. В противном случае для всех свойств сразу будет открываться редактор VBA. Выберите Макросы и щелкните кнопку ОК, чтобы открыть режим конструк- тора макроса (см. рис. 10.1). Создайте макрос и закройте его. Он будет сохранен вместе с объектом или элементом управления, а имя ему задавать не нужно. В диалоговом окне свойств появится надпись [Внедренный макрос] (рис. 10.4). свидетельствующая о том, что для данного события написан макрос, сохранен- ный в свойствах объекта. Из этой ячейки макрос следует открывать и для его редактирования. Здесь же его можно удалить.
440 Глава 10. Макросы Рис. 10.4 Для нажатия кнопки КнопкаО написан внедренный макрос Конструктор макросов Режим конструктора используется для создания, как свободных, так и вне- дренных макросов. Внешне окно конструктора макросов (см. рис. 10.1) напоми- нает окно конструктора таблиц. В его верхней части расположены строки для задания макрокоманд, а в нижней части — ячейки для ввода значений их аргу- ментов и справочное окно с подсказкой (для выделенных макрокоманд или их аргументов). В программе Access имеется большое количество макрокоманд. Все они содержат- ся в списке, который открывается с помощью кнопки «с галочкой», появляющейся в выделенной ячейке столбца Макрокоманда. Подробную справку о макроко- манде (а также о ее аргументах) можно получить, если нажать клавишу F1, предва- рительно установив курсор в интересующую васячейку. При вызове окна конструктора макросов на Ленте отображается вкладка Конструктор (Работа с макросами) (рис. 10.5), средства которой позволяют вы- полнять следующие действия (слева направо); Конструктор Рис. 10.5 Вкладка Конструктор (Работа с макросами) Ленты Кнопка Выполнить запускает макрос. После выполнения режим конструк- тора макроса не закрывается. Можете использовать эту кнопку для провер- ки работы макроса в процессе его создания. Кнопка По шагам предназначена для включения пошагового режима вы- полнения макроса, предназначенного для его отладки и поиска отпибок.
Создание макросов 441 Кнопка Построитель вызывает построитель выражений, который можно использовать, например, для задания в api ументах макрокоманды условий отбора. Кнопки Вставить строки и Удалить строки предназначены для вставки или удаления строк макрокоманд в бланке конструктора. Кнопка Показать все действия переключает содержимое раскрывающего- ся списка в столбце Макрокоманда между полным набором команд и набо- ром команп, которые разрешены в ненадежных базах данных. Кнопка Имена макросов выводит (или скрывает) столбец для задания имен макросов в окне конструктора макросов. Кнопка Условия вывод ит (или скрывает) столбец условий в окне конструк- тора макросов. Отображение столбцов Имя макроса и Условие для вновь создаваемых макро сов определяется параметрами столбец имин и столбец условий значение ко- торых устанавливается в окне Параметры Access 'раздел Дополнительно секция Вывод на экран) (рис. 10.6). Рис. 10.6 Секция Вывод на экран раздела Дополнительно диалогового окна Параметры Access Кнопка Аргументы выводит (или скрывает) столбец аргументов. В этом столбце перечисляются все аргументы макрокоманды, но изменить их здесь нельзя. Для изменения аргументов используют раздел Аргументы макрокоманды в нижней части окна конструктора макросов. Кнопка Сохранить как позволяет сохранить макрос под заданным именем. Эта кнопка отображается при работе с внедренными макросами. С ее помо- щью вы можете сохранит ь внедренный макрос кап с воболный (при этом со- хранить его привязку к событию в объекте или элементе управления) По1 еле этого кнопка Сохран ить как «исчезнет» со вкладки Ленты Кнопка Закрыть закрывает окно конструктора макросов.
442 Глава 10. Макросы В режиме конструктора можно создать макрос для выполнения одной или не скольких последовательных макрокоманд или группу макросов для выполне- ния набора (обычно взаимосвязанных) макрокоманд. Один макрос может содержать до 999макрокоманд Условие для выполнения мак- рокоманды может быть записано выражением, состоящим из 255 знаков. Аргумен- ты макрокоманды и комментарии также могут содержать до 255 знаков. Выполнение команд с помощью макроса Для выполнения команд в макросах используется специальная макрокоманда Вы- полнитьКоманду которая имеет единственный аргумент — название команды, которую нужно выполнить. Например, для выделения первой записи открытой таб- лицы используется аргумент ЗаписиПервая, а для ее удаления — УдалитъЗа- пись. Последовательность из двух макрокоманд ВыполнитьКоманду с этими аргументами удалит первую запись открытой таблицы Макрос с проверкой условия В качестве примера макроса с проверкой условий рассмотрим процедуру соз- дания внедренного макроса, запускающего фильтр в форме Поиск по авто рам с фильтром. Фильтр будет запускаться при щелчке на одной из кнопок эле- мента управления Группа переключателей, и отбирать в форме записи соответ - ствующие определенному диапазону начальных букв фамилий авторов. Фирма Поиск по авторам с фильтром может быть создана копированием в области переходов формы Поиск по авторам (см, раздел «Создание формы с вложенными подчиненными формами» и рис. 8.97 главы 8 «Формы»). Сделайте следз ющее: 1. С копируйте форму Поиск по авторам в буфер обмена с помощью команды контекстного меню. Вставьте форму из буфера обмена с помощью коман- ды контекстного меню и переименуйте ее в Поиск по авторам с фильт- ром. 2. Откройте ферму Поиск по авторам с фильтром в режиме конструктора и добавьте в примечание главной формы элемент управления Группа пе- реключателей (проследите, чтобы при этом на Ленте была «включена» кнопка Использовать мастера). 3 Когда вы щелкните в форме «заряженным» указателем, на экране появит- ся диалоговое окно мастера Создание группы переключателей (рис. 10.7). Задайте в нем подпись для каждого переключателя. Так как список авто- ров в электронной библиотеке пока еще небольшой, выберите, например, пять диапазонов для начальных букв фамилий (а также переключатель для отменыфилы ра с подписью Все): «А-Д», «Е К», «Л П», «Р-Х», «Ц-Я» и «Все». Внесите их в список Подписи (рис- 10.8). Щелки ите кнопку Да- лее. 4. В следующем диалоговом окне мастера в качестве переключателя, исполь- зуемого по умолчанию, выберите Все. Щелкните кнопку Далее.
Создание макросов 443 Рис. 10.7 Добавьте в примечание формы Поиск по авторам с фильтром элемент управления Группа переключателей Рис. 10.8 Подписи для диапазонов фильтрации фамилий авторов по начальным буквам 5. Задайте значения каж тому переключателю или оставьте значения после- довательных чисел, присваиваемых по умолчанию, без изменения (рис. 10.9). Щелкните кнопку Дале*1 6. В следующем диалоговом окне необходимо указать, как будет использова- но выбранное значение группы переключателей. Так как оно будет пере- дано в макрос для применения фильтра, выберите параметр Сохранить значение для дальнейшего применения. Щелкните кнопку Далее. 7. Выберите тип элементов управления (рис. 10.10): переключатели, флаж- ки или выключатели, а также задайте оформление группы: вдавленное, обычное, приподнятое, с т*»нью или утопленное- Щелкните кнопку Да- лее.
444 Глава 10. Макросы Рис. 10 9 Задайте значение для каждого переключателя или оставьте значения, заданные по умолчанию Рис. 10.10 Выберите тип элементов управления и их оформление 8 Введите подпись для группы переключателей» например, «Фильтр по пер- вой букве фамилии авторов». Щелкните кнопку Готово (рис. 10.11). Рис. Ю-11 Введите подпись для i руппы переключателей 9. Отредактируйте и измените конфигурацию группы переключателей, если это необходимо. Добавленный элемент управления в форме может вы1 ля* деть примерно так, как показано на рис, 10.12.
Создание макросов 445 Рис. 10.12 Групг.а переключателей в примечании формь Поиск по ачтооам с филь гром Фильтр по первой букве фамилии автора Рад О ек Олп О р-х Оця ©все 10. Откройте окно свойств гриппы переключателей, выведите на передний план вкладку События. Рядом с ячейкой свойства После обновления щелкните кнопку пост роителей («с многоточием »). В диалоговом окне По- строитель выберите Макросы и щелкните ОК. 11. Появятся пустой бланк конструктора для внедренного макроса. В окне конструктора в одну из первых строк столбца Условие введите условное выражение: [Группа12]=1 (Группа12 — это имя добавленного в форму элемента управления типа «группа переключателей». его вы можете уви- деть в заголовке окна свойств или найти в его ячейке Имя ча вкладк" Дру- гие, вы можете также задать группе переключателей другое имя). Если его значение равно единице, то это означает, что активен первый переклю- чатель, соответствующий (как было задано в окне мастера) диапазону пер- вых букв фамилий от А до Д. Для создания выражения можно воспользоваться построителем выражений, вызвав его для ячейки Условие командой Построить контекстного меню- 12. В следующем столбце той же строки выверит е из списка макрокоманду ПрименитьФильтр. В нижней части окна в качестве ее аргумента введите условие отбора: [Фамилия] Like ”[А-Д]*" (рис. 10.13). Добавьте, если хо- тите, поясняющий текст в столбец Примечание. Рис. 10.13 Задайте условия, макрокоманды и их апгументы ПрименитьФильтр Поймем итьФильтр ПоказятьВсеЗаписи [Группа12]-4 [Группа12]=5 [Группе!?] 6 ? [Группа12]х1_ ПрименитьФильтр |Грулпа12]-2 ПрименитьФильтр [Группа!2]=3 ПрименитьФильтр макрокоманда Аргументы Примем низ [Фамилия] икеи[А-Д]' Аргументы макрокоманды Им» фильтра Условие отбора ке [Д-Д* Имя элемент* Столбец ДЛЯ ЗШИНЯусловных ПфУЖСНМН. Чтобы ноименить жлови» Ml лредыдуии'й tTpora, введите мне^оюмме (.. J 13. Аналогичным образом заполните последующие четыре строки макроко- манд макроса. В шестой строке макроса, для значения элемента у"раз.те- нин [Группа12]-6, выберите из списка макрокоманду ПоказатьВсеЗапи- СИ, отменяющую фИЛЬТр.
446 Глава 10. Макросы Как работает этот макрос? Так как макрос был внедрен в ячейку свойства события После обновления, го он «запустится» тогда, когда положение переключателей в форме будет изменено. Макрос выполняется последовательно Если было установлено какое-то новое зна- чение переключателей например. [Группа 12]=3, то первые два условия в столб- це Условие дадут значение ЛОЖЬ и соответствующие им макрокоманды будут пропущены. Третье условное выражение получит значение ИСТИНА, и его макро- команда выберет в форме фамилии авторов от «Л*» до «П*». Следующие три мак- рокоманды также не будут выполняться, так как их условные выражения дадут зна- чения ЛОЖЬ. 14 Закройте окно конструктора макросов, сохранив сделанные вами измене- ния Перейдите к форме и проверьте ее работу (рис. 10.14). Обратите вни мание на надпись «С фильтром», которая появляется в панели кнопок пе- рехода по записям. ... -- ~ I Автор Чернышев Поиск по авторам ||Николвевиу |Семен Электронная карточка «Февралязон., К> документа: 12 I Названием Материальный мир Перейти: Переход и источнику Авторы: Копылов И.Ф., Кудрявцев А.м., Чернышев С.Н. Открыть. с I Тип: Учебное пособие Комментарий* Страница 314 Нет Редакторы: Никифоров В.Н Фролова Г.П. Язык: английский Издательство: Мл РИО ипк Год издания 1000 Залиш Н niw3 >1Г | Чк.Щ-1 ”оиа Фильтр по первом букле фамилии автора |Од д О f х О ЯП О Р-Х ®[Ц Я Все Запись. < 1 и Г ..^фиими^, . (]< L-----------—.................................» Рис. 10.14 В диапазоне фамилий от Ц* до Я* имеется два автора (см. панель перехода внизу), отображается один из документов Чернышева (всего у него три документа. см. верхнюю панель перехода по записям)
Создание макросов 447 «Лишние» авторы Если в ваших таблицах еще не удалены «лишние» тчторы (для которых нет ни одно- 1 го документа) то они будут отображаться в верхней части формы, а «электронная карточка» для них будет пуста. Группа макросов Объединение макросов в группы, прежде всего, «организует* их, а значит, упрощает их применение (и управление с их помощью базой данных) Можно, например, создать группу макросов Кнопки, в которой собрать все макросы, связанные с кнопками определенной формы. Затем, когда понадобится сделать какие-либо изменения в кнопках, вы сможете обратиться к группе, а не искать каждый макрос, который связан с какой-нибудь кнопкой. В окне конструктора макросов первый столбец Имя макроса определяет мак- рос внутри группы (для отдельного макроса этот столбец должен быть пуст). При запуске макроса, входящего в группу, выполняется первая макрокоманда в строке с его именем, а также все следующие макрокоманды, для которых в столбце Имя макроса ничего не указано. Как только появляется «заполнен- ный» столбец Имя, выполнение макроса прекращается (т.е. это означает, что достигнут конец макроса, входящего в группу). Для запуска макроса из группы макросов указывают сначала имя группы, а затем (через точку) имя макроса, например, Кнопки.ОК. В разделе «Добавление к форме разрыва страниц* главы 8 «Формы» была рассмотрена процедура создания формы Электронная карточка (две. страна цы), в которой переход между страницами формы осуществлялся нажатием кнопок, запускающих свободный макрос Переход по страницам. На самом деле, в нем хранится группа из двух макросов: Переход по страницам.ко вто- рой странице и Переход по страницам.к первой странице. Ниже подробно рассмотрено их создание, а также работа. 1. Откройте фирму Электронная карточка (две страницы), в которую до- бавлены две «незадействованные» кнопки. 2. В разделе Другие вкладки Создание Ленты щелкните кнопку Макрос и выберите команду Макрос, чтобы открыть пустой бланк конструктора макросов. 3. Щелкните на вкладке Конструктор (Работа с макросами) Ленты кнопку Имена макросов, чтобы отобразить столбец Имя макроса (если этот стол- бец не о гображался). Скройте столбец Условие, щелкнув одноименную кнопку на Ленте (если он до э^ого отображался). 4. В первой строке столбца Имя макроса введите значение ко второй стра нице. а в следующей строке — к первой странице. Добавьте, если хотите, примечания в ячейки столбца Примечание (рис. 10.15). 4 Имя макрос? Макрокоманда - Примечание [_,ка второй странице Переход ко второй страницы текушейформы. । | к первой странице Переход к первой страницы текущей формы Рис. 10.15 Введите названия макросов в группе, а также примечания
448 Глава 10. Макросы 5. Задайте макрокоманды. От кройте список макрокоманд в первой строке столбца Макрокоманда и выберите в нем с гроку НаСтраяицу а в аргумен- те Номер страницы внизу задайте значение 2. Введите аналогичную мак- рокоманду во вторую строку, и аргумент для нее — 1 (рис. 10 16). Рис. 10.16 Задайте макрокоманды и значения их аргументов У макрокоманды НаСтраницу есть еще два аргумента, которые отсчитывают сле- дующую страницу объекта от его левого или верхнего края (в см). Если задавать страницу перехода таким образом, то в аргументе Номер страницы ничего за- давать не следует, но нужно указать значения для обоих свойств: От левого края । и От верхнего края 6. Сохраните группу макросов, выбрав в контекстном меню ярлыка команду Сохранить. Задайте ей и мя Переход по страницам 7. Откройте окно свойств первой кнопки в примечании формы Электрон ная карточка (две страницы ). Перейдите на вкладку События и открой- те список в ячейке свойства Нажатие кнопки. Выберите из него макрос Переход по страницам.ко второй странице (рис. 10 17), Проделайте то же самое для второй кнопки формы, выбрав из списка макрос Пере ход по странииам.к первой странице. 8. Перейдите в режим формы и проверьте работу кнопок.
Создание макросов 449 Рис 10.17 Подключите макрос Переход по страницам ко второй странице к событию Нажатие кнопки для кнопки с названием «Ко второй странице» г_ Ко сторон странице > [Г.ОкНр гьонсгв БозыоЖ** ИЫбрр: H.rtoniU |КнопкаЗВ I сжатие гюпкн мучение фикуса Потеря фокуса Двойное нажатие кнопки Кнопка вниз Кнопка вверх Перемещение указателя : Клав «чиа вниз . Клавиша вверх Нажэтие клавиши В»од I ‘Выход [Процедур* обработки событии] Макрос м кнопки кнопочной фермы Обновление авторских списков Переход по страницам Переход по страницам.к первой странице Задание значений свойств с помощью макроса Чтобы задать значение свойства в ответ на событие, например, Нажатие кнопки, следует включить в макрос макрокоманду ЗадатьСвойсгво. В разделе «Мастер наклеек» главы 9 «Отчеты» было описано создание отчета Каталожные карточки. Эти карточки можно вывести на печать и создать из них что-то «типа каталога» электронной библиотеки. Естественно, удобно, когда такие распечатки будут иметь линии разреза, задающие строго одинаковый размер всех карточек. Линии разреза в макете отчета могут быть «изготовлены» путем добавления в него элемента управления Прямоугольник. Значение свойства Вывод на экран (Да или Нет) этого элемента и будет определять, отображаются или нет линии разреза. Скопируйте отчет Каталожные карточки, дайте новому отчету имя Ката ложные карточки с линиями разреза. Откройте щ вый отчет в режиме конст- руктора и добавьте в него прямоугольник с помощью кнопки Ленты (рис. 10.1Ъ). Рис. 10.18 В отчет Каталожные карточки с линиями разоеза был добавлен элемент управления Прямоугольник 15 Асеев» 2007 П документа f Втмбжви выбор Прямоугольник [[ПряыоугдлычихЮ Дриуэ свойств < шыммч разреза Я Вывод на экран Ширима Высоте От верхнего края От левого края [Тип фона Цвет фена I Тнпграницы Ширина границы Цвет границы i Оформление : Стиль линий сетки сверху [7,249см 4.’35см [о,106см ,0,106 см Прозрачный •FFFFFF /Сплошная 11 пункт______ _ ]Т«кст описания ] обычно** '.Отсутствуй
450 Глава 10. Макросы Для отображения и скрытия линий разреза можно использозатъ форму, на- строенную как модальное диалоговое окно, открывающуюся поверх отчета Ка таложные карточки с линиями разреза. Все управление можно построить на основе внедренных макросов. Сделайте следующее: 1. Создайте модальное диалоговое окно Линии разреза модальное окно, для чего в разделе Формы вкладки Создание Ленты щелкните кнопку Другие формы и выберите в открывшемся меню команду Модальное диалоговое окно. Удалите из него кнопку Отмена, которая создается автоматически. Вставьте две кнопки, не настраивая их с помощью мастера (нажмите кнопку Отмена в первом диалоговом окне мастера). Добавьте в форму по- ясняющую надпись, заголовок и эмблему. Отформатируйте элементы управления в соответствии со своими вкусами или потребностями. То, что у вас может получиться, показано на рис. 10.19. Рис. 10.19 Форма Линии разреза модальное окно, которая будет управлять отображением линий разреза на карточках мстеря* • с «кр» именам »о<ое лососье 3 Линии разреза модальной окис Линии разреза на карточках, Отчет может быть с линиями разрезу и без них. Щелкните соответствующую кнопку, а затем закройте это окно, щелкнув кнопку ОК. [Удалить линии разрез? [ Добавить линии разреза ОК лггтбуе 1ОЮ во» TEESKH--------- яемэзифм XX rod U • ООО ’Яи-аиЛвс? "ГЬръГ «мрмммкИ маарам М JMMMWМ>. купж* ИЛ g?g МОЗ иэмсшиаи* Штдрштюм Авт» сю а. пурн пл ЬЬнсеро&ия ЭМЗМ* аш ’MjOMVBottf еои аг* 2 Чтобы форма Линии разреза модальное окно открывалась поверх отчета Каталожные карточки с линиями разреза (см. рис 10 19), откройте окно свойств отчета и перейдите на вкладку События. Щелкните ячейку собы- тия Открытие Перейдя в окно конструктора макросов, внесите во вне- дренный макрос единственную макрокоманду ОткрытьФорму, а в каче- стве ее аргумента задайте имя формы Линии разреза модальное окно. Со- храните отчет Каталожные карточки с линиями разреза.
Создание макросов 451 3. Перейдите в режим конструктора для формы Линии разреза модаль- ное окно, открыв его из области переходов. Откройте окно свойств для кнопки, которая называется «Удалить линии разреза». Перейдите на вкладку События. Откройте бланк конструктора макросов для свойст- ва Нажатие кнопки. 4. Заполните бланк в соответствии с таблицей 10.1. Таблица 10.1 Параметры макроса кнопки «Удалить линии разреза» Макрокоманда Аргументы Примечание ВыделитьОбъект Тип объекта: Отчет Имя объекта: Каталожные карточки с линиями разреза В окне базы данных: Нет Перед тем как сделать изменения в от- чете, его необходимо выделить, так как фокус находится в форме. ЗадатьСвойство • Имя элемента: Прямоугольник I0 Свойство: Видно Значение: 0 Прямоугольник 10 — имя задан- ное программой Access. У вас прямо- угольник может иметь другое имя. Свойство выбирается из списка. Зна- чение 0 свойства Видно соответству- ет Нет, о 1 - Да. 5. Закройте окно конструктора макросов, сохранив сделанные вами на- стройки в ответ на запрос программы. 6. Проделайте то же самое с кнопкой, которая называется «Добавить линии разреза». Единственное отличие макроса этой кнопки состоит в аргументе Значение макрокоманды ЗадатьСвойство, который должен быть установ- лен в «1». 7. Закройте и сохраните форму Линии разреза модальное окно, 8. Проверьте работу формы и отчета. При открытии отчета поверх него должно появляться окно диалога (см. рис. 10.19). Если щелкнуть кнопку «Удалить линии разреза», они исчезнут из отчета, расположенного под формой (рис. 10.20). Если щелкнуть кнопку «Добавить линии разреза*, они появятся вновь. «Избавиться» от диалогового окна можно, щелкнув кнопку ОК. Задание условий отбора с помощью модальной всплывающей формы и мак- роса, открывающего форму с фильтром (см. рис. 8.113 и 8.114) рассмотрено в разделе «Создание всплывающих форм» главы 8 «Формы». Макросы AutoExec и AutoKey В Access есть два зарезервированных имени для макросов: AutoExec и AutoKey. Их макрокоманды выполняются автоматически. Макрокоманды макроса AutoExec выполняются при открытии базы данных, а в группе макро- сов AutoKeys сохраняются сочетания клавиш, нажав которые можно выполнить определенные макрокоманды.
452 Рис. 10.20 Линии разреза удалены из отчета Глава 1Э. Макросы В*ад*н» * цмпоаиршо —г»р—жам ллтеры ПИМЫ. г&насекк ими® МЖСЦЯф» 2Я№»# U О ОС &HW4>«C’ *Ит«ркя a i jcp«M»H*KM мг«стоомаяаи Литсюл ДржшРИ >»7мдтяЛ ywooe лосоае ас «а м 'Эюмсмлкажм*' ЕН Линии разреза модальное окно * Линии разреза на карточках Отчет может быть с линиями разреза и без них. Щелкните соответствующую кнопку, а затем закроите это окно, щелкнув кнопку ОК. Удалить лмни^раврсза Добавить линии разреза ОК j—— У<Ос* яэсоаие га»< 'МГапааорпАОсшАПГ wwownr3@egt3t Мо«сфаф/« ЮЗ) го» *4 ООС ЪгО^-ПрсСС тори" амтерм АвЯся* WlHtflf ДУ. ип у Од исио4^«аж<> ы Эеисш1«4/ш*' (Мгярмлвси Aanqpa Амкянвл ПоамаЛЛ мделмаш л®*®* Клг HMMiarMowfeawATJC Макрос AutoExec создается, как и любой другой макрос базы данных в режи- ме конструктора. А от всех других макросов он отличается только именем. Мож- но просто переименовать какой-либо макрос в AutoExec, чтобы он запускался при открытии базы данных. Как «обойти» макрос AutoExec? Чтобы открыть базу данных, не выполняя макрос AutoExec, удерживайте нажатой клавишу Shift В макрос AutoExec электронной библиотеки можно поместить, например, макрокоманды для обновления таблицы Авторские списки (рис. 10.21). В макросе, показанном на рис. 10.21, содержатся несколько макрокоманд. С их помощью сначала открывается таблица Авторские списки. Затем в ней вы деляются и удаляются все записи. Затем запускается запрос на добавление запи- сей из запроса Карточка (все данные). Этот запрос имеет имя Заполнение таб- лицы Авторские списки. На первый взгляд, может показаться, что лучше удалить таблицу Авторские списки, а затем создать ее вновь. Но этого делать не следует, так как вместе с таблицей бу- дут удалены и ее связи, которые будут потеряны после создания новой таблицы. А очистить таблицу необходимо, так как я противном случае в ней появятся повто- ряющиеся записи.
Создание макросов 453 Отмрытътеблицу Выполмитыкоманду ВыполнитьКоманду I а в* в а » а а . аАЛ«^4А4Дд* «BAibHi ХАЖЛ П<***чаы-^ Открытие таблицы Авторские списки Выделение всех мписей таблицы Авторские списки. Удаление выделенных мписей таблицы Авторские списки. Структура и сяяви таблицы сохраняются. £ ргкрьг ьЭяпрос [м]Выполнение нпросл на добавление мпмеей а таблицу на мпроса Карточка (все данные). Закрыта Заиоытме таблицы Авторские списки с обновленными данными. ------,-----..------------------_------------.----------- ДО млрафа таалицы Аяте роси* списки ₽*жнм ЯгХИНЛЫПНЫ удо«емни« Оядцггм» ипроса м мННдо или пг{»1в«он«го’Нлр4<а »w wi^KWipeza на юыснмдо флусом6» >ЫиЦ м4«еддо до тймици ИЛИfWKMdlpa. Дад (Лрами КОФит* 141 •и;,;;:;;.-; . 'У < ~ у? У У У f < > £ t-e • а J > i-^rs-t^T — *-r-r л- Й-д^ Рис. 10.21 Макрос AutoExec будет выполнен при открытии базы данных При выполнении макрокоманд удаления и добавления записей программа Access будет выводить предупреждающие сообщения об ответственности этих действий и невозможности их отмены после выполнения. Естественно, это будет «тормозить» выполнение макроса. Чтобы отменить вывод этих предупреждаю- щих сообщений, откройте диалоговое окно Параметры Access, перейдите в раз- дел Дополнительно, а затем снимите флажки для параметров Подтверждение: изменения записей и Подтверждение: запросов на изменение в секции Редактирование (рис. 10.22). Рис. 10.22 Отмените вывод предупреждающих сообщений
454 Глава 10. Макросы Отключение предупреждающих сообщений из макроса С помощью макрокоманды УстановитьСообщения можно временно отключить вывод предупреждающих сообщений на время выполнения макроса. Повторным выполнением этой же макрокоманды можно снова включить вывод сообщений. В группе макросов AutoKeys задаются имена макросов, одновременно являю- щиеся сочетаниями клавиш (в ячейках столбца Имя макроса), и макрокоман- ды, которые выполняются при их нажатии (рис. 10.23). Действие клавиш нач и- нается сразу после сохранения AutoKeys. yeQweMJw макрокоманды ...................... ♦Обновление авто,' ским списку Введите или выберите мпускдедой макрос. Слисок содержит в** макросы 6aw данный- Чтобы заметить макрос из группы, введите ИмяГ’эуппы.ИмяМакрсхА Обязательный аргумент, ДдднЫмгтгН.' ЗапускМа краса ГЛ — к ЗакрытьБазуДанных у j Обновление авторских списков путем запуска макросе. Закрытие базы данных г1ыя ыакрри Чщло повторов Условие повтора • Ш Рис. 10.23 Группа макросов AutoKeys Сочетания клавиш задаются в соответствии с синтаксисом инструкции SendKeys Visual Basic. Например, знак «Л» кодирует клавишу Ctrl в сочетаниях клавиш, а «+» — Shift (подробнее см. справочную систему программы Access) Выполнение макросов Выполнить макрос можно несколькими способами: из области переходов (двойным щелчком или через команду контекстного меню), с помощью кнопки Выполнить макрос раздела Макрос вкладки Работа с базами данных Ленты, из режима конструктора макросов (на вкладке Конструктор (Работа с макросами) Ленты есть кнопка Выполнить), из другого макроса (макрокоманда ЗапускМак- роса), а также в ответ на событие в форме, отчете или элементе управления. События Событие обычно возникает при действиях пользователя. В Access выделяется целый ряд событий: нажатие кнопки мыши, двойное нажатие, изменение данных, откоы- тие или закрытие форм, отчетов, получение или потеря фокуса элементом управле- ния, перемещение указателя и т.д. Мокросы и процедуры обработки событий по- зволяют задать отдельный отклик на каждое из них.
Отладка макросов 455 Чтобы запустить макрос из группы макросов» щелкните кнопку Выполнить макрос в разделе Макрос вкладки Работа с базами данных Ленты. Откроется диа- логовое окно Запуск макроса (рис. 10.24). Откройте в нем список Имя макроса и выделите макрос, который следует запустить. Затем щелкните кнопку ОК. Рис. 10.24 Выберите макрос, который нужно запустить, из группы макросов ШкрОСи! А AutoExet 22 AutoXeyi Z2 Обновление лггорсмик слмгкаа Отладка макросов Макрос, как и любая программа, не всегда сразу начинает правильно рабо- тать. Возможно, что только что написанный вами макрос придется не только проверить, но и исправить. Для отладки макросов предназначен пошаговый ре- жим их выполнения. Он позволяет проследить передачу у правления и результа- ты выполнения каждой макрокоманды, входящей в макрос. Если Access выдает сообщение об ошибке при выполнении макроса, то в пошаговом режиме вы сможете конкретно увидеть, какая макрокоманда его вызывает. Чтобы включить пошаговый режим выполнения макросов, щелкните кноп- ку По шагам в разделе Сервис вкладки Конструктор (Работа с макросами) Лен- ты, Кнопка По шагам «зафиксируется». После этого любой вариант выполне- ния макросов будет производиться в пошаговом режиме. Чтобы сбросить поша- говый режим, нужно еще раз щелкнуть кнопку По шагам на Ленте. При выполнении каждой макрокоманды в пошаговом режиме Access выво- дит диалоговое окно Пошаговое исполнение макроса (рис. 10,25). В полях этого диалогового окна отображается следующая информация: поле Имя макроса отображает имя выполняемого макроса; поле Условие отображает текущее условие для активного макроса, если оно имеется, и результат его выполнения; поле Макрокоманда отображает имя текущей макрокоманды в активном макросе; поле Аргументы отображает список аргументов текущей макрокоманды в активном макросе, если они имеются.
456 Глава 10. Макросы Рис. 10.25 Диалоговое окно Пошаговое исполнение макроса >» I Если щелкнуть кнопку Шаг в диалоговом окне Пошаговое исполнение мак- роса, будет выполнена отображенная макрокоманда, после чего, если не возник- нет ошибки, будет отображена следующая макрокоманда. Кнопка Остановить все макросы приводит к остановке выполнения макроса и закрытию диалогово- го окна Пошаговое исполнение макроса. Кнопка Продолжить предназначена для выключения пошагового режима, и выполнения оставшейся части макроса без задержки. Остановка макроса Иногда бывает нужно прервать выполнение макроса. Чтобы это сделать и сразу пе- рейти в пошаговый режим, нажмите сочетание клавиш Ctrl+Break, Также при отладке бывает полезно временно пропустить макрокоманду, не удаляя ее из макроса. Для этого можно в столбец Условие ввести значение ЛОЖЬ. Макрокоманда будет отображаться в окне пошагового исполнения, но выполняться не будет. Преобразование макросов в процедуры Visual Basic В Access есть средства для автоматического преобразования макросов в экви- валентные процедуры или модули Visual Basic. Могут быть преобразованы как свободные, не связанные с конкретным объектом, так и внедренные макросы. Чтобы преобразовать макросы, внедренные в отчет или форму, откройте объ- ект в режиме конструктора, а затем в разделе Макрос вкладки Работа с базами данных Ленты щелкните кнопку Преобразовать макросы формы или Преобра- зовать макросы отчета. Появится маленькое диалоговое окно с двумя парамет- рами (Добавить программу обработки ошибок и Добавить примечания макро- сов), которые следует установить или отменить, а затем щелкнуть кнопку Пре- образовать. Из макросов, связанных с формой или отчетом, будут созданы внедренные процедуры Visual Basic. Связь в свойствах объектов будет переклю- чена от макросов на процедуры. Процедуры, в общем случае, работают быстрее. Проверьте работу формы или отчета после преобразования.
Уровни безопасности макросов 457 Полученные из свободных макросов процедуры сохраняются в списке моду- лей базы данных в области переходов. Для преобразования макросов в модули базы данных: 1. В области переходов выделите макрос, который следует преобразовать. 2. В меню кнопки «Office* выберите команду Сохранить как | Сохранить объект как (можно также в разделе Макросы вкладки Работа с базами данных Ленты щелкнуть кнопку Преобразовать макросы). 3. Появится диалоговое окно Сохранение, в котором из списка в нижнем поле выберите Модуль и щелкните кнопку ОК. 4. Появится диалоговое окно Преобразование макроса: Имя макроса с дву- мя параметрами (Добавить программу обработки ошибок и Добавить при- мечания макросов), которые следует установить или отменить. Щелкни- те в нем кнопку Преобразовать. 5. В списке базы данных появится модуль, преобразованный из макроса (рис. 10.26). Sub/UserForm меню Run, Окно редактора Visual Basic откроется, если вы в об- ласти переходов Access дважды щелкните строку с именем модуля. Модуль можно запустить с помощью макрокоманды В Access есть макрокоманды ЗапускПрограммы, которая выполняет модуль, и ОткрытъМодуль, которая открывает модуль в редакторе Visual Basic. Уровни безопасности макросов В Access 2007 имеется ряд настроек, обеспечивающих безопасность компью- тера при работе с любыми базами данных. Это касается использования только надежных источников и мест расположения файлов, подписанных надстроек и макросов, отображения текущей ситуации в панели сообщений программы, ведения журнала безопасности и т.д.
458 Глава 10. Макросы Макровирусы В полученных из ненадежных источников макросах, в кодах программ Visual Basic, в формах и отчетах, в запросах на изменение и др. могут содержаться макровиру- сы. Проверить «чужие» объекты на отсутствие макровирусов можно с помощью ан- тивирусного программного обеспечения. Чтобы настроить безопасность применения макросов: 1. Откройте диалоговое окно Параметры Access одноименной кнопкой из меню кнопки «Office». Перейдите в раздел Центр управления безопас- ностью (рис. 10.27), щелкнув его названия в списке слева. Рис. 10.27 Раздел Центр управления безопасностью диалогового окна Параметры Access 2. В нижней части раздела Центр управления безопасностью щелкните кнопку Параметры центра управления безопасностью, чтобы перейти к его настройкам. Откроется диалоговое окно Центр управления безопас- ностью, которое по своей структуре «копирует» диалоговое окно настроек Параметры Access. 3. В окне Центр управления безопасностью перейдите в раздел Параметры макросов, щелкнув его название в списке слева (рис- 10.28). Здесь вы мо- жете настроить «отношение» программы Access к макросам, которые со- держатся в документах, открытых из ненадежных источников.
Уровни безопасности макросов 459 Рис. 10.28 Параметры макросов Центра управления безопасностью программы Access 4. Выберите один из следующих вариантов, установив переключатель в соот- ветствующее положение: Отключить все макросы без уведомления. Макросы из ненадежных мест расположения файлов будут отключены. Отключить все макросы с уведомлением. Макросы из ненадежных мест расположения файлов будут отключены. Об этом будет отображаться предупреждение в панели сообщений. Отключить все макросы, кроме макросов с цифровой подписью. Из не- надежных мест расположения будут работать только те макросы, кото- рые имеют цифровую подпись (т.е. относятся к надежным издателям). При открытии файла с подписанным макросом цифровая подпись появляется в виде цифрового сертификата, в котором указаны сведения о подлинности и надежности источника. Если у вас эти сведения вызывают доверие, можно добавить разработ- чика в список надежных издателей, чтобы использовать его программы в дальней- шем без проверки. Включить все макросы (не рекомендуется, возможен запуск опасной программы). Все макросы, независимо от места расположения файла и наличия цифровой подписи, будут включены. Списки надежных издателей и надежных расположений вы можете вести в разделах Надежные издатели и Надежные расположения диалогового окна Центр управления безопасностью (рис. 10.29К Программа Access сама не может различать опасные и безопасные макросы. Если вы уверены в законности и безопасности каких-то сторонних макросов, можете вставить в них свою цифровую подпись и добавить свое имя в список надежных из- дателей. Цифровую подпись к макросу можно добавить в редакторе Visual Basic.
460 Глава 1D. Макросы Рис. 10.29 Раздел Надежные расположения диалогового окна Центр управления безопасностью Добавление кнопок макросов в панель быстрого доступа С помощью кнопки Создать контекстное меню из макроса, которая находит- ся в разделе Макрос вкладки Работа с базами данных Ленты, можно автомати- чески создать меню из макросов базы данных. Затем кнопку для любого макроса можно добавить в панель быстрого доступа программы, используя средства раздела Настройка диалогового окна Парамет- ры Access (рис. 10.30). Макросы: проект электронной библиотеки Многие макросы предназначены для «обслуживания» объектов базы дан- ных. Они работают только с этими объектами и запускаются по событиям в них. Например, выше (см. раздел «Задание значения свойства с помощью макроса») было рассмотрено создание внедрении к макросов, которые управляют выводом линий разреза при печати «каталожных карточек» электронной библиотеки. Но могут быть и «самостоятельные» макросы, предназначенные дл я выпол- нения общих действий с данными в базе. К таким макросам можно отнести мак рос Обновление авторских списков (см, раздел «Макросы AutoExec и AutoKey» выше в этой главе). Как вариант, было рассмотрено выполнение этого макроса при открытии базы данных (в этом случае ему было задано имя AutoExec). Но как и любой другой свободный макрос, его можно запустить в любой момент (не только при открытии базы данных), например, после обновления или редакти-
Макросы: проект электронной библиотеки 461 рования записей в таблицах и закрытия формы ввода. Можно также добавить кнопку для его выполнения на третью страницу кнопочной формы. Рис. 10.30 Кнопку макроса можно добавить в панель быстрого доступа На рис. 10.31 показана третья страница кнопочной формы, в которую добав- лены кнопки для выполнения следующих действий: Рис. 10.31. «Модернизированная» третья страница кнопочной формы базы данных Электронная библиотека 2007 f** -ft- X * 1 ' • ‘ ' : Z » Электронная библиотека aooy jMj w f • v « Vr F 5 Iг ’ I Что нужно едыать сотттпми' Гфсммгтрдокуке; ггэпотупан л , Hi »Ч'Д,хум₽»пр*1™ imi .J ---J - а **>>№!** .п™пм»ге» fpy.yy*. - J Г~ г J Что нужно сдолатъ с данными? кжге!!51^!!1*^Ж2йтгЗ । : Поиск И УДаЛФММ* "ЛИШ»<ИХ' 4«1 орзд . ] fl - •- ' -П - -» Г. Л, ! ** J - Назад
462 Глава 10. Макросы обновление таблицы Авторские списки; запуска запроса на поиск «лишних» авторов (поиск записей без подчинен- ных, см. раздел «Мастер создания запросов» и рис. 7.15 главы 7 «Запросы») и их удаления (см. раздел «Запросы на удаление записей» главы 7 «Запро- сы»); печати карточек с линиями разреза и без них (см. раздел «Задание значе- ния свойства с помощью макроса» в этой главе). Естественно» что окончательный выбор макросов и добавление кнопок для их выполнения в кнопочную форму будет зависеть от конкретных данных и спосо- бов работы с ними в вашей электронной библиотеке. 1>
Глава 11 Сводные таблицы и диаграммы Сводные таблицы и сводные диаграммы являются мощным инструментом анализа и представления большого количества данных. Причем способы обра- ботки и форматы представления данных настраивает пользователь в интерак- тивном режиме. Текущее состояние представления данных в сводной таблице или сводной диаграмме сохраняться вместе с объектом базы данных, при этом оно не влияет на представление данных в других режимах объекта. Сводная таблица (рис. 11.1) — интерактивная таблица, позволяющая анализиро- вать и обобщать данные путем подбора полей для строк и столбцов, группировки, сортировки и фильтрации данных. Сводная диаграмма (рис. 11.2) — средство наглядного графического представле- ния данных для выполнения сравнений, выявления закономерностей и трендов пу- тем подбора полей для рядов и категорий, сортировки, группировки и фильтрации данных, а также добавления легенд и выбора типа диаграммы. Язык ▼ кЦцлюльстэо все • < г -' Годиадяния - 2000 1 - ТЗГ" ~ | 2001 2002 2003 2005 Общие игпемм 1 тип Сумма пр. Сумма стр. сумма стр, Сумма стр Сумма стр. Сумма пр. сумма стр Курс лекций, лекция Монография Учебная программа Учебник Учебное пособие $ * 704 314 414 2» 501 100 234 211 480 216 211 112 112 170 2112 234 525 1216 356 1167 1 O&utrtLmotu 101В 1145 ’ 434 981 100 1163 4841 Рис. 11.1 Сводная таблица, построенная на основе запроса Карточка (все данные)
464 Глава 11. Сводные таблицы и диаграммы Типы документов Рис. 11.2 Сводная диаграмма, построенная на основе запроса Карточка (все данные) С помощью сводных таблиц и сводных диаграмм можно проанализировать, например, объем продаж конкретного товара по времени и регионам, успевае- мость студентов по предметам, семестрам, учебным группам, преподавателям и др. В электронной библиотеке не так много численных данных, поэтому не слишком широкое «поле деятельности» для сводных таблиц и диаграмм. Здесь можно анализировать количество и объем документов по типам, издательствам, авторам, языку и т.д. Эти примеры и будут использованы в данной главе. Для изменения способа отображения данных в таблицах и диаграммах ис- пользуются средства вкладок Конструктор (Работа со сводными таблицами) и Конструктор (Работа со сводными диаграммами) Ленты, а также окна свойств и диалоговые окна. Режимы сводной таблицы и сводной диаграммы есть у таблиц, запросов и форм. Кроме того, вы можете вставить в форму или отчет таблицы и диаграм- мы Microsoft Office Excel и Microsoft Graph в качестве элементов управления. В предыдущих версиях Access на страницах доступа к данным были доступны свод- ные таблицы и диаграммы из веб-компонентов Microsoft Office. В Access 2С07 они также будут работать при условии установки веб-компонентов.
Макеты сводной таблицы и сводной диаграммы 465 Макеты сводной таблицы и сводной диаграммы Если в первый раз открыть объект в режиме сводной таблицы или в режиме сводной диаграммы, на экране отобразятся их макеты, а также список полей, доступных для добавления в макеты (рис. 11.3). Рис. 11.3 Макеты сводной таблицы (вверху) и сводной диаграммы (внизу) со списками полей, доступных для добавления
466 Глава 11. Сводные таблицы и диаграммы Поля из списка можно перетаскивать указателем мыши в заранее выделен- ные области размещения данных. Эти области на макете имеют надписи: «Пере- тащите сюда поля данных», «Перетащите сюда поля категорий» и т.д. Иными словами, заголовки областей размещения обозначают, какие элементы сводной таблицы или сводной диаграммы должны быть там расположены. После того как вы переместите поле и отпустите кнопку мыши, из его данных будут образованы элементы таблицы или диаграммы. Перетаскивание полей Удалить поле из области размещения можно, либо перетащив его указателем мыши за пределы сводной таблицы или сводной диаграммы, либо, выделив его и нажав клавишу Delete. Поля можно перетаскивать из одной области размеще- ния в другую. В любую область размещения могут быть добавлены несколько полей. Если дополнительные поля добавлены в области строк и столбцов, то по ним данные б^дут группироваться: поле, заголовок которого расположен слева, будет роди- тельским, а поля, заголовки которых расположены справа — подчиненными (см. рис. 11.21). Сводная таблица В области с заголовками «Перетащите сюда поля столбцов» и «Перетащите сюда поля строк» макета сводной таблицы нужно перенести поля, значения ко- торых должны составлять столбцы и строки таблицы. А в область с заголовком «Перетащите сюда поля итогов или деталей» — поля таблицы, данные в кото- рых следует проанализировать. Дополнительно можно добавить поля для фильтрации содержания всей сводной таблицы. Их следует перенести в область с заголовком «Перетащите сюда поля фильтра». Составленная таким образом сводная таблица будет напоминать обычную таблицу записей в базе данных или электронную таблицу (см. рис. 11 Л). Названия полей, уже добавленных в сводную таблицу, отображаются в спи- ске полей полужирным начертанием (рис. 11.4). Рис.11.4 В списке полей полужирным начертанием обозначаются поля, уже использованные в сводной таблице Пе "атитв в таблиц) Д .Ялта по месяцам 3D Название J ДО типа J Год издания 3D ID издательства j] Переход * источнику ф Д Гиперссылка источника 0Й П ID редактора & ГД ID языка l£ [3D Количестве страниц •а '3 I __. Добавить О . •* _3 -4- Строки
Макеты сводной таблицы и сводной диаграммы 467 Если добавить в строки сводной таблицы поле Тип из запроса Карточ- ка (все данные Л в столбцы — Год издания, а в область деталей — Количест- во страниц, в ячейках таблицы будет содержаться значения количества страниц для каждого документа. Причем, например, если 2003 годом датируются три мо- нографии» то данные о количестве страниц в них будут указаны в трех различных ячейках на пересечении строки Монография и столбца 2003 (рис. 11.5). Рис. 11.5 Сводная таблица после добавления полей строк и столбцов, а также полей деталей из запроса Карточка (все данные) Если добавить все поля таблицы источника в область деталей, то получится «режим таблицы». Справа от названия любого поля расположена стрелка, направленная вниз. Если ее щелкнуть, откроется список, содержащий все элементы поля. Этот спи- сок играет роль фильтра по значениям данного поля. В списке можно указать отображаемые и скрываемые элементы. Если снять флажок рядом с элементом, он будет скрыт. Если установлен флажок для элемента (Все), то будут отобра- жаться все элементы на всех уровнях. Если флажок, рядом с элементом (Все) за- тенен, то некоторые элементы группы отображаются, а некоторые скрыты (рис. 11.6). В списке поля могут содержаться группы различных уровней, отличить которые можно по наличию около них индикатора развертывания. Для анализа данных с помощью сводной таблицы можно выполнить следую- щие действия: Отфильтровать данные по значениям нового поля. Перетащите новое поле из списка полей в область размещения, озаглавленную «Перетащите сюда поля фильтра». Например, в рассматриваемой сводной таблице поля- ми фильтра могут быть Язык, Издательства и Дата. Перемещать поля в области размещения макета сводной таблицы можно с помо- щью кнопки Добавить в, расположенной в нижней части списка полей (см. рис. 11.4). Выделите поле в списке полей, а затем раскройте список рядом с кноп- кой Добавить в и лыберите в нем область размещения макета. Щелкните кнопкуf чтобы добавить поле.
468 Глава 11. Сводные таблицы и диаграммы А Рис. 11.6 Список фильтра по значениям поля Год издания Раскройте список значений добавленного поля фильтра (например, Изда- тельство), Для этого нужно щелкнуть стрелку, направленную вниз, спра- ва от названия поля. Установите (или снимите) флажки для значений, дан- ные соответствующие которым следует (или не следует) отображать в таб- лице, а затем щелкните кнопку ОК. На рис. 11.7, показано, что выбраны документы, выпущенные издательством «Экономика и мир». Можно заме- тить, что данных в таблице стало значительно меньше, так как в ней оста- лись документы только одного издательства. Рис. 11.7 • Данные в сводной таблицы были отфильтрованы по значениям поля Издательство Обратите внимание на цвет стрелки фильтра Списки значений есть у всех полей, добавленных в сводную таблицу. Если в списке были отключены какие-нибудь значения поля, то стрелка, с помощью которой от- крывается список значений поля, меняет свой цвет с черного на синий. Отсортировать данные для изменения порядка строк, столбцов или дан ных в ячейках. Щелкните заголовок строк, заголовок столбцов или заголо- вок данных, чтобы их выделить, а затем используйте кнопки По возраста- нию и По убыванию на вкладке Конструктор (Работа со сводными табли- цами) Ленты, чтобы переупорядочить выделенные элементы. Можно так- же воспользоваться диалоговым окном свойств поля. Щелкните правой кнопкой поле, по которому следует провести сортировку, и выберите в кон- текстном меню команду Свойства (или выделите поле и щелкните на Ленте
Макеты сводной таблицы и сводной диаграммы 469 кнопку Страница свойств). В диалоговом окне Свойства сделайте необхо- димые установки на вкладке Формат. Таким способом, например, можно легко найти максимальные или минимальные значения в наборе данных. Добавлять в таблицу новые поля в области строк» столбцов или деталей (рис. 11.8). 2<Н)5 IW9 □бщяе «гоги iCrp. * Сашок ? [Нет итого» W г Иф жшиьелм» * Язык 217 55 №бмое поспби* 5 $ 5 Оби**» КТО !И 10 27 13 286 314 211 17 38 78 333 179 196 126 122 U0 154 101 189 100 5 21 11 67 30 12 10 22 37 23 14 Год мм » 2000 * 1004 М«бнед про!р»им* 234 45 л IV 22 410 10 ТЫЛ Курс. некииЙ. л«*цк» тИоно рафия Ю1 121 II 1М 11 23 33 30 58 34 195 4z5 10 100 10 356 19 те*----- . 211 |L JT. /Д'*’ 112 11 170 55 Филата фтоброжаты к< a.fiweHTM I » 7т J. — , . « -J Hsopnsei, аыаелаеь нкмомысф ч&иктнфипырв Группе** Грутг>фО«ап зцаивяхшло! I ‘•«гое лч нгтрмги .-г-т^т-'Х мнтедмп. b >* ’ ir: ... _ _______J • 5 20 44 Рис.11.8 В сводную таблицу были добавлены новые поля деталей, а данные столбцов были сгруппированы с помощью окна свойств поля Год издания Группировать элементы в области строк и столбцов. Например, можно сгруппировать года выпуска документов по 5 лет, начиная с 1995 года (см. рис. 11.8), или собрать учебную литературу в одну строку по признаку сов- падения начальных букв «Учебн». Для этого можно использовать диалого- вое окно свойств поля, где следует сделать необходимые установки на вкладке Фильтр и группировка (см. рис. 11.8 справа). Добавить в таблицу промежуточные итоги или другие вычисления. Напри- мер, можно отобразить суммарный объем (в страницах) документов опреде- ленного типа, а также документов, датированных определенным годом. И, наконец, подсчитать общее количество страниц, содержащихся «в фон- дах» электронной библиотеки (рис. 11,9). Для этого используют команды, связанные С кнопками Автовычисления и Итоги, расположенными в разде- ле Сервис вкладки Конструктор (Работа со сводными таблицами) Ленты. Вычисления в итоговых полях В итоговых полях можно выводить результаты вычислений. Если в какой-то базе данных есть поля Цена и Объем продаж, то можно вычислить итог Выручка, пере- множив их значения.
470 Глава 11. Сводные таблицы и диаграммы Рис. 11.9 В сводную таблицу были добавлены итоговые поля страниц, вычисляющие их сумму по годам и типам документов После отображения итогов можно свернуть поля значений (щелкнув их ин- ликаторы свертывания), чтобы отобразить итоговую сводную таблицу (рис. 11.10). Рис. 11.10 Итоговая таблица Сводная диаграмма Если перейти из режима сводной таблицы в режим сводной диаграммы, то почти все настройки, которые были сделаны в сводной таблице, будут действо вать и в сводной диаграмме, и вам, возможно, ничего не придется изменять (рис. 11.11).
Макеты сводной таблицы и сводной диаграммы 471 Рис. 11.11 Настройки сводной таблицы были перенесены в сводную диаграмму Если же вы начнете построение сводной диаграммы «с нуля», вам придется проделать практически такую же работу, что и со сводной таблицей, так как пустой макет диаграммы очень похож на пустой макет таблицы (см. рис. 11.3). На диаграмме (типа «гистограмма с группировкой», которая создается по умолчанию): категории соответствуют строкам сводной таблицы; ряды соответствуют столбцам сводной таблицы; численные значения данных (деталей или итогов) отображаются в виде столбцов различной высоты, отмеряемой по вертикальной оси. Значения рядов перечислены в легенде, расположенной справа. Каждому значению ряда соответствует свой цвет (или способ отображения) на диаграмме. Общие итоговые значения в гистограмме с группировкой не отображаются. Вообще в Access можно строить диаграмм самых различных типов, среди ко- торых можно выбрать такой, который подойдет для наилучшего отображения конкретных данных. В разделе Тип вкладки Конструктор (Работа со сводными диаграммами) Ленты щелкните кнопку Изменить тип диаграммы, чтобы ото- бразить диалоговое окно Свойства с выведенной на передний план вкладкой Тип (рис. 11.12). Чтобы выбрать другой тип диаграммы, щелкните его название в списке, а в окне справа выделите вид диаграммы. Ваш выбор сразу отобразится на диа- грамме, Например, если выбрать тип «круговая диаграмма с накоплением», то в ней будет отображаться вклад каждого итогового значения для поля Тип в об- щую сумму (кольцо) для различных рядов (концентрические кольца) из поля Год издания. Самый «старый» ряд находится внутри диаграммы (рис. 11.13). Обратите внимание на всплывающие подсказки, «расшифровывающие» значения.
472 Глава 11. Сводные таблицы и диаграммы Рис. 11.12 Вкладка Тип окна Свойства сводной диаграммы IU Гис-трапма, 1О Гладкий график О Круговая Пузырьковая Й ни >иж Ф Кольцевая Лепестковая Id Бежевая Полярная гистофагтс группировкой сравнивает значения рвзд»<ч елг категорий Рис. 11.13 Круговая диаграмма с накоплением, построенная на основе данных запроса Карточка (все данные) Год нцдениа ?1 В списке типов диаграмм (см. рис. 11.10) можно выбрать следующие: Гистограмма. Иллюстрирует соотношение отдельных значений или изме- нение данных в течение определенного периода или по другому признаку. Гистограмма с накоплением позволяет опенить долю отдельных состав- ляющих в итоговом значении. Линейчатая диаграмма. Иллюстрирует соотношение отдельных значений данных. Категории располагаются по вертикали, а значения — по горизон- тали. Линейчатая диаграмма с накоплением позволяет оценить долю от- дельных составляющих в итоговом значении.
Макеты сводной таблицы и сводной диаграммы 473 График. Хорошо отображает изменение величины за равные промежутки времени. Гладкий график. Отличается от графика тем, что за счет сглаживания вели- чин показывает оценочные значения внутри временных интервалов. Круговая диаграмма. Позволяет оценить долю отдельных элементов ряда данных в общей сумме. На круговой диаграмме можно отобразить только один ряд данных. Для отображения нескольких рядов данных используют круговую диаграмму с накоплением. Точечная диаграмма. Отображает взаимосвязь между числовыми значе- ниями нескольких рядов данных. Может отображать две группы чисел как один набор точек с координатами (х, у). Применяется для представления научных данных. Пузырьковая диаграмма. Это разновидность точечных диаграмм. Размер «пузырька» соответствует значению третьей переменной. Диаграмма с областями. Иллюстрирует накопление изменений со време- нем, показывая сумму значений. На диаграммах с областями видно также соотношение отдельных значений и целого. Кольцевая диаграмма. Подобно круговой диаграмме, иллюстрирует соот- ношение отдельных частей и целого. Так как диаграмма может состоять из набора колец, то в ней могут отображаться несколько рядов данных. Лепестковая диаграмма. В этом представлении каждая категория имеет с во to ось, исходящую от начала координат. Значения одного ряда отклады- ваются на осях и соединяются между собой замкнутой линией. Можно сравнивать накапливающиеся значения рядов по их площади. Биржевая диаграмма. Используется для отображения либо трех, либо че- тырех биржевых курсов. Можно использовать также для отображения на- учных данных (минимальное, среднее и максимальное значения). Полярная диаграмма. В полярных координатах отображается зависимость расстояния от угла. Удобна для отображения технических характеристик приборов, таких как круговая направленность излучения (например, ан- тенны). Данные в сводной диаграмме можно фильтровать, сортировать и группиро- вать также как и в сводной таблице. Например, на рис. 11.14 показана диаграм- ма, полученная из диаграммы, показанной на рис. 11.11, изменением группи- ровки рядов, добавлением группировки категорий и применением фильтрации по одному из полей. На сводной диаграмме можно «избавиться» от легенды рядов, отображая от- дельные диаграммы для каждого из рядов. Для этого сделайте следующее: 1. Откройте страницу свойств для элемента Область диаграммы Для этого щелкните кнопку Страница свойств на Ленте и проверьте, чтобы на вкладке Общие диалогового окна Свойства в списке Элемент было вы- брано значение Область диаграммы. 2. На вкладке Общие окна свойства щелкните кнопку Несколько диаграмм. При этом на сводной диаграмме появится новая область размещения «Пе- ретащите сюда поля нескольких диаграмм» (рис. 11.15).
474 Глава 11. Сводные таблицы и диаграммы Рис. 11.14 Сводная диаграмма, полученная изменением настроек из диаграммы, показанной на рис. 11.11 Рис. 11.15 Щелкните кнопку Несколько диаграмм для отображения нескольких диаграмм вместо рядов на одной диаграмме 3. Перетащите поле рядов (Год издания) в область с заголовком <Перетащите сюда поля нескольких диаграмм». Диаграмма будет «разложена» на три маленькие диаграммы, каждая из которых соответствует своему интерва- лу годов издания документов (рис. 11.16). То есть каждый ряд будет по- строен в своих собственных осях координат.
Настройка сводной таблицы 475 Рис. 11.16 Сводная диаграмма, построенная «в несколько графиков» G | г<м * ква 2COD2DO1 2DD2-JDM Перетащите сюда паяя ряд<ш JEN 1DD5 ИГ'4' Мпив Мв* Черно-белая диаграмма На диаграмме, построенной «в несколько графиков» цвет столбцов перестает иг- рать какую-либо роль в представлении данных. Такая диаграмма без потери ин- формации может отображаться в черно-белом режиме. Размеры сводной диаграммы автоматически масштабируются под размеры окна (если объект отображается в окне) или рабочего поля (если объект отобра- жается нд вкладке). Как бы вы не изменяли размеры отображаемого объекта, диаграмма всегда будет полностью видна в его окне (рис, 11.17), Сделанные в режиме сводной диаграммы изменения будут действовать при переходе к режиму сводной таблицы (сравните рис. 11.16 и 11.18). Настройка сводной таблицы Режим сводной таблицы (также как и режим сводной диаграммы) доступен для таблиц, запросов и форм. В режиме сводной таблицы любого из этих объек- тов на Ленте отображается вкладка Конструктор (Работа со сводными таблица- ми), которая показана на рис. 11.19. Элементы управления, расположенные в разделах вкладки, используются лля создания и настройки вида сводной таб- лицы. Кнопка Вид в разделе Представления позволяет переключать режимы объекта.
476 Глава 11, Сводные таблицы и диаграммы Рис- 11.17 Размеры сводной диаграммы масштабируются под размеры окна объекта Рис. 11.18 Режим сводной таблицы запроса Карточка (все данные) после его настройки в режиме сводной диаграммы Рис. 11.19 Вкладка Конструктор (Работа со сводными таблицами) Ленты Сводные таблицы и диаграммы, вставленные как элементы управления, настраива- ются с помощью средств программ, в которых они были созданы (Microsoft Office Excel и Microsoft Graph). Ко всем ячейкам сводной таблицы добавлены всплывающие подсказки. Они появляются при удержании указателя мыши как ня заголовках полей, так и нэ ячейках значений. Например, если удерживать указатель на ячейке ито] о- вого значения, появится подсказка, содержащая значение, итог, компоненты строки и столбца, фильтры (рис. 11.20).
г Настройка сводной таблицы 477 Рис.11.20 Всплывающая подсказка ячейки данных сводной таблицы Значение: 2112 525 Итог: Стр. 356 Компонент строки: Монография 1163 Компонент столбца: Общие ито*и ’Фильтр: Язык — Все___________ Отображение структурных элементов сводной таблицы В разделе Показать и скрыть вкладки Конструктор (Работа со сводными таб- лицами) имеются пять кнопок для отображения и скрытия структурных эле- ментов сводной таблицы: Кнопка Список полей выводит на экран (а при повторном нажатии скрыва- ет) панель Список полей сводной таблицы (см. рис. 11.4), в которой отобра- жаются поля сводной таблицы, а также поля объекта, которые можно доба- вить. Кнопка Зоны управляет отображением областей размещения сводной таб- лицы. Если кнопка «выключена», названия зон размещения скрываются. Кнопка Кнопки детализации выводит на экран (или скрывает при повтор- ном нажатии^ кнопки для свертывания и развертывания подчиненных по- лей в строках или столбцах сводной таблицы (рис. 11.21). Эти кнопки име- ют вид маленьких квадратиков со знаками «плюс» или «минус» внутри. Если кнопки детализации отсутствуют, свернуть или развернуть подчинен- ные поля можно двойным щелчком ячейки со значением родительского поля. Иод * Ячми - J2Mo‘ “ ^3 aWlTffi2OO2 В 2003 &WH-W английский русскими ПИИ ▼ о». сто. Ей Курс лекций, лекция Mount рафдо та лобная программе ЕУМебныж 704 704 ,1 - Ор- 414 234 211 501 480 100 П1Н 112 170 525 ^учебное пособил •ккеа: "МдцатипаскиЙ пом М. 'Экономика и мип* М ООО ‘Бином Преи" M.TpHOMflh Лтот 286 211 156 (Мщиеиггкни Я4 314 114 704 114 314 1111 !86 1145 434 100 356 1153 112 2112 234 1218 211 356 314 1167 4841 * Иэдптппьстоо Й РИС. 11.21 В строках сводной таблицы подчиненное поле Издательства развернуто для значения Учебное пособие родительского поля Тип, а в столбцах подчиненное поле Язык развернуто для значения 2000 родительского поля Год Кнопки Скрыть подробности и Подробности управляют отображением в об- ласти значений отдельных значений и их итогов. Если щелкнуть кнопку Подробности, то во всей таблице будут отображены отдельные значения вме- сте с итогами, а если Скрыть подробности, то только итоги. Чтобы отобра- зить (скрыть) подробности для отдельных значений поля, необходимо щелк- нуть индикаторы развертывания (свертывания) — значки со знаками «плюс»
478 Глава 11. Сводные таблицы и диаграммы («минус»)» расположенные справа или снизу от ячейки со значениями (рис. 11.22). Можно также дважды щелкнуть ячейку с итоговым значением. В отличие от кнопок детализации эти значки отображаются постоянно. Рис. 11.22 В сводной таблице отображены подробности для значения Монография поля Тип и для значения 2001 поля Год (чтобы легче было отличить итоги от значений, итоговые значения полей дополнительно оформлены подчеркиванием) 1 №у1«т«льство ’ * Все Лав Год * 2000 2001 2002 2003 2Ооа 2во? «Общие шпоеи ЭН7* - -...tU-’-L--- Учебная программа УМебнкх Небное пособие Гии * Курс леацнй. ясхция Мятирафин 2J1] 211 _______ 28б| 314____286 1018 1145 704 414 234| 234 217 333 154 110 189 122' 1791 196 126 100 112 170 112 2112 501 100 170 1210 480 525 1167 211 434 «и 100 156 1163 т Группировка полей В разделе Выделенные фрагменты вкладки Конструктор (Работа со сводны- ми таблицами) есть всего две кнопки, предназначенные для создания и удале- ния (пользовательских) групп. Кнопки Группировать создает из выделенных значений поля группу, которая по умолчанию получает имя Группа 1. Осталь- ные значения образуют группу Другое (рис. 11.23). Кнопка Разгруппировать удаляет выделенную группу. Группы можно создавать как в родительских, так и в подчиненных полях (рис. 11.24). Чтобы выделить несколько значений полей щелкните их при нажатой клавише Ctrl. Команды для группировки и разгруппировки имеются также в контекстном меню выделенных ячеек значений полей. Группы могут быть созданы также с помощью окна свойств поля, которое открыва- ется с помощью кнопки Страница свойств Ленты. Но том можно создать группы по значениям поля, например, по интервалу дат или по первым буквам текстовых значений. С помощью кнопки Группироватъ можно объединить любые 'выбран- ные пользователем) значения. Фильтрация и сортировка значений В разделе Фильтр и сортировка вкладки Конструктор (Работа со сводными таблицами) расположены средства для сортировки значений полей: Кнопки По возрастанию и По убыванию сортируют значения поля соответ- ствующим образом. Перед этим поле или ячейка его значения должна быть выделена. Если в поле уже проведена сортировка, то при его выделении одна из этих кнопок будет выглядеть «нажатой». Щелкните кнопку, чтобы отменить сортировку.
Настройка сводной таблицы 479 Курс я ек ций, л енцмн Учебная программа Учебник ебное пособие бщиешпаш Вшделскнус фрагменты j ...... ....... Ф Группировать > Разгруппировать Издательство * Я *ык » все У Все ГоА * Г _ 2000 |2001 1002 Плюз 2004 (2005 Общие umotu tH-l t+<-> , j-НЧ . *1-1 *1-1, ♦ +1-1" ТИП1 ’Тип Стр. Стр. Стр. Стр. Стр Стр. Стр. УЧЕБНЫЕ (Группа 1 переименована) 314 731 211 480 993 2729 Другое 704 414 223 501 100 170 2112 Общие итоги § 1018 1145 434 981 100 1163 4841 Рис. 11.24 Группы созданы в подчиненном поле Издательство Рис. 11.23 Из выделенных значений поля Тип (слева вверху) создана группа, которая была переименована с помощью окна свойств в УЧЕБНЫЕ (справа вверху), затем группы УЧЕБНЫЕ и Другое были свернуты (внизу) Кнопка Очистить настраиваемый порядок удаляет сортировку поля. Кнопка Автофильтр включает или отключает фильтрацию данных. Если к данным был применен фильтр, щелчок этой кнопки снимает его. При этом фильтр запоминается и может быть опять применен с помощью этой кнопки.
480 Глава 11. Сводные таблицы и диаграммы Кнопка Показать первые/последние открывает каскадное меню фильтров по значениям поля (рис. 11.25). Команды Показать только первые и Пока- зать только последние предназначены для установки фильтров. Можно вы - брать количество первых и последних значений (1, 2, 5,10 или 25) или про- цент отображаемых значений (1, 2, 5, 10 или 25%) от их общего числа, а также выбрать значение Другое. В последнем случае откроется окно свойств (вкладка Фильтр н группировка), в котором можно установить па- раметры фильтра (рис. 11.26). Если установлен фильтр по значениям, ря- дом с названием поля отображается значок фильтра (рис. 11.27). Фильтр дополнительно запоминается в автофильтре. Команда Показать все снима- ет ранее установленный фильтр. Рис. 11.25 Меню фильтров по значениям поля Рис. 11.26 Установите параметры фильтра по значению Рис. 11.27 В поле Тип отображаются первые два элемента на основе значений количества страниц
Настройка сводной таблицы 481 Обновление данных и экспорт сводной таблицы В разделе Данные расположены только две кнопки. Одна из них (Обновить сводную таблицу) обновляет данные сводной таблицы. Ее следует применять в случае, если во время работы со сводной таблицы данные в таблицах базы мог- ли быть изменены другими пользователями. Такие изменения, как удаление за- писей, их добавление или исправление, изменение порядка следования, блоки- рование записей, не удовлетворяющих условию отбора, автоматически не пере- даются в сводную таблицу. Чтобы учесть изменения подобного рода, щелкните кнопку Обновить сводную таблицу для повторного запроса записей из источни- ка. Кнопка Экспорт в Excel экспортирует сводную таблицу в программу Microsoft Office Excel, где с ней также можно работать как с интерактивной сводной таблицей (одновременно передается таблица с исходными данными). В программе электронных таблиц переданные данные могут быть сохранены в доступных для нее форматах. Кнопки для работы с полями В разделе Активное поле имеется несколько кнопок, действию которых мо- гут быть подвергнуты выделенные поля сводной таблицы: Кнопки Свернуть и Развернуть предназначены для управления отображе- нием нескольких полей в области строк или столбцов. Например, если в об- ласти строк размещается два поля: родительское Тип и подчиненное Изда- тельство^ то строки поля Издательство могут быть свернуты или развер- нуты с помощью индикаторов развертывания, находящихся в родитель- ском поле Тип, Чтобы свернуть или развернуть сразу все строки использу- ют кнопки Свернуть и Развернуть (поле в области строк должно быть выде- лено). Кнопка Переместить поле открывает меню команд для перемещения выде- ленного поля в другие области размещения в сводной таблице (рис. 11.28). Кнопка Удалить поле удаляет поле из области размещения сводной таблицы. Рис. 11.28 Меню для перемещения поля Издательство из области фильтра в другие области размещения 1 АКТИВНО' j я область полей ; Перейти в область столбцов i Перейти е область Фильтра .,11 Переместить область денных Средства вычисления, отображения и задания свойств полей сводной таблицы В разделе Сервис вкладки Конструктор (Работа со сводными таблицами) имеются следующие кнопки: Кнопка Страница свойств выводит на экран (при повторном нажатии скры- вает) диалоговое окно свойств сводной таблицы и ее элементов. Содержание окна зависит от того, какой элемент в сводной таблице выделен. Вы можете 16 Access 2007
482 Глава 11 Сводные таблицы и диаграммы выделять другой элемент сводной таблицы, чтобы отобразить его свойства, не закрывая окна свойств. Диалоговое окно свойств может использоваться для таких действий, как форматирование текста, фильтрация данных, скрытие или отображение элементов. Кнопка Итоги отображает или скрывает итоговые столбцы (строки) свод- ной таблицы. Выделите поле, итоговые значения по которому необходимо отобразить (или скрыть) и щелкните эту кнопку (рис. 11.29). Рис. 11.29 Отображаются итоговые значения по полям Год и Тип Учебная программа УЧебниж УНебное пособие Общие итпо&и 20W * - ▼ Стр. 2501 Ж Тип Курс я акций, яекция Монография - —— - Л- — — — Общие игпыи 117 I Se i 2003 2004 2005 :стр стр. Стр. стр. “ 234| *м>- 1 —и- - - 1 234 - 211 480 525, 1218 119 286 211 35б| та1 823 114!» «4 Ml ют 1163 1 Кнопка Автовычисления позволяет добавить итоговые поля в область дан- ных. Выделите поле, для которого нужно подсчитать итоговые значения, щелкните эту кнопку и выберите в списке функцию автовычисления (см. таблицу 11.1). В области данных появится новый итог (рис. 11.30). • -Иэджтв льстя» * •«I 2000 2001 2Й.1 '• ‘Ё1_ 2001 Гиг «Стр Количество Стр кпл»н*гт10 Стр Jtowecn» ( тр (шшчоодг С*? 1------- - —------ пешни Иокогрофм л ебнм программ* йобимв л ♦ бисе Пособйй 'uevmcMw 1 ;2<ХИ сир, шояичйствп Crt йопкявстю 112 1 112 1 ЛИ 3 414 3 223 2 501 э МО 1 170 1 2112 13 г-—~ -г — • 234 1 234 1 I L 211 1 : . т 410 1 525 2 1216 4 US 1 266 1 211 356 1 672 4 1 121 4 L. 1145 « 434 3 ЯП 4 1М 1 1163 5 4646 23 Рис. 11.30 В области данных дополнительно отображены итоговые значения по количеству документов Таблица 11.1. Функции вычисления итогов, предоставляемые командой Автовычисления Функция Действие Суммо Вычисляется сумма значений. Число Подсчитывается количество значений, Пустые строки учитываются, неопределенные значения не учитываются. Минимум Выбирается наименьшее значение. ~ - — Д - V
Настройка сводной таблицы 483 Функция Действие Максимум Выбирается наибольшее значение. Среднее Стандартное отклонение Подсчитывается среднее значение. Подсчитывается стандартное отклонение выборки. Дисперсия Подсчитывается дисперсия выборки. Стандартное отклонение генеральной совокупности Подсчитывается стандартное отклонение генеральной совокупности. Дисперсия генеральной совокупности 1,.. , Подсчитывается дисперсия генеральной совокупности. Итоги зависят от типа данных Доступные функции итоговых значений зависят от типа данных поля. Например, для текстовых полей функции Сумма, Минимум или Максимум недоступны, но для них можно использовать функцию Число. Скрытые данные в итоговых значениях Донные, скрытые с помощью фильтра, можно не включать в промежуточные и об- щие итоги. Откройте диалоговое окно свойств сводной таблицы. Но вкладке От- чет установите переключатель Вычислять итоги в одно из положений: только по видимым элементам или по всем элементам (включая скрытые эле- менты). При включении всех элементов в итог, рядом с подписями полей итогов отображается звездочка (обозначающая, что итоговое поле включает не толь- ко отображенные, но и все скрытые элементы. С помощью кнопки Формулы открывается меню, состоящее из двух ко- манд: Создание вычисляемого итога и Создание вычисляемого поля сведе- ний. Обе команды открывают диалоговое окно свойств сводной таблицы с выведенной на передний план вкладкой Вычисления. Задайте формулу для вычислений сведений или итогов. Новое поле итогов будет добавлено в области значений. С помощью кнопки Отобразить как изменяется вид отображения данных в области значений. Из раскрывающегося списка можно выбрать обычное или процентное (по отношению к различным итогам) отображение значе- ний (рис. 11.31). Например, на рис. 11.32 показана та же таблица, что и на рис. 11,30. но данные по количеству документов в ней отображены в виде процентов к общему числу документов. Видно, например, что монографии составляют по количеству 56,52% документов электронной библиотеки.
484 Глава 11 ^водные таблицы и диаграммы Рис,11.31 Выберите вид отображения данных из раскрывающегося списка а- Я1ЫМ • ИцДО«ЛЬ£1М» » *« «эд - । 2000 , 2М1 2И2 *003 7004 1005 Общие итми л ‘ Стр Чисякч Стр %КОЛИЧ1Стр Чкоянч^Ор. % иол от. Стр. % колнч. Стр. 4 КОЛИ* J ф. Скопич 112 4 35% 112 4,35% 704 13,04% 414 13.04% 223 4,70% 501 13.04% 100 4.15% 170 4,35% 2112 58.5/4 234 4,35% 234 211 4,35% 480 4,35% 525 8.70% Щв 17.Э0И 115 4,Э5% 286 435% 211 435% 156 435% 972 17.ЭЗД •23 17,39% 1145 20,00% 434 13,04% 981 17,39% 1Н 4,35% 1163 И.74$ч *Ь4в 100,1Г4 Тип » Курс лекций, лекции Монография УЧрбнж программ* учебник Учебное иосойне Общие ил wmv 1 Рис. 11.32 Данные по количеству документов отображены в виде процентов по отношению к общему числу документов Может оказаться ток, что при изменении вида отображения данных в таблице в не- которых ячейках вместо значений появляются знаки #####. Это происходит пото- му, что число слишком велико и не помещается в ячейку. Чтобы исправить положе- ние: увеличьте размер ячейки; используйте шрифт меньшего размера; измените формат отображения число. Форматирование сводной таблицы Для того, чтобы изменить форматирование элементов сводной таблицы ис- пользуются вкладки окна свойств. Выделите поле или ячейки и щелкните кноп- ку Страница свойств на Ленте. Появится диалоговое окно свойств с параметра- ми форматирования, применимыми к выделенному элементу (рис. 11.33). Если вы хотите перейти к установкам для другого элемента сводной диаграммы, то, не закрывая диалогового окна, щелкните его, чтобы выделить. Установки диа- логового окна свойств поменяются, чтобы соответствовать вновь выделенному элементу. В диалоговом окне свойств можно: • Изменить формат текста. Можно выбрать шрифт, его цвет, размер и на- чертание. Изменить выравнивание в ячейке. Можно выравнивать значения по гори- зонтал и: по левому краю, по центру и по правому краю. Выравнивания по вертикали нет.
Настройка сводной диаграммы 485 Рис. 11.33 Диалоговое окно свойств с элементами управления для форматирования выделенного поля Год Изменить цвет заливки ячеек. Изменить форматы отображения данных. Можно выбрать из списка один из заранее установленных форматов. При изменении числовых форматов фактическое значение не изменяется, меняется только способ отображения числа. Формат числа в поле не влияет на формат в других строках, столб- цах, фильтрах или полях итогов. Текущее состояние сводной таблицы можно распечатать с помощью команд Печать ( Печать или Печать Предварительный просмотр из меню кнопки «Office*. Настройка сводной диаграммы Сводные диаграммы доступны для таблиц, запросов и форм. В режиме свод- ной диаграммы любого из этих объектов на Ленте отображается вкладка Конст- руктор (Работа со сводными диаграммами), которая показана на рис. 11.34. Элементы управления, расположенные в разделах вкладки, используются для создания и настройки вида сводной диаграммы: Конпсрспф Лсгепда Список . . лпялй «а Кнопки д«та/1и>ац<№ J J*- Оймсиитъ иодную таблицу И1МГНХ11, Ляп днацмммы £ А*тч4ычмир«>*л "всем Поккаг* першне/гтаигдкж Рис.11.34 Вкладка Конструктор (Работа со сводными диаграммами) Ленты
486 Глава 11. Сводные таблицы и диаграммы Кнопка Вид в разделе Представления позволяет переключать режимы объ- екта. Кнопка Список полей выводит на экран (а при повторном нажатии скрыва- ет) панель Список полей сводной диаграммы, в которой отображаются поля, добавленные в сводную диаграмму, а также поля источника, которые можно добавить. Это точно такая же панель, как и Список полей сводной таблицы (см. рис. 11.4). Кнопка Легенда выводит на экран (а при повторном нажатии скрывает) ле- генду сводной диаграммы, в которой перечислены ряды данных, а также цветовые образцы элементов, которые графически воспроизводят их дан- ные (рис. 11.35). Обычно легенда отображается справа от диаграммы, но с помощью окна свойств ее место расположения можно изменить, пере- местив ее вверх, вниз или влево. Рис. 11.35 Легенды сводной диаграммы: «правая»(слева) и «верхняя»» (справа) Кнопка Зоны управляет отображением областей размещения сводной диа- граммы. В отличие от сводных таблиц, области размещения скрываются вместе с заголовками полей, которые в них добавлены, Кнопка Кнопки детализации управляет отображением кнопок детализа- ции. Кнопки По возрастанию и По убыванию сортируют значения выделенного поля соответствующим образом. Если в поле уже проведена сортировка, то при его выделении одна из этих кнопок будет выглядеть «нажатой*. Щелкните кнопку еще раз, чтобы отменить сортировку, Кнопка По итогу «работает* для диаграмм с накоплением, в которых ото- бражается итоговый результат для каждого ряда. Она выстраивает катего- рии по возрастанию или по убыванию (рис. 11.36). Кнопка Автофильтр включает или отключает фильтрацию данных. Есл и к данным был применен фильтр, щелчок этой кнопки снимает его. При этом фильтр запоминается и может быть опять применен с помощью этой кнопки. Кнопка Показать первые/последние откры вает каскадное меню фильтров по значениям поля. Команды Показать только первые и Показать только последние предназначены для установки фильтров. Можно выбрать коли- чество первых и последних значений (1,2,5,10 или 25) или процент отобра- жаемых значений (1,2,5,10 или 25%) от их общего числа, а также выбрать значение Другое. В последнем случае откроется окно свойств (вкладка Фильтр и группировка), в котором можно установить параметры фильтра. Фильтр запоминается в автофильтре. Команда Показать все снимает ранее установленный фильтр.
Настройка сводном диаграммы 487 Рис. 11.36 Категории отсортированы по возрастанию суммарного значения Кнопка Обновить сводную таблицу обновляет данные сводной диаграммы. Ее используют в случае, если во время работы со сводной диаграммой дан- ные в таблицах базы могли быть изменены другими пользователями. Кнопка Строки/столбцы меняет местами установленные поля рядов и кате- горий. Кнопки Развернуть поле и Свернуть поле предназначены для управления отображением нескольких полей категорий и рядов. Например, если в об- ласти категорий размещается два поля: родительское Год и подчиненное Тип (рис. 11.37), отдельные значения категории Тип могут быть свернуты или развернуты с помощью кнопок Развернуть поле или Свернуть поле (аналог индикаторов развертывания). Для этого нужно выделить конкрет- ное значение и щелкнуть подходящую кнопку. Если выделить поле, то бу- дет развернут (свернут) уровень для всех значений. Кнопки На уровень вниз и На уровень вверх «перестраивают» диаграмму таким образом, что в ней отображается другой уровень данных. Например, если выделить значение 2001 поля Год (см. рис. 11.37) и щелкнуть кнопку На уровень вниз (со знаком «плюс»), то в диаграмме отобразится только нижний уровень для этого значения (рис. 11.38). Если затем щелкнуть кнопку На уровень вверх, диаграмма вернется к своему прежнему состоя- нию. Кнопка Автофильтр «отменяет» последнее действие по развертыва- нию или свертыванию подчиненных полей. Кнопка Удалить поле удаляет выделенный элемент диаграммы. Если уда- ление невозможно, то кнопка будет недоступной. Кнопка Изменить тип диаграммы вызывает на экран диалоговое окно Свойства с выведенной на передний план вкладкой Тип, на которой можно выбрать тип и вид диаграммы (см. раздел «Сводная диаграмма» выше в этой главе).
488 Глава 11. Сводные таблицы и диаграммы Сводная диаграмма из запроса Карточка (все данные) Рис. 11.37 На диаграмме подчиненные категории для значений 2001 и 2004 развернуты, а остальные — свернуты □ <иг НоджталивнИдомАПС4 Мл 'Ямвяоммкини*' М ЗАОПола. Прогрев* М ООО* Ьмм4И-Прок* М. РИО ИПЬ Минск Сотрудвимстно' Сводная диаграмма из запроса Карточка (все данные) Рис. 11.38 На диаграмме отображается нижний уровень для значения 2001 поля Год
Настройка сводной диаграммы 489 Кнопка Страница свойств открывает (а при повторном нажатии закрывает) окно свойств сводной диаграммы или ее выделенного элемента. Кнопка Автовычисления позволяет выбрать функцию для обработки зна- чений, отображаемых в области данных диаграммы. Выделите заголовок итогового значения области данных, щелкните эту кнопку и выберите в списке другую функцию автовычисления (см. таблицу 11.1). В области данных отобразятся новые итоговые значения. Так же, как и в сводной таблице, к элементам сводной диаграммы выводятся всплывающие подсказки. Форматирование элементов сводной диаграммы сложнее, чем в сводной таблице. Но применяется оно так же — через диалоговое окно свойств. В сводной диаграмме можно отформатировать следующее: • Текстовые надписи в заголовках, подписях, легенде, выбирая для них шрифт, его цвет и размер, а также начертание. Числовые форматы. При изменении числового формата фактические зна- чения не изменяются, меняется только способ их отображения. Цвет фона и границ самой диаграммы, области построения, рядов данных, легенды диаграммы. Тип фона (включая способ заливки и рисунки) диаграммы, области по- строения и др. Цвет, толщину и тип линий сетки, осей, границ и др. Способ отображения трехмерных диаграмм, изменяя проекции и их пер- спективу, добавляя к ним регулируемые эффекты освещения. Маркеры определенных данных с применением цветов или градиентной за- ливки для их выделения среди других. Можно также добавить к данным планки погрешностей и линии трендов. Оси данных путем изменения их направления, масштаба, форматов назва- ний и подписей. Отображение в диаграмме значений вместо итогов По умолчанию в режиме сводной диаграммы отображаются итоговые значе- ния поданным полей из источника данных. Чтобы настроить диаграмму на ото- бражение данных: 1. Щелкните на Ленте кнопку Страница свойств. 2. В диалоговом окне Свойства перейдите на вкладку Общие и проверьте, чтобы в поле со списком Элемент было выбрано значение Область диа- граммы. 3. Перейдите на вкладку Данные и установите флажок для параметра Отображать детали. Установка и снятие флажка для параметра Отображать детали на вкладке Данные диалогового окна свойств диаграммы приводит к очистке областей, что может повлечь за собой изменение число рядов на диаграмме и потерю формати- рования. Перед внесением изменений в диаграмму Access выводит предупреждаю* щее сообщение.
490 Г лава 11. Сводные таблицы и диаграммы Добавление подписей данных и условного форматирования Около элементов данных сводной диаграммы можно отобразить подписи, ко- торые будут содержать их значения. Можно также настроить элементы значе- нии (маркеры) таким образом, чтобы их вид отражал диапазоны значений (для этого используется градиентная или сплошная заливка). Например, более высо- кий уровень значений может быть обозначен более светлым тоном. Чтобы добавить подписи и задать условное форматирование элементов данных: 1. Щелкните элемент значения (маркер) ряда данных, который следует от- форматировать, а затем щелкните его еще один раз, чтобы выделить весь ряд данных. 2. Щелкните на Ленте кнопку Страница свойств и перейдите на вкладку Об- » щие. 3. Щелкните кнопку Добавить подпись данных. После добавления подписей (рис. 11.39) их содержание и расположение можно будет изменить, от- * крыв вкладку Подписи данных диалогового окна свойств и сделав на ней нужные установки. Сводная диаграмма из запроса Карточка (все данные) Рис. 11.39 В диаграмме добавлены подписи к данным ряда 2005 поля Год Линии тренда и погрешности Рядом с кнопкой Добавить подпись данных расположены кнопки Добавить линию тренда и Добавить планку погрешностей Эти элементы также мож- но добавить к ряду данных. Если произведенные действия вас не удовлетворяют, то можно их отменить, щелкнув кнопку Отменить, расположенную выше на этой же вкладке. А если вам потребуется удалить одну из подписей, нужно просто ее вы- делить и нажать клавишу Delete.
Настройка сводной диаграммы 491 4. Перейдите на вкладку Условное форматирование. Установите флажок Раскрашивать точки данных (рис. 11.40). 5. Выберите стиль условного форматирования в списке Стиль: Градиент по трем точкам, Градиент по двум точкам, Два цвета, Наименьшие значе- ния или Наибольшие значения. Цри необходимости установите значения других параметров. Сводная диаграмма из запроса Карточка (все данные) форма шрс*вмрв не основу*»» виаг-<внин бдчмйнж !»угй(ипн yx-»*wrt друг». АНгачи- J г 1 1 * • ; * '4 НН№>явамавян11мнп^шааейаййшйввввйшвамаама Рис. 11.40 Столбики данных ряда 2005 поля Год отформатированы по условию: если значение меньше 50% от максимального — белые, а если больше — черные Добавление заголовка к элементу сводной диаграммы К элементам сводной диаграммы можно добавлять заголовки (см. рис. 11.39). Для того чтобы это сделать: 1. Выделите элемент диаграммы, для которого требуется добавить заголо- вок, например, рабочую область или ось. 2. Щелкните на Ленте кнопку Страница свойств, а затем перейдите на вкладку Общие. 3. Щелкните кнопку Добавить заголовок. Заголовок будет добавлен с фор- мальным текстом. 4. Выделите заголовок и перейдите ня вкладку Формат. В секции Заголовок введите новый текст в поле Заголовок. В секции Формат текста установи- те нужные параметры форматирования текста. В секции Положение вы-
492 Глава 11» Сводныэ таблицы и диаграммы берите нужное значение из списка. На вкладке Границы и заливка уста- новите нужные параметры. Чтобы удалить заголовок, его нужно выделить и нажать клавишу Delete. Поворот или отражение области построения Для того чтобы повернуть область построения диаграммы: 1. Выделите область построения. 2. Щелкните на Ленте кнопку Страница свойств, а затем перейдите на вкладку Общие. 3. Чтобы перевернуть область построения по горизонтали или по вертикали, щелкните кнопку Отразить слева направо или Отразить сверху вниз. Что- бы повернуть область построения на 90 градусов, щелкните кнопку По- вернуть на 90 градусов по часовой стрелке или Повернуть на 90 градусов против часовой стрелки. Изменение размера свободного пространства между элементами данных в линейчатых диаграммах и гистограммах Расстояние между элементами данных можно изменять (рис. 11.41). Для этого: Рис.11.41 Расстояния между столбцами данных в сводной диаграмме были изменены Сводная диаграмма из запроса Карточка (все данные) Тип документа и издательство Сводная диаграмма из запроса Карточка {все данные) 2*04 В1М1 В2МЗ ЖМ IMS С111Л 141 В141 170 Тил документа м издательство
Настройка сводной диаграмму 493 1. Выделите область диаграммы, для этого щелкните на ее «свободном» месте. 2. Щелкните на Ленте кнопку Страница свойств, а затем перейдите на вкладку Общие. 3. Выполните одно из следующих действий: В поле Перекрытие, которое определяет расстояние между соседними элементами данных внутри категории, введите значение от -100 до 100. Отрицательные значения определяют зазор (максимальный зазор уста- навливается равным ширине элемента при значении параметра -100). Положительные значения определяют перекрытие (при значении 100 будет установлено полное перекрытие элементов). В поле Боковой зазор, которое определяет расстояние между соседними категориями, введите ширину зазора в процентах от ширины элемента (от 0 до 500). Нулевое значение означает, что категории будут располо- жены рядом. Изменение сетки Чтобы изменить отображение сетки на сводной диаграмме: 1, Выделите ось, для которой надо отобразить или скрыть сетку. 2. Щелкните на Ленте кнопку Страница свойств, а затем перейдите на вкладку Ось. 3. В секции Деления и линии сетки установите или снимите флажки для па- раметров Основные линии сетки и Вспомогательные линии сетки. Перей- дите на вкладку Линии и маркеры. Установите нужные параметры в сек- ции Линия. Перейдите на вкладку Масштаб и установите нужные вам значения параметров в секции Диапазон. Сетка с измененными парамет- рами показана на рис. 11.42 (сравните ее с сеткой, показанной на рис. 11.41). Рис. 11.42 Параметры сетки диаграммы были изменены Сводная диаграмма из запроса Карточка (все данные) 1М0 ?№ fllZtHl IMH HUM S МИ Тип документа и издательство
494 Глава 11 Сводные таблицы и диаграммы Текущее состояние сводной диаграммы можно распечатать с помощью ко- манд Печать | Печать или Печать | Предварительный просмотр из меню кнопки ♦Office». Добавление диаграмм в формы и отчеты Для создания в форме или отчете диаграмм, построенных на данных из таб- лиц (запросов), можно использовать приложение Microsoft Graph (средство Microsoft Office для создания диаграмм на основе данных из Word, PowerPoint и Access), которое должно быть установлено на компьютере. Диаграммы, соз- данные в Microsoft Graph, можно редактировать и форматировать в окне этого приложения. В объектах же Access такие диаграммы могут изменяться, лишь следуя изменениям данных, но они не являются интерактивными (рис. 11.43 вверху). В режиме сводной диаграммы больше возможностей по отображению данных “----------------——-------------------------------------- Альтернативой этому варианту может быть создание формы (отчета) с подчинен- ной (рис. 11.43 внизу) или связанной формой (рис. 11.44), открываемой в режиме сводной диаграммы. Такой вариант будет работать быстрее и имеет больше воз- можностей по отображению данных. Также вы можете вставить подчиненную фор- му, которая будет открываться в режиме сводной таблицы. Рис.11.43 Форма с элементом управления Диаграмма (вверху) и подчиненной формой, отображаемой в режиме Сводная диаграмма (внизу) Диаграмма Microsoft Graph > Гуляев ВЛ, Петров ММ Рудаков ЮЛО. Количество сгылас
Добавление диаграмм в формы и отчеты Рис. 11.44 Связанная форма, открываемая в режиме сводной диаграммы Электронная карточка ID документа: IНазвание 495 10 фмрдо зоо/fa Ь *............- Бытовой материал him в философ <м Грвфмнзва ЛЛи гуля*» В-Н Перейти Переход и источнику Открыть: Момцрвфия feL,______________ Никифоров В.Н.ФРОЛОМ Г.П Якушев Н.С. Ьусскмй Тит Страниц. Редакторы: Явытс Издательство: тм - QQQ "Бнмоы-Просс1 у. ... .।мвг*44Н-М4>^4М Годкздвими: }W0i__ [~Дрги>дип«^>мме сзддеяи» Комментарий. ^Г1слйм диафммм М Количество рисунке и ссылок Для создания в объекте базы данных диаграмм Microsoft Graph используется мастер. Чтобы вставить диаграмму в форму или отчет: 1, Откройте форму (или отчет) в режиме конструктора. 2. На вкладке Конструктор в разделе Элементы управления щелкните кноп- ку Диаграммы. Перейдите к форме или отчету и щелкните место» где должна располагаться диаграмма. В форме появится рамка элемента управления, а также откроется первое диалоговое окно мастера Создание диаграмм (рис. 11.45). Рис. 11.45 Первое диалоговое окно мастера Создание диаграмм 3. В диалоговом окне мастера выберите таблицу или запрос для создания диаграммы и щелкните кнопку Далее. 4. В следующем диалоговом окне мастера выберите поля с данными, которые следует поместить в диаграмму (рис. 11-46). Для этого с помощью кнопок ♦со стрелками* перенесите поля из списка Доступные поля в список Поля диаграммы (допускается добавление не более шести полей). Щелкните кнопку Далее, чтобы перейти к следующему окну мастера.
496 Глава 11. Сводные таблицы и диаграммы . Д- — . — — । 'll „, II— Рис. 11.46 Выберите поля с данными, которые будут включены в диаграмму 5. Выберите тип диаграммы, «включив» кнопку с изображением выбранно- го типа, руководствуясь описаниями типов, отображаемыми в окне маете- ж ра. Щелкните кнопку Далее. 6. В следующем диалоговом окне мастера (рис. 11.47) будет изображен макет диаграммы, в который нужно добавить поля рядов, категорий и данных. Перетащите поля из списка указателем мыши. Чтобы изменить тип груп- пировки или вычислений дважды щелкните поле, добавленное в макет диаграммы. Щелкните кнопку Образец, чтобы увидеть сделанные вами установки на макете диаграммы. Когда все настройки в этом диалоговом окне будут сделаны, щелкните кнопку Далее, г* т ГТ ТТТ'З I Рис. 11.47 Настройте поля диаграммы Выбфите»м» т ofajwew* донымр шыговим Пдотачигв «ио™*» ллй • облапь ОЙГЖЖМ ГОШ Пибугге» Н5*вННГТ> /рутмровсл НИИ дмиды «raw? m лтгрщи* чюмаегг кяж или пом типа дат В Г* ссылок . | 7. В предпоследнем диалоговом окне мастера установите соответствие между полями (для изменения данных на диаграмме при переходе между запися- ми). Мастер предлагает свой вариант соответствия. Подтвердите его или сделайте новый выбор с помощью раскрывающихся списков. Щелкни ге кнопку Далее. 8. В последнем диалоговом окне задайте имя диаграммы, установите фла- жок для параметра Вывести справку по работе с диаграммой, если это не- обходимо, и щелкните кнопку Готово. «
497 Добавление диаграмм в формы и отчеты —м—— I ——— I" — — ИВ 1 ' w в 1 ‘ 9. После определенной паузы диаграмма будет вставлена в форму. Просмот- рите ее вид в режиме формы (см. рис. 11.43 вверху) или в режиме предва- рительного просмотра. Пусть вое не смущает вид только что вставленной диаграммы в режиме конструкто- ра. Здесь будет вставлено формальное изображение диаграммы, не соответствую- щее данным. В режиме формы «все встанет на свои места». При работе с диаграммой Microsoft Graph пользователь имеет возможность изменить вид диаграммы или данные, используемые для ее создания. Чтобы из- менить размер диаграммы, перетащите ее границы в режиме конструктора фор- мы. Чтобы изменить данные, используемые для создания диаграммы, следует изменить базовую таблицу или запрос, указанные в свойстве объекта Источник строк. Чтобы изменить внешний вид диаграммы следует изменить ее оформление, открыв приложение Microsoft Graph: 1. Откройте форму или отчет в режиме конструктора. 2. Чтобы открыть окно приложения Microsoft Graph, дважды щелкните диа- грамму. Окно программы Microsoft Graph отобразится в окне Access (рис. 11Л8). Рис. 11.48. Открыв Microsoft Graph из Access, можно изменить внешний вид диаграммы 3. Сделайте необходимые изменения. Можно, например, изменить формат надписей, цвета и узоры, оси, а также расположение компонентов диа- граммы. Для работы в Microsoft Graph вам «придется вспомнить» старый интерфейс, осно- ванный на меню и панелях инструментов. Для получения дополнительных сведений о работе в приложении Microsoft Gyaph в меню Справка выберите команду Справка: Microsoft Graph.
498 Глава 11. Сводные таблицы и диаграммы 4, Завершив редактирование, щелкните на ♦пустом месте* рабочей области, чтобы выйти из приложения Microsoft Graphs 5. Проверьте вид диаграммы в режиме формы. Допускается изменение данных, по которым строится диаграмма, путем редакти- рования таблицы в Microsoft Graph. Однако Access проигнорирует эти изменения. Чтобы действительно изменить данные, которые отображаются в диаграмме, сле- дует изменить базовую таблицу или запрос, указанные в свойстве Источник строк Если диаграмма не связана с изменяющимися данными формы, то для экономии места на жестком диске ее можно преобразовать в рисунок. Учтите, что после этого диаграмму изменить будет невозможно. Откройте форму с диаграммой в режиме конструктора. Выделите диаграмму и ее контекстном меню выполните команду Преобразовать элемент в | Рисунок (рис. 11.49). Рис. 11.49 Преобразуйте диаграмму в рисунок 600 200 - Карточка (асе данные) 400 Построить Обработка событий... ммпшж Объект Chart Преобразовать элемент в Попе Последовательность перехода Вмрпатъ Копировать Вставить Вставить формат Вмровилтъ Ркшер Полвдкенис Макет ХДМмть Привязка Цвет тексте Рфорамекме Надпись £пмсок Прле со с пн с с о ад фпажок Выключатель Переключатель Л Кнопка ЙГ свойства 0 Цвет чииасн^фона t г »
Глава 12 Защита данных и безопасность Информация, сохраняющаяся в базе данных, является ценным ресурсом. Поэтому вопросы ее безопасного хранения являются очень существенными в любой системе управления базами данных. Прежде всего, любому владельцу базы данных важно защитить данные от несанкционированного доступа, т.е. просмотра, изменения или удаления содержащихся в ней записей со стороны лиц, которые не уполномочены на эти действия, а при наличии каких-либо тех- нических проблем, например, сбоя электропитания, иметь возможность восстановления данных. При совместной работе с базой данных группы пользователей возникает до- полнительная проблема, связанная с возможностью одновременного запроса или модификации одних и тех же записей несколькими пользователями. В Access для предотвращения подобных конфликтов реализован механизм транзакций и блокировок, в соответствии с которым обеспечивается защита об- рабатываемых записей и управляемое предоставление одному из пользователей исключительного права доступа к конкретным записям. Кроме того, важно обеспечить исправную и надежную работу самой базы дан- ных, а также свести к минимуму вероятность выполнения программных моду- лей, способных повредить либо программу, либо открытую в ней базу данных, т.е. обеспечить безопасность работы самой программы Access 2007. Защита данных Для защиты данных от несанкционированного доступа и его последствий в Access 2007 используется ряд способов и средств. Ниже они перечислены в по- рядке повышения уровня обеспечиваемой ими безопасности: резервное копирование базы данных; скрытие объектов в области переходов (см. раздел ♦Группирование объек- тов» главы 3 «Знакомство с программой Microsoft Access 2007»); открытие базы данных в режиме исполняемой версии программы; разделение базы данных на два файла: один — с таблицами, другой — с за- просами, формами и отчетами;
500 Глава 12. Защита данных и безопасность установка пароля базы данных; защита базы данных и ее объектов на уровне пользователей1. Резервное копирование базы данных В программе Access имеется возможность сохранения резервной копии теку- щей базы данных. Чтобы это сделать, необходимо закрыть и сохранить все объ- екты базы данных, а затем в меню кнопки «Office» выполнить команду Управ- ление | Резервная копия базы данных. Откроется диалоговое окно Сохранение, в котором следует задать имя и путь к резервной копии (рис. 12.1). По умолча- нию файл резервной копии сохраняется в той же папке, что и файл базы данных и получает имя, состоящее из имени исходного файла с добавлением в конце даты создания резервной копии, например: Электронная библиоте ка 2007 2007 02 11 .accdb. Рис. 12.1 Сохраните резервную копию базы данных Защита базы данных на уровне пользователей является наиболее универсальным способом, уста- навливающим различные права доступа пользователей к базе данных и ее объектам. В этом спо- собе, на основе паролей и разрешений, предоставляемых отдельным пользователям или группам пользователей, оговариваются действия, которые они могут совершать с объектами базы дан- ных. Непосредственно в Access 2007 для баз данных, созданных в новом формате (.accdb или .accde) защиты на уровне пользователей нет. Однако при открытии и создании «старых* баз дан- ных .mdb (Access 2003 и более ранних), имеющих защиту ня уровне пользователей, в Access 2007 это средство продолжает работать. Вся информация о правах доступа здесь сохраняется в специ- альном файле(он называется «файлом рабочей группы» и имеет расширение .mdw), который под- держивается и в Access 2007. При преобразовании подобной базы данных в новый формат Access автоматически удаляет все параметры безопасности и применяет правила зашиты файлов .accdb и .accde. Также базу данных Access 2007 можно открыть для общего доступа в виде списков на узле Microsoft Windows SharePoint Services 3.0, где с ней смогут работать пользователи. При этом по- является возможность управлять доступом к данным на узле SharePoint, применяя разрешения разных уровней к различным группам или различным пользователям. Можно использовать так- же средства защиты данных, действующие в Microsoft SQL Server, преобразовав базу данных в проект Access.
Защита данных 501 Кодирование базы данных - Г • -- Кодирование базы данных является одним из простейшим способом ее защиты. За- кодированный файл базы данных сжимается и шифруется так, чтобы он был недос- тупным для чтения в служебных программах и текстовых редакторах. В файлах Access 2007 средства кодирования не используются. Но если вы работаете с базой данных «старого» формата, в Access 2007 вы можете закодировать базу данных с помощью кнопки Закодировать или раскодировать базу данных, которая появляется в разделе Работа с базами данных на одноименной вкладки Ленты. Операция кодирования базы данных является обратимой. Файл закодированной базы данных не отличается от обычного файла ни именем, ни расширением. Сжатие и восстановление базы данных Сжатие и восстановление базы данных является процедурой ее обслуживания. При работе с базой данных, создании объектов, заполнении таблиц, неизбежно доста- точно частое удаление данных и объектов, что может привести к фрагментации файлов и неэффективному использованию дискового пространство. Процедура сжатия файла базы данных обеспечивает «перезапись» файла, что оптимизирует способ его записи на диске. Кроме того, при сжатии базы данных, в которой были удалены записи из конца какой-либо таблицы, значение поля счетчика в этой таб- лице сбрасывается (для следующей добавляемой записи значение счетчика будет на единицу больше последней неудаленной записи). Чтобы сжать открытую базу данных, в меню кнопки «Office» выполните команду Управление Сжать и восстановить базу данных (рис. 12.2). Процедура выполняется автоматиче- ски, и Access замещает исходный файл его сжатой копией. Сжатие базы данных может проводиться автоматически при ее закрытии Для этого в разделе Текущая база данных диалогового окна Параметры Access необходимо установить флажок для параметра Сжимать при закрытии. Рис. 12.2 Выполните сжатие и восстановление базы данных с помощью этой команды (вверху) или задайте их выполнение при закрытии базы данных (внизу)
502 Глава 12. Защита данных и безопасность Открытие базы данных в режиме исполняемой версии программы Исполняемая версия программы Access 2007 обеспечивает полноценное функционирование базы данных, но не предоставляет пользователю никаких средств для редактирования ее структуры, создания и модификации объектов (в ней просто нет соответствующих элементов интерфейса, например области пе- реходов, Ленты, панели быстрого доступа и др.). Программа может быть откры- та в этом режиме с помощью ключа командной строки /runtime (см. раздел «Параметры командной строки для запуска Access» главе 3 «Знакомство с программой Microsoft Access 2007»). А для базы данных формата .accdb предоставляется еще одна возможность «попасть в этот режим». Новый формат файлов .accdr загружает базу данных в исполняемую версию программы Асееве 2007. Чтобы получить базу данных этого формата, просто замените расширение файла базы данных c.accdb на accdr в окне папки Wi ndows, а затем откройте эту базу данных двойным щелчком или с помощью ярлыка (рис. 12.3). Рис. 12.3 База данных Электронная библиотека 2007 открыта в исполняемой версии программы Access 2007 Электронная библиотек» 2007 Электронная библиотека 2007 Что нужно сделать? Очерти / Вы6р?гь4<фму дли 1юмс.кй данных Выбрать другие действия (обновление, На значке базы данных .accdr отображается «замок» (рис. 12.4). «Закры- тую» базу данных нельзя открыть из полнофункциональной версии программы. Чтобы восстановить полную функциональность, можно просто вернуть файлу «старое» расширение файла базы данных .accdb. Рис. 12.4 Значками «с замком» отображаются файлы базы данных .accdr и их ярлыки ^Электронная библиотека 2007.accdr ^Электронная библиотека 2007_2007-02ЧЗ. accdb Я?лык для Электронная библиотека 2007. accd Форма просмотра »! * — I . I -— — - Для того чтобы при загрузке базы донных автоматически открывалась какая-либо форма (например, в Электронной библиотеке 2007 это может быть Кнопоч- ная форма 1, т.е. ее первая страница 1см. рис. 12.3)), сделайте соответствующие установки в диалоговом окне Параметры Access (рис. 12.5). И сделать это нуж- но до изменения расширения файла!
Защита данных 503 Рис. 12.5 Форма просмотра открывается при загрузке базы данных Параметры запуска «старых» файлов В «старых» версиях файлов базы данных можно было задавать параметры запус- ка, которые определяли вид окна программы Access и его функциональные воз- можности при открытии конкретной базы данных. В Access 2007 этих настроек нет, но для баз данных .mdb они поддерживаются, то есть программа Access 2007 от- крывается с теми ограничениями функциональности и настройками, которые были заданы в файле базы данных .mdb Разделение базы данных База данных может быть разделена на серверную и клиентскую части, между которыми устанавливаются связи. Серверная часть, которая вкл ючает в себя только таблицы» размещается на сетевом сервере или в общей папке. Клиент- ская часть, в которой содержатся формы, отчеты и другие объекты, а также ус- тановлены связи с таблицами серверной части, копируется на компьютерах пользователей. Каждый пользователь получает право изменять объекты в собст- венной (клиентской) базе данных, не влияя при этим на «базы данных» других пользователей- Использование такого разделения позвол нет пользователям иметь доступ к общему источ нику данных. Естественно» что такое разделение базы данных можно выполнить «вруч- ную». Но гораздо удобнее воспользоваться «услугами мастера», имеющегося в Access 2007.
504 Глава 12. Защита данных и безопасность 1. Откройте базу данных» которую нужно разделить. 2. Перейдите на вкладку Работа с базами данных Ленты и в разделе Пере- местить данные щелкните кнопку База данных Access. 3. Появится диалоговое окно Разделение базы данных, в котором представ- лена информация по проведению процедуры разделения (рис. 12.6). Про- чтите ее и щелкните кнопку Разделить. Рис. 12.6 Диалоговое окно мастера разделения базы данных Разделений базы данных хесущлй будут переводе** в новую базу. Эго паэдтг уменышлърбнен £®ТМ И ПРОДОЛЖИТЬ (Шр&бсТЧу ^ГерфвИС#, М* * иячё-я* вянйиг к не грерьввв рвбош. Ехви ба» данных зашифрована t гирвлен. яовш база ванны» с таблицами не будет жаденв паролвч и будет доступиавсейполмомгелмк Добайлвже t <доля иля базы данныт г т йлтихы необходим будет снова прооесгм йосле разделения, OrmptwH» ио*е* гютребовдгъ много йрученм Перед разделением базы данных создайте ее резервную *ога*& Разделить базу >анны»? [ЬЙгО LjSWg; J : • - Г 4. В диалоговом окне Создание базы данных с таблицами, которое появится на экране (рис. 12.7), следует задать имя и расположение создаваемой базы данных с таблицами и щелкнуть кнопку Разделение. Можно сразу указать место на сервере или в общей папке, куда следует поместить об- щий файл базы данных. Рис. 12.7 Задайте имя и место расположения серверной части базы данных
Защита данных 505 5. После определенной задержки, связанной с работой мастера, появится ин- формационное окно, содержащее сообщение о том, что база данных была успешно разделена. К имени базы данных с таблицами, если вы его не из- меняли, будет добавлено окончание «_Ье». Клиентская часть базы данных останется на старом месте под старым именем (рис. 12.8). Рис. 12.8 Клиентская часть разделенной базы данных содержит только связанные таблицы 6. Скопируйте клиентскую часть базы данных на компьютеры пользовате- лей. Разделенные базы данных можно зашифровать паролями (см. следующий раздел этой главы и замечание «Об использовании таблиц защищенных баз дан- ных > в его конце). Использование пароля для шифрования базы данных Средство шифрования базы данных в Access используется для предотвраще- ния открытия и просмотра данных посторонними липами. В Access 2007 оно представляет собой комбинацию двух средств — кодирования базы данных и ее защиты паролем доступа. При задании пароля все данные становятся нечитае- мыми в других приложениях, а для того чтобы открыть, базу в Access 2007, необходимо ввести пароль (рис.12.9). Рис. 12.9 Введите пароль базы данных, чтобы ее открыть Если пароль введен неверно, то он будет запрошен вновь. Если в диалоговом окне Необходимо ввести пароль, щелкнуть кнопку Отмена, то команда откры- тия базы данных будет отменена.
506 Г лава 12. Защита данных и безопасность О выборе пароля Для паролей используется комбинация прописных и строчных букв, цифр и симво- лов (учитывается регистр знаков). Надежным пароль считают, если в нем представ- лены все перечисленные элементы, например, ХП9н?9Т Ненадежным паролем может быть Пятница 13 или 21янв1991. Пароль следует хорошо запомнить или записать в недоступном для других месте. Хранить пароль следует отдельно от базы данных. Если пароль будет утерян, открыть базу данных станет невозможно, а ка- кими-либо средствами пароль восстановить нельзя. Шифрование базы данных с использованием пароля Чтобы задать пароль, откройте базу данных в режиме монопольного доступа (см. раздел «Открытие базы данных» главы 3 «Знакомство с программой Microsoft Access 2007»), а затем: 1. В разделе Работа с базами данных вкладки Работа с базами данных Лен- ты щелкните кнопку Зашифровать паролем. Откроется диалоговое окно Задание пароля базы данных (рис. 12.10). Рис. 12.10 Диалоговое окно Задание пароля базы данных 2. Введите пароль в поле Пароль, а затем повторите его в поле Подтвержде- ние. 3. Щелкните кнопку ОК. При следующем открытии базы данных у пользо- вателя будет запрошен пароль. Открытие зашифрованной базы данных 1. Откройте зашифрованную базу данных точно так же, как любую другую. Перед загрузкой в программу Access 2007 базы данных на экране появит- ся диалоговое окно Необходимо ввести пароль. 2. Введите пароль в поле Введите пароль базы данных и нажмите кнопку ОК. 3. Если пароль введен неверно, появится сообщение Access «Ошибочный па- роль!». Щелкните кнопку ОК, чтобы повторить попытку ввода пароля. 4. Если в диалоговом окне Введите пароль базы данных щелкнуть кнопку Отмена, открытие базы данных будет отменено, а программа Access «пере- несет» вас на страницу Приступая к работе с Microsoft Office Access. Удаление пароля Чтобы удалить пароль, откройте базу данных в режиме монопольного досту- па (см. раздел «Открытие базы данных» главы 3 «Знакомство с программой Microsoft Access 2007»), а затем: /
Защита данных 507 1. В разделе Работа с базами данных вкладки Работа с базами данных щелк- ните кнопку Расшифровать базу данных. 2. Откроется диалоговое окно Удаление пароля базы данных. 3. Введите пароль в поле Пароль и нажмите кнопку ОК. Об использовании таблиц защищенных баз данных При создании связи с таблицей из защищенной паролем базы данных необходимо ввести правильный пароль. Если пароль указан верно, Access сохраняет его вместе с информацией о связи с таблицей. После создания связи любой пользователь, кото- рый может открывать базу данных, с которой связана таблица, сможет открыть свя- занную таблицу. Если пароль у базы данных будет изменен, то открыть связанную таблицу будет нельзя, и придется устанавливать связь заново, указав новый пароль. Защита на уровне пользователей для баз данных .mdb При использовании защиты на уровне пользователей в файлах баз данных .mdb каждый пользователь идентифицируются с помощью файла рабочей груп- пы по их личным кодам и паролям как авторизованные индивидуальные поль- зователи и как члены конкретных групп. В Access есть две стандартные группы пользователей: администраторы (группа «Admins») и пользователи (группа «Users»). Также допускается определение дополнительных групп. Для группы «Admins» создается учетная запись группы системных администрато- ров, имеющих полные разрешения на все базы данных, используемые рабочей группой. Программа установки автоматически добавляет в группу «Admins» стан- дартную учетную запись пользователя «Admin». Для группы «Users» создается учетная запись, в которую включаются все учетные записи пользователей. Про- грамма Access автоматически добавляет создаваемые учетные записи пользовате- лей в группу «Users». Корректная установка защиты на уровне пользователя является достаточно сложной и кропотливой работой. В Access для этого используются команды меню кнопки Пользователи и разрешения, которая находится в разделе Адми- нистратор вкладки Работа с базами данных Ленты. Но в том же меню есть ко- манда запуска мастера защиты (рис. 12.11), который обеспечивает относитель- но быстрое и понятное выполнение всех необходимых процедур. Если вы вос- пользуетесь этой возможностью, то остальные команды можно будет использовать только для внесения изменений в состав групп и в назначенные права пользователей. Рис. 12.11 Команды меню кнопки Пользователи и разрешения используются для установки защиты базы данных на уровне пользователей Поль-окатали': Параметры ‘и разрешения *5реп*«влияй- — 1 — «I г-—.................. Разрешения... Пользователи и группы. на уровне пользователем
508 Г лава 12. Защита данных и безопасность Мастер защиты Для создания защиты на уровне пользователей с помощью мастера защиты* откройте базу данных и выполните следующее: 1. В меню кнопки Пользователи и разрешения, которая находится в разделе Администратор вкладки Работа с базами данных Ленты, выберите ко- манду Мастер защиты па уровне пользователей. Мастер защиты создает резервную копию текущей базы данных в той же папке и с тем же именем (с расширением .bak). 2. Появится первое диалоговое окно мастера защи гы, в котором следует вы- брать выполняемую им задачу, установив переключатель в одно из поло- жений: Создать файл рабочей группы или Изменить текущий файл рабо- чей группы (рис. 12.12). Если рабочих групп до этого создано не было, то доступным будет только первый вариант. Щелкните кнопку Далее. Рис. 12.12 В первом диалоговом окне мастера защиты выберите задачу: создание нового файла рабочей группы или изменение существующего файла 3. В следующем диалоговом окне мастера (рис. 12.13) следует определиться с файлом рабочей группы. Можно использовать создаваемый файл рабо- чей группы для всех баз данных Access по умолчанию или со ?дать ярлык для защищаемой базы данных (с помощью ярлыка программа Access бу- дет загружаться с параметрами открытия файла текущей базы данных и создаваемого файла рабочей группы). Установите переключател ь в ниж- ней части окна мастера в выбранное положение. Также задайте имя файла и его расположение (можно использовать кнопку Обзор для выбора папки и указания имени), код рабочей группы (можно оставить предлагаемый Access вариант кода), имя и организацию (необязательно). Щелкните кнопку Далее.
Защита данных 509 Рис. 12.13 Задайте параметры файла рабочей группы 4. Ознакомившись с содержанием следующего окна мастера защиты (рис. 12.14)» вы поймете, что по умолчанию будет проверяться защита всех существующих объектов базы данных и всех создаваемых после вы- полнения мастера объектов. Списки объектов сгруппированы по типам и расположены на различных вкладках. Отметьте объекты, которые нуж- но защитить. Снимите флажки для тех объектов, защита которых не тре- буется. Можно просто щелкнуть флажки или воспользоваться кнопками Очистить Выделить, Выделить все и Очистить все. Щелкните кнопку Да лее для перехода к следующему окну. Рис. 12.14 Отметьте объекты базы данных, которые следует защитить
510 Глава 12. Защита данных ибезопасность 5. Мастер предложит создать учетные записи для необязательных рабочих групп (в дополнение к «Admins» и «Users»). Если вы хотите, можете доба- вить в фай л сведений группы «Операторы архива», «Разработчики проек- та» и др. (рис. 12.15). Выделите группу в списке и просмотрите ее описа- ние в поле Разрешения для группы. Установите флажки для тех групп, которые вы решили добавить. Можно указать код новой рабочей группы или оставить его таким, как было предложено программой Access. Щелк- ните кнопку Далее. Рис. 12.15 В этом диалоговом окне мастера можно создать необязательные рабочие группы Рис. 12.16 Г руппе «Users» можно предоставить любые разрешения 6. Все пользователи входят в группу «Users», которая имеется в файлах всех рабочих групп. По умолчанию она не имеет никаких разрешений. Если вы хотите, то можете присвоить этой группе определенные разрешения (все
Защита данных 511 разрешения» предоставленные группе «Users», означают отсутствие за- щиты!). Установите переключатель в диалоговом окне мастера (рис. 12.16) в одно из положений: Да, группе Users нужно предоставить некоторые разрешения или Нет, у группы не должно быть никаких разре- шений. Если разрешения нужно предоставить, то конкретизируйте их на вкладках объектов базы данных, установив соответствующие флажки. Щелкните кнопку Далее. 7. В следующем диалоговом окне необходимо добавить пользователей в файл рабочей группы. Каждый пользователь однозначно идентифицируется кодированным значением, созданным на основе его имени и личного кода. Имя и личный код задаются в полях этого диалогового окна (рис. 12.17). Чтобы добавить пользователя в список файла рабочей группы, нужно щелкнуть кнопку Добавить пользователя в список. Чтобы удалить поль- зователя из списка, нужно выделить его в списке и щелкнуть кнопку Уда- лить пользователя из списка. Если выделить пользователя в списке, то можно отредактировать его пароль и личный код. Когда все пользователи будут заданы, щелкните кнопку Далее. Рис. 12.17 Добавьте пользователей в файл рабочей группы 8. Пользователей следует распределить по рабочим группам. Для этого в сле- дующем диалоговом окне мастера защиты (рис. 12 Л 8) можно действовать двумя способами: указать, в какие группы входит каждый пользователь, или какие пользователи входят в каждую группу. Выберите способ дейст- вий, установив переключатель в одно из положений: Выбрать пользовате- ля и включить его в группы или Выбрать группу и включить в нее пользо- вателей. Затем выберите группу или пользователя из раскрывающегося списка поля Группа или пользователь и установите флажки для пользова- телей или групп в списке. Проделайте то же самое для каждого пользова- теля или для каждой группы. Когда пользователи будут распределены по группам, щелкните кнопку Далее
512 Глава 12. Защита данных и безопасность Рис. 12.18 Распределите пользователей по рабочим группам 9. В последнем диалоговом окне мастера защиты задайте имя и место распо- ложения резервной копии базы данных. Если необходимо, установите флажок для параметра Вывести справку по настройке защиты. Когда вы щелкните кнопку Готово, будет создав файл рабочей группы, а также вы- веден отчет, в котором содержится важная информация из файла рабочей группы (рис. 12.19). Отчет можно распечатать или сохранить в файле. Храните отчет в надежном месте. Он может понадобиться в дальнейшем для восстановления файла рабочей группы или для восстановления досту- па к защищенной базе данных. О разрешениях Можно говорить, что существуют два типа разрешений: явные и неявные. Явные разрешения непосредственно присвоены учетной записи пользователя. Неявные разрешения присвоены учетной записи группы. Пользователь может быть включен в одну или несколько групп. Тогда он получит все разрешения, предоставленные группам. Удаление пользователя из конкретной группы ли- шает его разрешений, присвоенных этой группе. Допустимые для пользователя действия с объектом определяются комбинацией его явных и неявных разрешений. Наиболее простым способом управления рабочей группой является создание новых групп и определение разрешений на доступ для этих групп, а не для инди- видуальных пользователей. Затем отдельные пользователи могут быть добавле- ны в соответствующие группы или удалены из групп. Преимущество создан ия групп состоит в том, что при необходимости предоставить новые разрешения^ они предоставляются сразу всем членам группы с помощью всего лишь одной операции. Изменять разрешения других пользователей на отдельные объекты базы дан- ных могут не все пользователи. Это право дано: владельцу объекта, пользовате- лям, входящим в группу «Admins*, определенную в файле рабочей группы, ко- торый использовался при создании базы данных, а также пользователю, полу- чившему разрешение администратора на конкретный объект.
Защита данных 513 Рис. 12.19 Отчет о созданном файле рабочей группы Отчет мастера защиты Дшиъй отчет <вдсдот ясеспеджмпъ «соСвк^рные ап* оосшвдмш* «►яйлв рабочей группы tt mmx-vkmmcmui доступа к зжфшуекняй Симе г уж *ых • случае поицгеж/^^ип. Нлпечамй«г мпв лксвормрубпс этот ипж* ксшфпмя wens а иад*ч»езм мес«г Нсыииидож* 6*M/>N*MC С Vocumeib and SetCngjVBKY^on лрсучотДи>ак Зкцмцашп Вам лани вг С Г осилили aid &еШгкв\ДВКу4ан шхупвлъА2лк*> ♦«Ап рабочей груеаы. С VaunmU aid SeBr»geVBK>lDM nxvnotnASear^yjndw Лоямтмапгепи Мочдаер Oproaoai^ie О$»к Кацрабочей грулпыв SoXnAjoQxYhMxegF Эицищгни Г cfrtoctba ибшцыс Табгмцд! «Яовье tjL кы и тагроон» Зтрош: •toeee иб'жы и >впсхкм> •ермы 4Фвые форню Отчеты: <*жые отчеты» Макросы: «Яовыв ПВфООО Баао^ямс Пфоге» VfiE не улаквлтя Группы №«: Опфвтррыармвв Код группы! QoonaMucdBIPvftS Iters №< Иводв Петров H*w IW1 Кодгруппе <Олдам« ранее» Uteri: №< Иашоа Петров Оивроа фмегаастдм jaagew 13 саарал. 2007 г Пользователь, создавший таблицу, запрос, форму, отчет или макрос, являет- ся владельцем этого объекта. Пользователи, которые могут изменять разреше- ния в базе данных, могут сменить владельца объекта или заново создать объек- ты, что является альтернативным способом смены владельца. Создать объект заново достаточно просто. Для этого достаточно его импортировать или экспор- тировать в другую базу данных или сделать его копию. Такой способ является простейшим вариантом смены владельца объекта, в том числе и всей базы данных. Организация учетных записей На самом деле система защиты Access всегда включена. До создания или из- менения пользователем файла рабочей группы Access работает с подключением всех пользователей с помощью встроенной учетной записи «Admin» с пустым паролем. Access «незаметно» для пользователя использует учетную запись «Admin» как администратора рабочей группы, а также как владельца всех создаваемых баз данных, таблиц, форм, отчетов и макросов. 17 Асеева 2007
514 Глава 12. Защита данных и безопасность В системе защиты базы данных и ее объектов на уровне пользователей нали- чие администраторов и владельцев является необходимым, так как им предос- тавляются обязательные разрешения, которые нельзя отменить. Администра- торы (в предельном случае отсутствия защиты запись «Admin») получает все разрешения на объекты, созданные в рабочей группе. Пользователи, являю- щиеся владельцами таблиц, запросов, форм, отчетов или макросов получают все разрешения на доступ к этим объектам. Пользователь, являющийся владельцем базы данных, всегда может открыть базу данных. Первым шагом при организации системы защиты является определение учетных записей (или общей учетной записи) администратора и владельца. В группу «Admins» разрешается добавлять любое количество учетных записей пользователей, но владельцем базы данных может быть только один — тот, ко- торый был активным при создании базы данных, либо при создании новой базы данных и импорта в нее всех объектов из исходной базы данных. Чтобы исклю- чить возможность подключения пользователей с помощью учетной записи ♦Admin», ее следует исключить из группы «Admins». Далее можно создавать группы и учетные записи и предоставлять им необхо- димые разрешения. Если файл рабочей группы был создан с помощью мастера, структуру рабочих групп и пользователей можно просмотреть и изменить с по- мощью команд из меню кнопки Пользователи и разрешения раздела Админист- ратор вкладки Работа с базами данных Ленты (см. рис. 12.11). Вход в базу данных Если для рабочей группы задействована процедура входа, то перед открыти- ем базы данных на экран будет выводиться диалоговое окно Вход (рис. 12.20). С его помощью проводится идентификация пользователя. Неверные или неука- занные имя или пароль не позволят открыть базу данных. Рис. 12.20 Диалоговое окно Вход «требует» ввести имя пользователя и пароль для входа в базу данных Процедура входа в базу данных с помощью учетной записи рабочей группы может быть описана следующим образом: 1. Откройте базу дан ных с помощью файла рабочей группы, щелкнув ярлык, созданный мастером, или указав в командной строке параметр /wrkgrp Путь и имя файла рабочей группы. 2. На экране появится диалоговое окно Вход. 3. Введите имя учетной записи пользователя в поле Имя. Регистр знаков здесь не учитывается. Введите пароль в поле Пароль. Пароли вводятся с учетом регистра. Если пароль задан не был, оставьте это поле пустым. 4. Щелкните кнопку ОК, чтобы открыть базу данных от имени конкретного пользователя.
Защита данных 515 Создание новой учетной записи группы Чтобы создать новую учетную запись группы, в которую можно впоследст- вии добавлять пользователей, нужно сделать следующее: 1. Откройте базу данных с правами администратора. 2. В меню кнопки Пользователи и разрешения выберите команду Пользова- тели и группы. 3. На вкладке Группы диалогового окна Пользователи и группы (рис. 12.21) щелкните кнопку Создать. Рис. 12.21 Щелкните кнопку Создать в диалоговом окне Пользователи и группы. чтобы создать новую учетную запись группы пользователей 4. Появится диалоговое окно Новый пользователь или группа (рис. 12.21), в котором введите имя новой учетной записи и личный код. Сохраните имя и код (с учетом регистра знаков) учетной записи в надежном месте. Если имя или код учетной записи будут утеряны и забыты, восстановить их будет невозможно. 5. Щелкните кнопку ОК. В поле Имя появится только что добавленная вами группа пользователей. Удаление группы Чтобы удалить группу, выберите ее в раскрывающемся списке поля Имя и щелкни- те кнопку Удалить Создание новой учетной записи пользователя Чтобы создать учетную запись для нового пользователя: 1. Откройте базу данных с правами администратора. 2. В меню кнопки Пользователи и разрешения выберите команду Пользова- тели и группы. 3. На вкладке Пользователи (рис. 12.22) щелкните кнопку Создать» 4. В диалоговом окне Новый пользователь или группа введите имя новой учетной записи и личный код. Запишите имя и код (с учетом регистра зна- ков) учетной записи и храните их в надежном месте. Если имя или код учет- ной записи будут утеряны и забыты, восстановить их будет невозможно.
516 Г лава 12. Защита данных и безопасность Рис. 12.22 На вкладке Пользователи диалогового окна Пользователи и группы щелкните кнопку Создать, чтобы создать новую учетную запись пользователя 5. Щелкните ОК, и новая учетная записи пользователя будет добавлена в группу «Users*. Имя учетной записи пользователя не может совпадать с именем учетной записи группы, и наоборот. Удаление учетной записи Чтобы удалить учетную запись пользователя, выберите ее в раскрывающемся спи- ске поля Имя и щелкните кнопку Удалить. Добавление пользователей в группы Для добавления пользователя в группу: 1. Откройте базу данных с правами администратора. 2. В меню кнопки Пользователи и разрешения выберите команду Пользова- тели и группы. 3. На вкладке Пользователи в поле Имя выберите из раскрывающегося спи- ска имя добавляемого в группу пользователя. 4. В списке Имеющиеся группы выделите группу, в которую добавляется пользователь (рис. 12.23), и щелкните кнопку Добавить. 5. Имя выбранной группы появится в списке Участие в группе, 6. Повторите действия» чтобы добавить текущего пользователя в другие группы, а также, чтобы добавить других пользователей в группы. Изменение пароля пользователя С помощью вкладки Изменение пароля (рис. 12.24) диалогового окна Поль- золотели и группы можно изменить пароль для текущего пользователя. Если учетная запись не имела пароля, оставьте поле Текущим пароль пустым, в про- тивном случае введите в него старый пароль пользователя. Введите новый пароль в поле Новый пароль. Повторно введите новый пароль в поле Подтверждение и щелкните кнопку ОК. Пароль пользователя будет изменен.
Защита данных 517 Рис. 12.23 Щелкните кнопку Добавить, чтобы включить пользователя «Кузнецов» в группу «Операторы архива» Рис. 12.24 С помощью вкладки Изменение пароля диалогового окна Пользователи и группы можно изменить пароль текущего пользователя Присваивание или удаление разрешений на доступ к базе данных и ее объектам Чтобы присвоить или изменить разрешения на доступ к объектам базы данных: 1- Откройте базу данных. 2. В меню кнопки Пользователи и разрешения выберите команду Разреше- ния 3. Появится диалоговое окно Разрешения (рис. 12.25). в котором на вкладке Разрешения установите переключатель в положение пользователи или группы, а затем в списке Пользователи и группы выберите пользователя или группу, которым нужно присвоить разрешения, 4. Выберите нужный тип объекта в раскрывающемся списке Тип объекта, а затем — объект в списке Имя объекта. Если вы хотите выделить сразу не- сколько объектов в списке Имя объекта, перетащите по их именам указа- тель мыши или щелкните их последовательно при нажатой клавише Ctrl. 5. В группе Разрешения установите или снимите флажки, определяющие со- ответствующие разрешения (см. таблицу № 12.1). Щелкните кнопку При- менить.
518 Глава 12. Защита данных и безопасность Рис. 12.25 Диалоговое окно Разрешения Разрешения для вновь создаваемых объектов Если выбрать <Новые Типобъекта> в списке Имя объекта, то разрешения бу- дут установлены для вновь создаваемых объектов базы данных выбранного типа. Такие стандартные разрешения может присваивать только пользователь, имеющий учетную запись администратора, или владелец базы данных. Таблица 12.1 Разрешения на доступ к объектам базы данных Разрешение Допускаемые действия над объектами Открытие/за пуск Открытие базы данных, формы или отчета, запуск макроса. Монопольный доступ Для баз данных — открытие базы данных для монопольного доступа. Чтение макета Просмотр таблиц, запросов, форм, записей или макросов в режиме конструктора. Изменение макета Просмотр и изменение структуры таблиц, запросов, форм или макросов или их удаление- Администратор Для баз данных — установка пароля базы данных, реплика- ция базы данных и изменение параметров запуска. Для таб- лиц, запросов, форм, отчетов и макросов — все разрешения на объекты и данные, в том числе предоставление разреше- ний на доступ. Чтение данных Просмотр данных в таблицах и запросах Обновление данных Просмотр и изменение данных в таблицах и запросах, но без их вставки или удаления. Вставка данных Просмотр и вставка данных в таблицах и запросах, но без их изменения или удаления. Удаление данных Просмотр и удаление данных в таблицах и запросах, но без их изменения или вставки.
Защита данных 519 6. Повторите процедуру для всех объектов, доступ к которым нужно предос- тавить» а также для всех пользователей и групп, которым нужно дать раз- решения. Предоставление некоторых разрешений автоматически дает другие разрешения. Например, если дать разрешение «обновление данных», то предоставляются так- же разрешения «чтение данных» и «чтение макета». Разрешения на переименованные объекты При изменении объекта и его последующем сохранении разрешения на доступ к нему сохраняются. Однако если объект сохраняется под новым именем, он стано- вится новым объектом и, следовательно, получает разрешения, установленные по умолчанию для данного типа объектов, а не разрешения исходного объекта. Отключение вывода диалогового окна Вход Если можно ограничиться едиными разрешениями доступа для всех пользо- вателей, можно запускать базу данных Access с автоматической регистрацией по учетной записи пользователя «Admin» в группе «Users» и разрешениями, оп- ределенными для этой группы. При этом не нужно будет вводить имя и пароль, поэтому окно Вход при открытии базы данных отображаться не будет. Защита на уровне пользователей не отключается. Проделайте следующее: 1. Откройте базу данных. 2. В меню кнопки Пользователи и разрешения выберите команду Пользова- тели и группы. 3. Перейдите на вкладку Пользователи. 4. В поле со списком Имя выберите Admin и щелкните кнопку Снять пароль. 5. При следующем открытии базы данных любым членом рабочей группы, к которой вы присоединились, диалоговое окно Вход появляться не будет. Снятие защиты на уровне пользователей Чтобы отказаться от защиты на уровне пользователей: 1. Откройте базу данных, в которой установлена защита на уровне пользова- телей, как администратор. 2. Предоставьте группе «Users» разрешения на доступ ко всем таблицам, формам, отчетам и макросам базы данных. 3. Закройте и снова запустите Access. 4. Создайте новую, пустую базу данных, подключившись к ней как админи- стратор, и оставьте ее открытой. 5. Импортируйте все объекты из исходной базы данных в новую. 6. Если пользователи при открытии базы данных будут использовать теку- щий файл рабочей группы, следует снять пароль записи «Admin», чтобы отключить вывод диалогового окна подключения Вход для текущей рабо- чей группы. Эти необязательно, если пользователи будут использовать стандартный файл рабочей группы, созданный при установке Access.
520 Глава 12. Защита данных и безопасность Совместное использование данных Для совместной работы с базой данных нескольких пользователей можно ис- пользовать один из следующих вариантов: Совместное использование всей базы данных. Это наиболее простой способ, в котором все пользователи работают с одними и теми же данными с помо- щью одних и тех же запросов, форм, отчетов, макросов и модулей. Все пол ь- зователи должны использовать базу данных одинаково. В этом варианте база данных просто размещается в общей папке или на сетевом сервере. Программы Access 2007 на компьютерах пользователей должны быть на- строены на открытие баз данных в режиме общего доступа (см. раздел «От- крытие базы данных» главы 3 «Знакомство с программой Microsoft Access 2007»). Совместное использование таблиц базы данных. База данных может быть разделена на серверную часть (которая включает в себя таблицы) и клиент- скую часть (в которой содержатся формы, отчеты и другие объекты). Поль- зователь получает право изменять объекты в собственной клиентской базе данных, не влияя при этом на других пользователей. На сетевой сервер или в общую папку помещаются только таблицы, все остальные объекты хра- нятся на компьютерах пользователей (см. раздел «Разделение базы дан- ных» выше в этой главе). Репликация базы данных. В базах данных .mdb можно создавать копии (ре- плики) базы данных, и периодически синхронизировать их средствами Access. Не подключенные к общей сети пользователи могли независимо ра- ботать каждый со своей репликой, а затем, осуществив удаленное подклю- чение или через Интернет, согласовать сделанные в них изменения. В фор- мате .accdb реплики не поддерживаются. Но в Access 2007 осталась под- держка реплик формата .mdb. Однако нельзя сохранять «старую» реплику в новом формате. Старую реплику можно «вручную» переделать в базу дан- ных формата .accdb. Создание приложения в архитектуре клиент/сервер. В этом случае дан- ные сохраняются в таблицах на сервере базы данных, например на Microsoft SQL Server. Базы данных Access (клиенты) получает требующие- ся данные с сервера. Поддержку целостности данных и выполнение запро- сов обеспечивает сервер. В архитектуре клиент/сервер обеспечиваются рас- ширенные возможности и способы защиты данных. Для этого база данных Access должна быть преобразована в формат Microsoft SQL Server (см. гла- ву 14 «Проекты Access»). Совместное использование базы данных Когда база данных открывается в режиме общего доступа, Access в той же папке, что и файл базы данных, создает файл сведений о блокировке (см. раздел «Файлы блокировки» главыб «Создание баз данных и таблиц»). Этот файл име- ет такое же имя, что и база данных, но другое расширение — -Idb или .laccdb. Он содержит имя компьютера и имена всех работающих пользователей. Программа Access использует его для управления совместной работой. Файл сведений о бло- кировке удаляется при закрытии файла базы данных последним пользователем.
Совместное использование данных 521 Блокировка записей в формах Блокировкой записи называется предоставление одному из пользователей исклю- чительного права доступа к записи. По умолчанию записи блокируются в таблицах базы данных. Чтобы блокировка работала в запросах, формах и отчетах, необхо- димо для этих объектов задать значение свойства Блокировка записей, отлич- ное от Отсутствует, т е. Всех записей или Изменяемой записи Режим общего доступа к базе данных настраивается в разделе Дополнитель- но (рис. 12.26) диалогового окна Параметры Access, открыть которое можно из меню кнопки «Office». Рис. 12.26 Параметры Access, настраивающие режим общего доступа и блокировку записей Ограничения режима общего доступа Во время совместной работы сохранение макета базы данных невозможно. Макет можно изменять только в режиме монопольного доступа к базе данных. Если на данный момент только один пользователь работает с базой, Access предоставит ему временный переход в монопольный режим. После сохранения изменений структуры и закрытия всех окон конструкторов Access переведет базу данных об- ратно, в режим общего доступа. До этого времени другие пользователи не смогут открыть базу данных. Если попытаться изменить структуру базы, открытой несколькими пользователями в режиме общего доступа, то Access может выдать предупреждение о том, что изме- нения могут быть не сохранены. Может потребоваться отключение от базы данных других пользователей.
522 Глава 12. Защита данных и безопасность Программа Access позволяет отслеживать состояние записей. Например, при попытке сохранить заблокированную запись, на экране отображается имя поль- зователя, заблокировавшего запись. В области выделения записи отображаются значки, индицирующие ее текущее состояние (рис. J 2.27). Рис. 12.27 Значки, которые помогают отслеживать состояние записи, отображаются в ее области выделения: текущая запись (вверху), в запись внесены еще несохраненные изменения (посередине) и запись заблокирована другим пользователем (внизу) Если запись была изменена пользователем, но еще не сохранена, другие поль- зователи не смогут увидеть эти изменения. В зависимости от настройки блоки- ровок такая запись может быть недоступна для других пользователей. А если у них есть право редактирования этой записи, то при ее сохранении может быть выведено диалоговое окно Конфликт записи (рис. 12.28), с помощью которого они могут принять решение об отмене изменений, сохранении изменений или сравнении изменений с помощью буфера обмена. Рис. 12.28 Диалоговое окно Конфликт записи Настройка блокировки записей Способ блокировки записей настраивается в разделе Дополнительно диало- гового окна Параметры Access (см. рис. 12.26). Переключатель Блокировка по умолчанию можно установить в одно из положений: отсутствует, чтобы не устанавливать блокировку изменяемой записи для других пользователей: всех записей, чтобы заблокировать все записи в форме, таблице или объек- те в режиме таблицы; изменяемой записи, чтобы заблокировать только изменяемую запись. Блокировка изменяемой записи гарантирует завершение всех начатых изме- нений пользователя Она хорошо подходит к тем случаям, когда конфликты ме- жду пользователями случаются относительно редко. Блокировка всех записей накладывает очень жесткие требования и применяется наиболее успешно в тех случаях, когда право изменения записей имеет весьма ограниченный круг пол ьзовател ей. В этом же разделе диалогового окна параметров можно задать степень детал и- зации блокировки. Если применяется блокировка на уровне страниц, Access бло- кирует страницу с размером 4 кбайт (область памяти, в которой находится за- пись). При этом могут быть заблокированы соседние записи, но обеспечивается более высокое быстродействие. Чтобы установить по умолчанию для текущей базы данных блокировку на уровне страниц снимите флажок параметра Откры- тие баз данных с использованием блокировки на уровне записей (см. рис. 12.26).
Совместное использование данных Включение блокировки на уровне записей Внесенные изменения параметра Открытие баз данных с использованием блокировки на уровне записей вступают в силу при следующем открытии базы данных Access. При этом необходимо использовать команду Открыть из па- нели быстрого доступа, а не список недавно открывавшихся файлов. Обновление записей Для заблокированных записей можно настроить период обновления, а также количество и частоту повторов обновления при их неудачной попытке. В разде- ле Дополнительно диалогового окна Параметры Access (см. рис. 12.26) задайте значения: Период обновления (с). Указывает интервал времени, по истечении которо- го производится автоматическое обновление записи в режиме таблицы или формы. Можно задавать значения от 1 до 32 766 секунд. Если установить значение «О», обновления производиться не будет. Число повторов обновления. Задает количество попыток сохранения изме- ненной записи, если запись была заблокирована другим пользователем. Можно вводить значения от 1 до 10. Период повтора обновления (мс). Указывает промежуток времени, после которого автоматически повторяется попытка сохранения измененной за- писи, если эта запись заблокирована другим пользователем» Можно вво- дить значения от 0 до 1000 миллисекунд. При обновлении отображаются только те данные, которые уже существуют в таблице или форме. Не будут отображены изменения в порядке следования за- писей, новые записи, удаления записей и записи, переставшие удовлетворять условиям отбора. Для просмотра таких изменений нужно повторно запросить базовые записи таблицы или формы. Для управления частотой обновления дан- ных в Access могут также использоваться параметры Период ожидания OLE/DDE (с) и Период обновления ODBC (с). Принудительное обновление записей Чтобы принудительно обновить записи в режиме формы или в режиме таблицы, на вкладке Главная Ленты откройте меню кнопки Обновить в разделе Записи и вы- берите в нем команду Обновить или Обновить все. Для обновления записей в режимах сводной таблицы или сводной диаграммы щелкните кнопку Обновить сводную таблицу в разделе Данные вкладки Конструктор (Работа со сводными таблицами) Ленты. При совместной работе со структурой базы данных можно рассматривать ва- рианты передачи конкретных объектов определенным пользователям- Напри- мер, один разработчик создает формы, а другой — отчеты. Каждый из них мо- жет работать с личной копией базы данных или ее части. По окончании работы можно собрать приложение, экспортировав объекты из копий пользователей в общую базу данных.
524 Глава 12. Защита данных и безопасное! о Работа с репликами баз данных .mdb Репликация базы данных — процесс создания двух или нескольких копий (реплик) одной базы данных. Изменения данных или макета* произведенные в одной из реплик* могут быть синхронизированы с данными основной реплики путем внесения идентичных изменений в данные или макет. Создание реплик и их синхронизация для баз данных формата .mdb обеспечивается средствами программы Access 2007 (рис. 12.29). Рис. 12.29 Создание реплик и их синхронизация обеспечивается средствами программы Access 2007 Пользователи Паршам и разрешения - репликации - Администратор Й________________ ^9 СИМЙРПИИМЦИР.- реплику^.. , , ч , . , , , , ИР Частичная репликация «Й Восстановить основную реплику, устранить конфликты. Перед репликацией базы данных рекомендуется сделать ее резервную копию. Ее можно будет использовать для создания другого набора реплик в аварийных си- туациях. Правда, необходимо учитывать, что синхронизировать копии другого на- бора с оставшимися репликами из первого набора будет нельзя Перед проведением репликации нелишне будет ознакомиться с изменения- ми, которые будут внесены в базу данных. Изменения, вносимые в базу данных при репликации Процесс репликации сопровождается следующими изменениями исходной базы данных: в каждую таблицу вносятся дополнительные поля; добавляются новые таблицы; добавляются новые свойства к базе данных и ее объектам; изменяются значения счетчиков. Добавляемые поля и таблицы являются системными и по умолчанию могут не отобра- жаться в таблицах и в области переходов. Чтобы задать их отображение откройте диалоговое окно Параметры Access, в разделе Текущая база данных щелкни- те кнопку Параметры переходов и в открывшемся одноименном диалоговом окне установите флажок для параметра Показывать системные объекты, В каждую реплицированную таблицу добавляются поля (см. рис. 12.30) s_GUID (глобальный уникальный идентификатор каждой записи), a Lineage (логическое поле, содержащее сведения об изменениях записи) и s Generation (поле, содержащее сведения о группах изменений). Кроме того, для каждого поля МЕМО и объекта OLE добавляется поле с именем Gen ИмяПоля.
Совместное использование данных 525 Рис. 12.30 Таблица Авторы реплицированной базы данных в режиме конструктора К репликам базы данных добавляются таблицы, которые «накапливают» све- дения об изменениях записей, конфликтах реплик, проведении синхронизации и др. Все это увеличивает объем базы данных. Хотя большинство добавленных таб- лиц содержат всего лишь несколько записей, но некоторые из них могут значи- тельно «разрастаться» при частой синхронизации реплик. В списке таблиц реплицированные таблицы помечены специальным значком с изо- бражением двух стрелок, символизирующих обмен данными (см. рис. 12.30). В репликах поля счетчиков для записей изменяют свои значения на произ- вольные. Существовавшие значения счетчиков сохраняются, но добавленные позднее значения являются случайными. Поэтому номер записи не будет отра- жать порядок их добавления в таблицу. Запись, добавленная последней, не обя- зательно будет иметь наибольшее значение счетчика. Перед репликацией следу- ет определиться, следует ли поддерживать хронологию добавления записей для пользователей. Если да, то для этого можно ввести дополнительное поле типа Дата/время со значением, задаваемым, например, функцией Now(). Создание реплик базы данных .mdb Чтобы создать реплику базы данных с помощью средств Access, удалите па рол ь базы данных (если он был установлен) и откройте базу данных в режиме мо- нопольного доступа (если вы работаете в многопользовательской среде, то следу- ет убедиться в том, что все остальные пользователи закрыли эту базу данных) Затем сделайте следующее:
526 Глава 12. Защита данных и безопасноств 1. В меню кнопки Параметры репликации раздела Администратор вкл адки Работа с базами данных Ленты выберите команду Создать реплику. 2. Щелкните кнопку Да в диалоговом окне запроса на закрытие базы данных. 3. Щелкните кнопку Да или Нет (рекомендуется Да ) в диалоговом окне за- проса на создание резервной копии базы данных (это диалоговое окно вы- водится только при преобразовании базы данных в основную реплику). Основная реплика — единственная реплика в наборе реплик, в которой можно из- менять структуру базы данных. Изменения структуры основной реплики затем рас- I пространяются на другие реплики. 4. В диалоговом окне Размещение новой реплики (рис. 12.31) выполните действия: которые необходимы: тиГ1 файда Глобальная база данных Microsoft Office Access (*.mdb) Локальная база данных Microsoft Offaa Access (•.mdb) Анонимная база данных Microsoft Office Access (*.mdb) Рис. 12.31 Нижняя часть диалогового окна Размещение новой реплики Выберите папку, куда следует поместить новую реплику. Щелкните кнопку Приоритет и в диалоговом окне установите приори- тет создаваемой реплики (или оставьте значение по умолчанию), а затем щелкните кнопку ОК. Приоритет реплики Значение приоритета может находиться в диапазон© от С до 100 (чем выше значе- ние, тем выше приоритет). Основной реплике по умолчанию назначается приори- тет 90. Последующим глобальным репликам по умолчанию назначается значение приоритета, равное 90% от приоритета реплики-разветвителя. В конфликтных си- туациях принимается изменение для реплики с большим значением приоритета. Приоритет локальной и анонимной реплики (см. ниже/ всегда равняется 0. Поэтому при конфликте изменений с глобальной репликой-разветвителем их изменения бу- дут игнорированы. Корректные изменения локальной и анонимной реплик переда- ются глобальной реплике, которая принимает на себя их авторство. Установите флажок Запретить удаление, если не следует предоставлять пользователям возможность удалять записи в реплике. Выберите видимость реплики в поле со списком Тип файла.
Совместное использование данных 527 Видимость реплики < Видимость реплики — свойство, определяющее, с какими компонентами набора реплик она может выполнять синхронизацию, а также какие правила разрешения конфликтов при этом могут применяться. Различают три типа видимости реплик: глобальные, локальные и анонимные. После создания реплики изменить видимость реплики невозможно. 6. Щелкните кнопку ОК, чтобы создать реплику. Основная реплика будет открыта в окне базы данных Access. Наборы реплик Глобальные реплики являются главными репликами набора, по которым можно создавать реплики всех остальных типов. Изменения глобальной репли- ки полностью отслеживаются, возможен обмен изменениями между любыми глобальными репликами в наборе. Допускается также обмен изменениями меж- ду глобальной репликой и любой локальной или анонимной репликой, для кото- рой она является разветвителем, т.е. родительской репликой, из которой они были созданы. Основная реплика в наборе является глобальной репликой. Локальную реплику можно синхронизировать только с ее репликой-развет- вителем (глобальной репликой). Локальные реплики «не знают» о существова- нии других локальных реплик. Все реплики, созданные из локальной реплики, также будут локальными и будут иметь ту же родительскую реплику. Анонимную реплику можно синхронизировать с ее родительской глобальной репликой. Анонимные реплики не имеют собственной идентичности. Их реко- мендуется использовать при массовом распространении в Интернете, поскольку при этом не ведется отслеживания отдельных пользователей. Глобальная реп- лика не может задавать расписание синхронизации с анонимной репликой. Синхронизация и устранение конфликтов реплик Синхронизация — процесс изменения двух реплик набора путем передачи обновленных записей и объектов. Конфликты синхронизации могут возникать при изменении одного и того же поля в различных элементах набора реплик. Для синхронизации реплик сделайте следующее: 1. Откройте реплицированную базу данных. 2. В меню кнопки Параметры репликации раздела Администратор вкладки Работа с базами данных Ленты выберите команду Синхронизация. 3. В диалоговом окне Синхронизация базы данных 'Имя базы данных* (рис-12.32) выберите из раскрывающегося списка непосредственно с реп- ликой реплику для синхронизации или введите в его поле путь и имя фай- ла реплики, которую нужно синхронизировать с текущей базой данных. 4. Если основной репликой нужно сделать другую реплику набора, то уста- новите флажок для параметра Сделать основной репликой: ’ИмяФайла’ (для частичных реплик этот параметр недоступен). 5. Щелкните кнопку ОК. Подтвердите закрытие и повторное открытие базы данных в диалоговом окне с предупреждением, щелкнув кнопку Да. 6, Реплики будут синхронизированы, о чем будет сообщено в информацион- ном окне. Щелкните в нем кнопку ОК. Если останутся конфликты, то по- сле перезагрузки базы данных об этом появится сообщение.
528_______ г лава 12 Защита данных и безопасность Рис. 12.32 Диалоговое окно Синхронизация базы данных позволяет выбрать реплику, с которой будет проведена синхронизация текущей базы данных C:\rioaiwrfj аоку«е«тИРепп*<ддля 2000 jmdb С: \Documerts and 5ethng5\ABK',frtoH документы (э лек тройная бнЬлиотееа 2000. лмЬ ЙИЛихгмЛй Чтобы запустить средство просмотра и устранения конфликтов (рис. 12.33), можно просто открыть реплику в Access. Если существуют конфликты, то поя- вится сообщение об их наличии с предложением запустить средство просмотра. Щелкните кнопку Да. Для запуска средства просмотра конфликтов репликации можно также выполнить команду Устранить конфликты из меню кнопки Пара- метры репликации раздела Администратор вкладки Работа с базами данных Ленты. Рис. 12.33 Окно средства просмотра конфликтов репликации 1. В окне Просмотр конфликтов репликации выберите в списке таблицу, имеющую конфликты, и щелкните кнопку Просмотр. 2. Появится диалоговое окно Просмотр конфликтов репликации для ЧИмя- БазыДанных—ИмяОбъекта (рис. 12.34). В этом окне представляется ин- формация отдельно для каждого конфликта. В верхней части окне в поле Причина конфликта дается его описание и способы устранения. Напри- мер, « Конфликт двух обновлений. Данная запись была обновлена в другой реплике. Эта запись будет потеряна при конфликте. Либо повторно от- правьте обновление, либо удалите конфликтующую запись». 3. Для каждого конфликта, представленного в окне просмотра, отображают- ся две группы параметров Показать и Показать и изменить. Название поля» записи в котором вступили в конфликт, выделено жирным шриф- том. Выберите одно из следующих действий:
Совместное использование данных 529 Рис. 12.34 Выберите вариант устранения каждого из конфликтов Чтобы сохранить данные выигравшего варианта (расположенные сле- ва), щелкните кнопку Сохранить выбранный вариант, расположенную внизу секции Показать. Чтобы принять проигравший вариант, щелкните кнопку Использовать данный вариант, расположенную внизу секции Показать и изменить. В проигравшем варианте можно сделать изменения, вводя данные в по- лях секции Показать и изменить. Чтобы отложить устранение данного конфликта «до лучших времен* и перейти к следующему, щелкните кнопку Отложить устранение кон- фликта. Чтобы завершить работу с текущей таблицей, щелкните кнопку Закрыть. 4. Когда все необходимые конфликты будут обработаны, щелкните кнопку Закрыть в диалоговом окне Просмотр конфликтов репликации. Частичные реплики Частичные реплики позволяют с помощью фильтров и отношений выбрать подмножество записей, доступных в ней для изменения. Например, можно соз- дать «национальные» или «региональные» реплики из данных, относящихся к определенной стране или региону. В программе Access для создания (или изме- нения) частичных реплик используется мастер частичной репликации. Чтобы его запустить в меню кнопки Параметры репликации раздела Администратор вкладки Работа с базами данных Ленты выберите команду Частичная реплика- ция- Пройдя его диалоговые окна, вы зададите условие отбора записей и укажите таблицы, которые должны включаться в реплику. Частичная реплика содержит гораздо меньше данных, чем обычная. IB Access2007
530 Глава 12. Защита данных и безопасность Преобразование реплицируемой базы данных к обычному состоянию Если дальнейшее использование реплики не планируется, то можно преобра- зовать базу данных к обычному состоянию, уменьшив ее объем. Обратное преоб- разование выполнить автоматически нельзя. Следует «вручную» создать новую базу данных, а затем импортировать в нее объекты из реплицированной базы, предварительно удалив в ней дополнительные системные поля, таблицы и свой- ства, относящиеся к репликации. Таблицы новой базы данных удобно создавать с помощью запроса на создание таблиц. Преобразовывать следует полную реплику, синхронизированную со всеми остальными репликами набора. Как найти основную реплику Чтобы определить местоположение основной реплики набора сделайте следующее: 1. Откройте одну из реплик набора. 2. В меню кнопки Параметры репликации раздела Администратор вкладки Работа с базами данных Ленты выберите команду Синхронизация. 3. Щелкните кнопку Обзор (см. рис. 12.32), чтобы найти остальные элемен- ты набора реплик на компьютере или в сети. 4. Выделите элемент набора реплик. Если флажок Сделать основной репли- кой: 'ИмяФайла' станет доступным, то синхронизируемый элемент явля- ется основной репликой. Восстановление основной реплики Основную реплику можно восстановить в случае потери, повреждения или перемещения файла. Если вы убедились, что в наборе реплик нет основной реп- лики, то сделайте следующее: 1. Откройте в Access реплику, которую можно сделать новой основной реп- ликой набора. 2. В меню кнопки Параметры репликации раздела Администратор вкладки Работа с базами данных Ленты выберите команду Синхронизация. 3. Выберите реплику из списка и щелкните кнопку ОК. 4. Повторите синхронизацию для всех оставшихся реплик набора (это очень важно!). 5. В меню кнопки Параметры репликации раздела Администратор вкладки Работа с базами данных Ленты выберите команду Восстановить основ- ную реплику. Щелкните кнопку Да в информационном окне. Удаление реплики - А - ----------------------------------------- Чтобы удалить реплику из набора, удалите файл реплики, например, в окне про- водника Windows. Затем попытайтесь выполнить синхронизацию с только что уда- ленным элементом набора реплик. Это действие позволит оповестить все осталь- ные реплики о произведенном удалении. Будьте внимательны, не удаляйте основ- ную реплику набора.
Система безопасности Access 2007 531 Система безопасности Access 2007 Чтобы защитить программу и данные, центр управления безопасностью Access 2007 выполняют ряд обязательных проверок всякий раз, когда происхо- дит открытие базы данных. Некоторые компоненты баз данных могут быть не- безопасны, в том числе: запросы на изменение (запросы, которые добавляют, удаляют или изменя- ют данные); макросы; выражения (функции, возвращающие одно значение); код VBA; элементы управления ActiveX. О значении активного содержимого J Следует подчеркнуть, что база данных Access не является файлом, подобным книге ^1 1 Microsoft Office Excel 2007или документу Microsoft Office Word 2007, В отличие от ---них база данных представляет собой набор объектов — таблиц, форм, запросов, макросов, отчетов и т.д. — которые, вообще говоря, являются взаимозависимыми. Например, при создании формы ввода данных нельзя вводить в нее или хранить в ней данные, если элементы управления в этой форме не связаны с таблицей По- этому база данных с отключенным активным содержанием вряд ли будет полноцен- но работать. Процесс проверки происходит следующим образом: При открытии в Access 2007 файлов .accdb или .accde проверяется их распо- ложение. Если это расположение надежное, база данных открывается с полным набором функциональных возможностей. При открытии базы данных из ранней версии программы (файлы с расшире- нием .mdb или .mde) центр управления безопасностью Access 2007 проверя ет и расположение, и цифровую подпись (если она имеется в базе данных). И только потом может открыть базу данных с полным набором функциональ- ных возможностей. Если нет подписи и состояния доверенной, Access 2007 по умолчанию отключает у них любое выполняемое содержимое. Надежный издатель и действительная подпись Если файлы .mdb или .mde имеют цифровую подпись и их издатель признан на- дежным, они доступны без вопросов о доверии Но следует учитывать, что код VBA в подписанных базах данных не будет работать, пока издатель не будет признан надежным, а также в том случае, если подпись станет недействительной. Подпись становится недействительной, когда кто-либо, кроме подписавшего лица, выполня- ет недопустимые действия с содержимым базы данных. Если центр управления безопасностью Access 2007 отключает какое-либо содержимое, то при открытии базы данных отображается панель сообще- ний с соответствующей инсрормацией (рис. 12.35).
532__________ _ Глава 12. Защита данных и безопасность Рис. 12.35 Панель сообщений с информацией центра управления безопасностью (вверху) и диалоговое окно Параметры безопасности Microsoft Office (внизу) Если панель сообщений не отображается? Если панель сообщений не отображается, на вкладке Работа с базами данных в разделе Показать и скрыть установите флажок для параметра Панель сооб- щений. При выполнении этого действия программа Access 2007 включает все от- ключенное содержимое, до тех пор, пока база данных не будет закрыта. Чтобы включить отключенное содержимое, щелкните кнопку Параметры в панели сообщений, а затем в появившемся диалоговом окне Параметры безо- пасности Microsoft Office установите переключатель в соответствующее поло- жение и щелкните кнопку ОК- Отключенное содержимое будет включено, и база данных откроется заново с полным набором функциональных возможностей. В противном случае отключенные компоненты работать не будут. Центр управления безопасностью Центр управления безопасностью (рис. 12.36) — это диалоговое окно, в кото- ром можно задавать и менять параметры безопасности Access 2007. Оно исполь зуется для создания или изменения надежных расположений, а также для на- стройки параметров безопасности программы. Эти параметры определяют пове- дение новых и существующих баз данных при их открытии в Access. Программные средства центра управления безопасностью позволяют оценить компоненты базы данных и определить, безопасно ли открывать базу данных и следует ли запретить пользователю включать ее.
Система безопасности Access 2007 533 Рис. 12.36 Диалоговое окно Центр управления безопасностью Чтобы открыть диалоговое окно Центр управления безопасностью, в диало- говом окне Параметры безопасности Microsoft Office (см. рис. 12.35) щелкните ссылку Открыть центр управления безопасностью. Или откройте диалоговое окно Параметры Access и перейдите в раздел Центр управления безопасно- стью, щелкнув его название в списке разделов, а затем щелкните кнопку Пара- метры центра управления безопасностью. Диалоговое окно Центр управления безопасностью содержит шесть разде- лов, в каждом из которых настраиваются «свои* средства безопасности: Надежные издатели. Просмотр и удаление цифровых сертификатов на- дежных издателей. Надежные расположения. Добавление, удаление и изменение папок на- дежного расположения базы данных. Автоматически в надежные располо- жения добавляются папка с мастерами и шаблонами Access. Не рекомендуется назначать в качестве надежного расположения всю папку Мои документы. В этом случае повышается риск атаки злоумышленников и увеличи- вается угроза безопасности. Создайте в папке Мои документы вложенную пап- ку и сделайте только эту папку надежным расположением, Надстройки. Можно проверять подписи надстроек, отключать их и отклю- чать уведомления о наличии неподписанных надстроек. Параметры макросов. Макросы из ненадежного расположения базы дан- ных можно включить или отключить (с уведомлением, без уведомления) или отключить только макросы, не имеющие цифровой подписи. Панель сообщений. Можно включить или выключить режим ее отображе- ния.
534 Глава 12. Защита данных и безопасность Параметры конфиденциальности. Параметры этого раздела управляют загрузкой полезного содержимого из Интернета» позволяют разрешить проблемы, вызывающие неполадки в системе, а также принять участие в программе улучшения качества ПО корпорации Microsoft. Использование базы данных в надежном расположении Если база данных Access 2007 находится в папке, которая относится к надеж- ному расположению, при ее открытии не возникает необходимости решать во- просы доверия, и запускаются все ее компоненты. Чтобы использовать базу дан- ных Access 2007 в надежном расположении, выполните следующее: 1. В центре управления безопасностью найдите или создайте надежное рас- положение, в котором будет храниться база данных (см. рис. 12.36). * 2. Сохраните, переместите или скопируйте базу данных Access 2007 в надеж- ное расположение. 3. Откройте и используйте базу данных из папки надежного расположения. % Упаковка, подпись и распространение базы данных Программа Access 2007 имеет средства для добавления подписи к базе дан- ных и ее распространения. После создания файлов .accdb или .accde их можно упаковать, применить к пакету цифровую подпись, а затем распространить под- писанный пакет среди других пользователей. Средство подписи пакетов поме- щает базу данных в файл развертывания Access (с расширением .accdc), подпи- сывает пакет, а затем помещает его в указанное расположение. Затем пользова- тели могут извлекать базу данных из пакета, помещать в надежное расположение и работать с ней. Упаковка базы данных и подпись пакета являются способами передачи доверия. Когда пользователь получает пакет, подпись подтверждает, что в базу данных не были внесены несанкционированные изменения. В пакет можно включить только одну базу данных. Подпись кодом добавляется ко всем объектам базы данных, а не только к макросам или программным модулям. Для подписи пакета необходимо иметь доступный сертификат безопасности. При отсутствии сертификата его мож- но создать при помощи средства Создание цифрового сертификата входя- щего в состав общих средств Microsoft Office. Чтобы создать подписанный пакет; 1. Откройте базу данных. 2. В меню кнопки «Office» выберите команду Опубликовать | Упаковать и подписать. 3. Откроется диалоговое окно Выбор сертификата (см, рис. 12.37). 4. Выделите цифровой сертификат для подписи, а затем щелкните кнопку ОК- 5. Откроется диалоговое окно Создать подписанный пакет Microsoft Office Access.
Система безопасности Access 2007 535 Рис. 12.37 Диалоговое окно Выбор сертификата 6. В списке Папка в выберите расположение для подписанного пакета базы данных. В поле Имя файла введите имя для подписанного пакета, а затем щелкните кнопку Создать. 7. Программа Access создаст файл .accdc и поместит его в выбранное распо- ложение. Для извлечения и использования подписанного пакета: 1. Откройте программу Access 2007. В меню кнопки «Office* выберите ко- манду Открыть. В диалоговом окне открытия выберите тип файла Подпи- санные пакеты Microsoft Office Access (.accdc), найдите файл подписанно- го пакета и дважды щелкните его (рис. 12.38). Рис. 12.38 Значок файла подписанного пакета в» «вод» «г* 2. Если выбран параметр доверия к цифровому сертификату, примененному к данному пакету, появится диалоговое окно Извлечь базу данных в, в ко- тором вы должны указать надежное место расположения, куда следует из- влечь файл базы данных (при необходимости, задать его имя) и щелкнуть кнопку ОК, 3. Если параметр доверия к цифровому сертификату еще не выбран, появит- ся предупреждение (рис. 12.39). Рис. 12.39 Диалоговое окно предупреждения о том, что издатель не добавлен к надежным источникам
536 Глава 12, Защита данных и безопасность 4. Если вы доверяете базе данных» нажмите кнопку Открыты Если вы дове- ряете всем сертификатам этого поставщика, нажмите кнопку Доверять всему от издателя. Откроется диалоговое окно Извлечь базу данных в, в котором вы должны указать надежное место расположения» куда следу- ет извлечь файл базы данных (при необходимости, задать его имя) и щелк- нуть кнопку ОК. Создание сертификата с собственной подписью В том случае, когда базу данных планируется использовать в личных цел нх или в небольшой рабочей группе, можно воспользоваться предусмотренным в Microsoft Office 2007 средством создания сертификатов с собственной подпи- сью. Этот сертификат следует добавить в список надежных источников, а затем подписать им базу данных. 1. В Windows щелкните кнопку Пуск, а затем выполните команду Програм- мы | Microsoft Office | Средства Microsoft Office | Цифровое удостоверение для проектов VBA. Если команда Цифровое удостоверение для проектов VBA не отображает- ся в главном меню Windows, может потребоваться установка средства SelfCert с установочного диско Microsoft Office. 2. Откроется диалоговое окно Создание цифрового сертификата (рис. 12.40). Рис. 12.40 Диалоговое окно Создание цифрового сертификата 3. В поле Имя вашего сертификата введите имя для нового сертификата. 4. Щелкните кнопки ОК в диалоговом окне Создание цифрового сертифика- та и в окне SelfSert: успех, которое появится после того как сертификат будет создан. После этого сертификат можно использовать для подписи базы данных, а при открытии подписанной им базы — добавить в список надежных издателей.
Система безопасности Access 2007 537 Создание файлов базы данных формата .accde Файлы формата .accde являются специальной («блокированной») версией файлов базы данных в Access 2007. В них содержится компилированный код VBA, который невозможно просмотреть и в который нельзя внести никакие из- менения. Кроме того, при использовании файлов .accde у пользователей нет раз- решений на внесение изменений в формы и отчеты. Это не касается таблиц, за- просов и макросов. Таким образом, почти все выполняемое содержимое такой версии базы данных становится защищенным от несанкционированных измене- ний. Файлы .accde заменили файлы .mde из предыдущих версий программы Access. За счет удаления исходных кодов и сжатия база данных .accde будет занимать меньше места и повысится ее быстродействие. Чтобы создать файл .accde сделайте следующее: 1. Откройте базу данных. 2. В разделе Работа с базами данных вкладки Работа с базами данных Лен- ты щелкните кнопку Создать ACCDE (если ваша база данных имеет фор- мат ,mdb, то эта кнопка называется Создать MDE). 3. В диалоговом окне Сохранить как, выберите папку, в которую требуется сохранить файл, затем введите имя файла в поле Имя файла и щелкните кнопку Сохранить. Файл формата .accde имеет специальный значок «с замком и ключом» (рис. 12.41) Рис. 12.41 Значок файла базы данных формата .accde 6м4ли5те1«200> eccd» Чтобы изменить структуру форм, отчетов и модулей, следует сделать это в исход- ной базе данных (копии базы данных, сохраненной при создании файла .accde! а затем снова сохранить ее как файл .accde.
Глава 13 Интеграция данных между Access и узлом SharePoint Программа Access 2007 и службы Microsoft Windows SharePoint Services 3.0 позволяет организовать общий доступ к данным и управлять ими различными способами. При этом узел SharePoint обеспечивает средства совместной работы сданными, a Access — средства ввода, анализа и представления данных. Универсальный корпоративный портал SharePoint — средство управления доку- ментами для создания сайтов с широкими функциональными возможностями: соед- ства поиска, доступ к данным, средства индексирования, подписки, интеграция с Windows и Microsoft Office, извлечение и возврат документов, создание версий документов и совместная работа с ними, обеспечение безопасности и др. SharePoint Server обеспечивает хранение корпоративных документов в общих пап- ках. Здесь можно создать любое число папок и хранить в них любое количество до- кументов. Одним из типов документов являются списки SharePoint — таблицы дан- ных с расширенной внутренней структурой и свойствами. Способы совместной работы с данными в Access 2007 и SharePoint Services 3.0 Можно обеспечить следующие способы совместной работы с данными в Access 2007 и SharePoint Services 3.0: Экспорт данных на узел SharePoint- После того как база данных будет пере- дана с помощью мастеря переноса из Access 2007 на узел SharePoint, на нем создаются списки, связанные таким же образом, как и таблицы в базе дан- ных. В Access же будет создано новое приложение, содержащее новые свя- занные таблицы, которые были экспортированы, а также все «старые» фор- мы и отчеты.
540 Глава 13. Интегра ция данных между Access и узлом SharePoint Доступом к данным списков управляет администратор После создания списков SharePoint пользователи смогут работать с ними на узле SharePoint или в связанных таблицах в Access, используя при этом возможности узла SharePoint для управления донными и их обновления. Администратор может управ- лять разрешениями на доступ к данным и их версиям, также может определять поль- зователей, изменивших данные, или восстановить их предыдущую версию. Импорт или связь со списком SharePoint. Для получения доступа к списку SharePoint в программе Access можно либо импортировать, либо связать его с базой данных Access. При импортировании списка SharePoint в базу данных Access создается его копия. Во время выполнен ия операции копи- рования можно указать списки, которые необходимо скопировать, а для каждого выбранного списка указать, нужно ли импортировать весь список или только определенное его представление. Связывание позволяет под- ключиться к данным в другой программе без их импортирования, что по- зволяет просматривать и редактировать данные, как в исходной програм- ме, так и в базе данных Access без необходимости создания и обслуживания копии данны к в Access. • Публикация данных на узел SharePoint. При публикации базы данных на узле SharePoint база данных становится доступной пользователям, имею- щим разрешение на работы с узлом SharePoint. Для совместной работы с другими пользователями можно хранить копию базы данных на сервере SharePoint и продолжать работу с ней с помощью форм и отчетов в Access. Списки можно связывать так же, как и таблицы. Например, можно создать приложение Access, которое будет содержать запросы и отчеты для списков SharePoint. При работе с этими списками на узле SharePoint можно откры- вать запросы и отчеты Access для списков SharePoint из меню Вид. Напри- мер, если необходимо просмотреть и распечатать отчет Access, это можно будет сделать из списка SharePoint. При первой публикации базы данных на сервере Access предоставляется список веб-серверов. Этот список позволяет упростить выбор желаемого местонахожде- ния публикации, например, это может быть библиотека документов. После публи- кации базы данных местонахождение запоминается в Access, что исключает необ- ходимость повторного поиска сервера при публикации изменении. Работа со списками SharePoint в автономном режиме с помощью Access. При необходимости «взять работу на дом», обеспечить работу списков SharePoint в автономном режиме в Access можно при помощи всего лишь одного щелчка мышью. Можно работать с данными автономных списков в Access, а затем синхронизировать сделанные изменен ия, подключ ившись к узлу. Открытие форм и отчетов Access с узла SharePoint. Пользователи могут от- крывать списки в расширенных режимах Access с узла SharePoint. Формы, отчеты и таблицы Access могут отображаться вместе с другими представле- ниями на узле SharePoint. При выборе этого режима, Access запускает и от- крывает запрошенную форму, отчет или таблицу. Это упрощает запуск рас-
Экспорт таблиц и запросов на узел SharePoint 541 ширенных отчетов Access на узле SharePoint без необходимости предвари- тельного запуска Access 2007 или поиска необходимого объекта. Создание баз данных из списков SharePoint. Списки SharePoint можно от- крывать в Access с помощью «обычного» диалогового окна Открытие фай- ла базы данных. Если базы данных не существует, ее можно создать в Access, а затем создать набор форм и отчетов, основанный на списке. Экспорт таблиц и запросов на узел SharePoint Экспорт таблиц и запросов на узел SharePoint может использоваться для дос- тижения следующих целей: 1. Предоставление доступа к копиям таблиц базы данных группы пользо- вателей, При этом средствами службы Windows SharePoint Services 3.0 можно получать уведомления об изменениях в экспортированных спи- сках, назначать и координировать выполнение задач. Со списками можно работать также в автономном режиме. 2. Предоставление общего доступа к данным как в Access 2007, так и на узле SharePoint> Если данные изначально хранятся в Access, можно экс- портировать таблицы в списки, а затем связать их с базой данных Access. 8. Периодическое ознакомление группы пользователей с данными базы Access, Если в базе данных Access 2007 на основе запросов создаются регу- лярные отчеты о текущем состоянии данных (например, ежедневные или еженедельные), и их требуется периодически предоставить в общее поль- зование, можно экспортировать результаты запроса на веб-узел SharePoint. С помощью программы Office Outlook 2007 можно создать за- дачу, выполняемую через заданные временные интервалы, по экспорту этих запросов. Экспортировать данные на узел SharePoint можно с помощью мастера экс- порта Access 2007. В процессе его работы нужно настроить параметры операции, которые затем можно сохранить. Впоследствии операцию экспорта можно будет проводить по сохраненным настройкам, без повторного ввода параметров. Ниже рассмотрены процедуры подготовки данных для экспорта, самого экспорта, а также сохранения его параметров. Подготовка к экспорту 1. Откройте базу данных, которая содержит таблицу или запрос с данными для экспорта. i В ходе одной операции экспорта можно экспортировать только один объект (таб- лицу или запрос). При экспорте запроса строки и столбцы результатов экспортиру- I ются в виде элементов списка и столбцов. Экспортировать форму или отчет нельзя.
542 Глава 13. Интеграция данных между Access и узлом SharePoint 2. Определите веб-узел SharePoint, на котором следует создать список. До- пустимый адрес веб-узла должен начинаться с http: / Л после чего долж- но быть указано имя сервера и путь к определенному узлу (папке) на серве- ре. 3. Удостоверьтесь» что у вас есть необходимые разрешения для создания спи- ска на узле SharePoint. Если о наличии разрешений неизвестно, обрати- тесь к администратору сервера. Имя списка узла SharePoint В ходе операции экспорта автоматически создается новый список с именем исход- г.^ -1 кого объекта Access. Если на узле SharePoint уже существует список с таким име- нем, предлагается задать другое имя для нового списка. Перезапись имеющегося файла или добавление в него данных невозможны. 4. Просмотрите поля в исходной таблице или запросе. В таблице 13.1 даны ограничения на экспорт некоторых элементов и возможные направления решения некоторых проблем. Таблица 13.1 Ограничения на экспорт некоторых элементов в списки SharePoint Элемент БД Access Ограничения при его экспорте в списки SharePoint Поля и записи Экспортируются все поля и записи в таблице или запросе, включая поля, скрытые в режиме таблицы. Фильтры, сохраненные с объектом, игнорируются. । • Поля подстановок с одним или । несколькими значениями Отображаемые значения в полях подстановок с одним значением экс- портируются в список SharePoint в виде полей выбора с раскрываю- щимся списком. Если исходное поле одновременно допускает несколько значений, в списке SharePoint создается поле выбора, допус- кающее выбор нескольких вариантов. Поле выбора в списке SharePoint может содержать только один столбец. Если исходное поле подстановок содержит несколько столбцов, их значения объединяются в один столбец. Вычисляемые поля запроса Результаты вычисляемых столбцов копируются в поле с типом данных, который зависит от типа данных вычисляемых результатов. Выраже- ние для вычисления результатов не копируется. Вложения Список SharePoint поддерживает только один столбец вложений. Если объект базы данных содержит несколько таких столбцов, отображает- ся сообщение, в котором предлагается удалить «лишние» столбцы вло- жений перед началом операции экспорта. Чтобы обойти это ограничение, можно скопировать столбцы вложений в другие объекты Access, а затем экспортировать их в другие списки SharePoint. Поля объектов OLE В ходе операции экспорта поля объектов OLE игнорируются. От них следует «избавиться», например, перенеся данные в поля вложений.
543 Экспорт таблиц и запросов на узел SharePoint ' “ ' г Экспорт данных 1, Откройте или выделите в области переходов объект базы данных для экс- порта. 2. В разделе Экспорт вкладки Внешние данные Ленты щелкните кнопку Список SharePoint» чтобы запустить мастер экспорта (рис. 13.1). Рис. 13.1 Чтобы запустить мастер экспорта, щелкните кнопку Слисок SharePoint 3. В диалоговом окне Укажите узел SharePoint введите адрес узла. В поле Укажите имя нового списка введите имя нового списка. Если на узле SharePoint существует список с таким же именем, что и у исходного объ- екта в базе данных, укажите другое имя. Если нужно, введите описание списка в поле Описание, а также установите флажок Открыть список по окончании экспорта. 4. Щелкните кнопку ОК. чтобы начать процедуру экспорта- Мастер создаст список на веб-узле SharePoint и отобразит состояние операции в диалого- вом окне. После этого можно закрыть окно мастера или сохранить пара- метры экспорта в виде спецификации. . В процессе экспорта Windows SharePoint Services присвоит собственный тип данных для каждого столбца созданного списка, опираясь на тип данных исход- ных полей в Access (соответствие типов дано в таблице 13-2).
544 Глава 13. Интеграция данных между Access и узлом Sharepoint Таблица 13.2 Соответствие типов данных полей таблиц Access и столбцов списков SharePoint Тип данных Access Тип данных SharePoint Соответствие свойств полей Текстовый • * % Поле однострочного текста Свойству списка Имя столбца присваивается значение свойства Имя поля в Access, свойству Описание — значение свойство Описание, свойству Обязательное поле — значение свой- ства Обязательное поле, свойству Макси- мальное число знаков — значение свойства Размер поля, свойству Добавить в представление по умолча- нию — значение Да. Свойству Значение по умолчанию — значение свойства Значение по умолчанию, если это не выражение (в про- тивном случае присваивается пустое значение. Поле МЕМО Поле многострочного текста Свойству списка Число отображаемых строк присваивается значение 5 (другие — как в преды- дущем пункте). Числовой Число Свойствам списка Минимум и Максимум при- сваиваются пустые значения, свойству Показы- вать в процентах - значение Да. если свойство Формат имеет значение Процентный. Свойст- ву списка Число десятичных знаков присваи- вается значение в зависимости от значения свойства Число десятичных знаков в Access следующим образом: если Авто, то Авто, если от 0 до 5 — от 0 до 5, а если от б до 15 — 5. Дата/время Дата/время Свойству списка Формат даты и времени при- сваивается значение Только дата если свойст- во Формат в Access имеет значение Краткий формат даты в противном случае используется значение Дата и время. Свойству списка Тип календаря присваивается значение Летоис- числение хиджры если в Access установлен флажок Летоисчисление по хиджре в против- ном случае необходимо выбрать значение Григо- рианский. Свойству списка Значение по умолчанию присваивается значение в зависи- мости от значения свойство Значение по умол- чанию в Access следующим образом: если ^DateOr то Текущая дата, а если в поле зада- на определенная дата, она сохраняется.
Экспорт таблиц и запросов наузел SharePoint 545 Тип данных Access Тип донных SharePoint - _ - п Соответствие свойств полей Денежный Денежный Свойствам списка Минимум и Максимум при- сваиваются пустые значения. Свойству списка Число десятичных знаков присваивается зна- чение в зависимости от значения свойства Число десятичных знаков в Access следующим обра- зом: если Авто то Авто если от 0 до 5 — от Одо 5, а если от 6 до 15 — 5. Свойствам списка Ва- люта присваивается значение свойства Фор- мат поля в Access. - г Счетчик Числовой Свойствам списка Минимум и Максимум присваиваются пустые значения, а свойству Число десятичных знаков — значение Авто. Если в Access свойство Размер поля имеет значение Код репликации, то тип поля в спи- ске будет Поле однострочного текста о его свойству Максимальное число зна- ков будет присвоено значение 38. Логический Логический Свойству Значение по умолчанию присваи- вается значение свойства Значение по умол- чанию. Поле объекта OLE Поле не экспортируется Гиперссылка Гиперссылка Свойству списка Формат URL-адреса при- сваивается значение Гиперссылка. Вложение Вложение Значения свойств присваиваются таким же обра- зом, кок и в первом пункте. Поля, с несколькими | значениями Выбор Значения свойств присваиваются таким же обра- зом, как и в первом пункте. Сохранение настроек экспорта а 1, В последнем диалоговом окне мастера экспорта установите флажок Со- хранить шаги экспорта. После этого в окне появятся дополнительные эле* менты управления. 2. В поле Сохранить как введите имя сохраняемых настроек экспорта. При необходимости введите описание в поле Описание. 3. Если требуется выполнять операцию через определенные временные ин- тервалы» например еженедельно или ежемесячно, установите флажок для параметра Создать задачу Outlook. Затем настройте периодически выпол- няемую задачу Office Outlook 2007 (см, следующий раздел этой главы). 4. Щелкните кнопку Сохранить экспорт,
546 Глава 13. Интеграция данных между Access и узлом SharePoint Настройка задачи Outlook Если на предыдущем шаге был установлен флажок Создание задачи Outlook, из программы Access будет запущена программа Outlook, в которой отобразится новая задача. Для ее настройки сделайте следующее: Если программа Outlook не установлена, в Access отображается сообщение об ошибке. Если программа Outlook не настроена, открывается мастер запуска Outlook, в котором ее необходимо настроить. 1. В окне Outlook Экспорт-И лся-Задача просмотрите и измените параметры задачи, такие как Срок и Напоминание. Рис. 13.2 Окно программы Outlook, в котором создается новая задача 2. Чтобы сделать задачу повторяющейся, щелкните кнопку Повторение. 3. Закончив настройку параметров, щелкните кнопку Сохранить и закрыть. Для выполнения сохраненной задачи в области переходов программы Outlook щелкните кнопку Задачи, а затем дважды щелкните задачу, которую необходимо выполнить. Затем на вкладке Задача в группе Microsoft Office Access щелкните кнопку Выполнить экспорт. Перейдите на узел SharePoint и откройте созданный список, чтобы убедиться, что все поля и записи успешно экспортированы. Перемещение базы данных на узел SharePoint При перемещении базы данных Access 2007 на узел SharePoint, на нем созда- ются списки, которые остаются связанными с таблицами в исходной базе дан- ных. Мастер переноса на узел SharePoint помогает перемещать данные из всех таблиц одновременно, а также реализовать их отношения. По возможности мастер переноса на узел SharePoint перемещает данные в списки, основанные ня шаблонах списков на узле SharePoint. Если таблица не соответствует ни одному шаблону списка, она становится пользовательским списком в представлении Табл ;а данных на узле SharePoint. Мастер создает
Связывание таблиц и списков SharePoint 547 резервную копию базы данных на компьютере. В Access создаются связи от таб- лиц к спискам, так, чтобы можно было легко обнаружить данные на узле SharePoint, работая в Access. Использование мастера переноса на узел SharePoint Для запуска мастера переноса файлов сделайте следующее: 1. В разделе Списки SharePoint вкладки Внешние данные Ленты откройте кнопочную панель и щелкните в ней кнопку Переместить на веб-узел SharePoint (рис. 13.3). Эта кнопка будет доступна, только если база дан- ’ ных сохранена в формате Access 2007 (.accdb). Рис. 13.3 Раздел Списки SharePoint вкладки Внешние данные Ленты гей , (Aft КмомЬхяй • ламйые с i СЯНХРОИММРФМТЬ Г«Р«Ь«СГ№ н» режим D Повторно anm омом и б «мгеЛН —-т 2. Следуйте указаниям мастера переноса на узел SharePoint. В последнем окне мастера установите флажок Подробности, чтобы просмотреть сведе- ния о параметрах переноса по окончании процесса. 3. Щелкните Готово, когда мастер закончит выполнение переноса данных. Страница сведений мастера содержит данные о том, какие таблицы были связаны со списками, а также информацию о расположении резервной копии и URL-адресе базы данных. На ней также отображаются предупреждения в случае, если во время переноса возникли проблемы, и предоставляются сведения о расположении табли- цы журнала, в которой можно найти подробные сведения о возникших проблемах. Связывание таблиц и списков SharePoint После связывания таблиц и списков можно просматривать и изменять обнов- ленные данные как на узле SharePoint, так и в базе данных Access. При этом не потребуется создавать и обновлять копию данных в Access. Если вместо копиро- вания списка SharePoint в базу данных Access требуется использовать его толь- ко для выполнения запросов и создания отчетов, следует использовать не им- порт, а связывание со списком SharePoint. В процессе связывания со списком SharePoint в Access создается новая таблица, которая отражает структуру и со- держание списка. В отличие от импорта при связывании создается ссылка толь- ко на список, а не на представления списка.
548 Глава 13. Интеграция данных между Access и узлом SharePoint Подготовка к связыванию 1. Найдите веб-узел SharePoint, который содержит списки для связывания, и скопируйте его адрес. Допустимый адрес веб-узла должен начинаться с http: /Д после чего должно быть указано имя сервера и путь к опреде- ленному веб-узлу на сервере. 2. Выберите списки для связывания. В ходе операции связывания можно создать связь с несколькими списками. Создание связи с отдельными представлениями не разрешается. Можно также создать связь с опросами или обсуждениями. 3. Просмотрите столбцы в исходном списке. В таблице 13.3 указаны некото- рые факторы, которые необходимо учитывать при импорте различных элементов. Таблица 13.3 Ограничения связывания некоторых элементов в таблицы Access Элемент списка SharePoint Ограничения связывания Столбцы Программа Access 2007 поддерживает не более 256 полей в таб- лице, поэтому импортируются только первые 256 столбцов. Папки Каждая папка списка или представления SharePoint импортирует- ся в таблицу Access в виде отдельной записи. Элементы внутри пап- ки импортируются также в виде записей, которые отображаются непосредственно под записью папки. Столбцы подстановок Если исходный столбец заполняется значениями из другого спи- ска, который отсутствует в базе данных, в Access автоматически создаются связанные таблицы для этих списков. Исходный столбец Пользователь или Группа — особый тип столбца подстановок. Он позволяет искать значения в списке све- дений о пользователях, для которого в Access автоматически соз- дается связанная таблица в ходе операции связывания. Вычисляемые столбцы В программе Access в соответствующем поле отображаются ре- зультаты вычисляемого столбца. Просмотр и изменение формулы невозможны. Вложения Столбец вложений в списке отображается в поле вложений. Столбцы, доступные только для чтения Столбцы с несколькими значениями Столбцы, доступные в списке SharePoint только для чтения, сохра- няют свой статус в программе Access. Кроме того, в Access не раз- решается добавлять, удалять или изменять столбцы. Столбец с типом данных Выбор или Подстановка может содер- жать несколько значений. В ходе операции связывания для таких столбцов создаются поля с несколькими значениями. Столбец под- становок поля с несколькими значениями, создается в связанной таблице в том случае, если исходный столбец является столбцом подстановок.
Связывание таблиц и списков SharePoint 549 4. Выберите базу данных» в которой требуется создать связанные таблицы. Удостоверьтесь» что имеются необходимые разрешения для добавления данных в базу. 5. Просмотрите таблицы в базе данных. При импорте списка SharePoint соз- дается таблица с тем же именем. Если одноименная таблица уже сущест- вует, в программе Access к имени новой таблицы добавляется «1», напри- мер Авторы ! ит.д. Связывание 1. Откройте базу данных, в которую необходимо добавить связанные таблицы. 2. В разделе Импорт вкладки Внешние данные Ленты щелкните кнопку Список SharePoint. Откроется диалоговое окно мастера (рис. 13.4). Сохраненные операции импорта ‘3 Импорт спжя» SharePoint Импорт данных или установка связи сданными из списка SharePoint, it пол*меква1 дснтолнмтелылог гведг -шй нажмите клавишу JF1. РИС. 13.4 Чтобы запустить мастер связывания, щелкните кнопку Список SharePoint 3. Укажите адрес исходного веб-узла. Выберите вариант Создать связанную таблицу для связи с источником данных. Щелкните кнопку Далее. 4. В диалоговом окне мастера отобразятся списки, доступные для связыва- ния. Выберите нужные списки для связывания и щелкните кнопку ОК. я Если некоторые из списков уже связаны с текущей базой донных, соответствующие 1 им флажки будут установлены. Если нужно удалить некоторые связи, снимите **---флажки. Связи, у которых флажки не сняты, будут сохранены.
550 Глава 13. Интеграция данных между Access и узлом SharePoint В программе Access будут созданы связанные таблицы для всех списков, вы- бранных в мастере, а также для каждого связанного списка. Кроме того, будут обновлены связанные таблицы, соответствующие выбранным спискам. Будут также созданы связи между таблицами. В отличие от операции импорта, при связывании свойства полей подстановок сохраняются, поэтому нет необходимости настраивать их * вручную» в режиме конструктора. По окончании операции просмотрите новые связанные таблицы в Access в ре- жиме таблицы. Обновление данных При каждом открытии связанной таблицы или списка в них отображаются обнов- ленные данные. Однако изменения в структуре списка в связанной таблице авто- матически не отображаются. Чтобы обновить связанную таблицу и применить к ней изменения структуры списка, необходимо щелкнуть таблицу правой кнопкой мыши в области переходов, а в контекстном меню выбрать команду Параметры списка SharePoint | Обновить список. Публикация базы данных на узле SharePoint При публикации базы данных на узле SharePoint появляется возможность открыть доступ к данным другим пользователям, пользующимся узлом SharePoint, одновременно используя Access в качестве интерфейсного приложе- ния для форм, отчетов и запросов в базе данных. Существует два способа работы с опубликованной базой данных. Во-первых, разработчик базы данных может создавать запросы, формы и отчеты, исполь- зующие данные с узла SharePoint. Также, пользователь базы данных может ис- пользовать Access для ввода, просмотра и анализа данных на узле SharePoint. Опубликовать можно уже созданную базу данных, а можно создать новую базу данных, состоящую из одной или нескольких таблиц, связанных со списка- ми или библиотеками SharePoint. Когда данные списка или библиотеки SharePoint связаны с таблицей Access, появляется возможность создания для них представлений, основанных на формах, запросах и отчетах в Access. Это по- зволяет пользователю разработать приложение Access, работающее с данными на узле SharePoint. Публикация узла SharePoint возможна только для файлов базы данных, ко- торые были сохранены в формате Office Access 2007. Публикация базы данных Для публикации можно использовать существующую базу данных или соз- дать новую с помощью списков на узле SharePoint. 1, Щелкните кнопку «Office», а затем в ее меню выберите команду Опубли- ковать Сервер управления документами. 2. Введите адрес URL узла SharePoint, на котором нужно опубликовать базу данных. Если при предыдущем открытии Access использовалось то же са- мое расположение, база данных будет отображена в диалоговом окне Пуб- ликация на веб-сервере.
551 Автономная работа с таблицами, связанными со списками SharePoint 3. Выделите библиотеку» в которой требуется опубликовать базу данных, а затем щелкните кнопку Открыть. 4. В поле Имя введите имя файла базы данных. Щелкните кнопку Опублико- вать. Повторная публикация После внесения изменений в данные или макет базы данных ее следует по- вторно опубликовать на узле SharePoint. После публикации базы данных ее рас- положение запоминается в Access, что избавляет пользователя от необходимо- сти ее повторного поиска. Если для редактирования открывается база данных» опубликованная в библиотеке SharePoint, в верхней части базы отображается панель сообщений с кнопкой Опубликовать на узле SharePoint. Если по ка- кой-либо причине панель сообщений недоступна (например, если она была скрыта или закрыта пользователем во время работы), можно использовать команды меню кнопки «Office». 1. В панели сообщений щелкните кнопку Опубликовать на узле SharePoint. Или в меню кнопки «Office» выберите команду Опубликовать | Сервер управления документами. 2. В диалоговом окне Публикация на веб-сервере подтвердите, что отобра- жаемая библиотека является местом, где необходимо повторно опублико- вать базу данных. Щелкните кнопку Опубликовать. 3. Когда будет предложено переместить копию базы данных на узел, щелк- ните кнопку Да. Автономная работа с таблицами, связанными со списками SharePoint Если списки SharePoint связаны с таблицами Access, их данные можно ис- пользовать для автономной работы. Затем, при повторном подключении, произ- водится синхронизация данные, то есть обновление списков и базы данных. Если в этот момент возникают конфликты (например, другой пользователь об- новил запись на сервере, которая была изменена во время работы в автономном режиме), разрешить их можно с помощью специальных средств. Переход в автономный режим работы со списками 1. Откройте базу данных, таблицы которой связаны со списками SharePoint. 2. В разделе Списки SharePoint вкладки Внешние данные Ленты откройте кнопочную панель, а затем щелкните кнопку Оперативный режим (см. рис. 13.3). Если кнопка Оперативный режим недоступна, то либо таблицы не связаны со списками SharePoint, либо список уже был переведен в автономный режим работы.
552 Глава 13 Интеграция данных между Access и узлом SharePoint Синхронизация автономных списков с данными на сервере 1. Откройте базу данных, связанную со списками SharePoint. 2. В разделе Списки SharePoint вкладки Внешние данные Ленты откройте кнопочную панель, а затем щелкните кнопку Синхронизировать (см. рис. 13.3). Устранение конфликтов данных Если между изменениями, сделанными в автономйом режиме, и изменения- ми, сделанными на сервере, возник конфликт, отображается диалоговое окно Устранение конфликтов. В этом диалоговом окне отображаются все необходи- мые для принятия решения сведения о конфликте. Здесь же можно утвердить сделанные пользователем изменения или отменить их. Если конфликтов не- сколько, сведения о каждом из них можно просмотреть с помощью кнопок На- зад и Вперед. Некоторые ошибки можно исправить только путем отмены изменений. В диалоговом окне Устранение конфликтов вы можете выполнить одно из следующих действий: Если нужно сохранить изменения, сделанные для выделенного элемента на сервере, щелкните Отменить мои изменения. Есл и нужно применить к выделенному элементу ваш и изменения, щелкни- те Повторить мои изменения. Если нужно сохранить изменения, сделанные для всех элементов на серве- ре, щелкните Отменить все мои изменения. Если нужно применить ваши изменения ко всем элементам, щелкните По- вторить все мои изменения. Повторное подключение связанных таблиц после автономной работы После повторного подключения связанных таблиц все сделанные изменения данных или объектов синхронизируются. Чтобы это сделать: 1. Откройте базу данных, связанную со списками SharePoint. 2. В разделе Списки SharePoint вкладки Внешние данные Ленты откройте кнопочную панель, а затем щелкните кнопку Оперативный режим (см. рис. 13.3). 3. Если нужно отменить изменения, сделанные в автономном режиме, щелк- ните кнопку Отменить изменения в кнопочной панели раздела Списки SharePoint вкладки Внешние данные Ленты. Сбор данных по электронной почте Взаимодействие программ Access 2007 и Outlook 2007, реализованное на но- вом уровне, позволяет создавать и отправлять сообщения электронной почты с формами для ввода данных. Обработка ответов с заполненными получателями
Сбор данных по электронной почте 553 формами производится в соответствии с заранее установленными правилами, например, данные автоматически добавляются в указанную таблицу базы дан- ных сразу после их получения. Это позволяет сэкономить время, затрачиваемое на ввод данных, получаемых от большого количества пользователей. Форма сбора данных по электронной почте не является формой базы данных Access. Мастер создает специальную форму ввода на основе заданного форма- та — HTML или InfoPath. Допустим, необходимо провести опрос и собрать его результаты в базе дан- ных Access, Сначала необходимо создать базу данных Access с таблицами для хранения результатов. Затем с помощью мастера Access Сбор данных по элек- тронной почте следует подготовить форму с вопросами (в виде полей) и разо- слать ее участникам опроса. По получению ответов данные будут направляться непосредственно в таблицы базы данных (для нескольких таблиц создается запрос). По электронной почте нельзя собирать данные в поля следующих типов: Вложе- ние, Счетчик, Поля с несколькими значениями, Поле объекта OLE. Мастер сбора данных 1. Откройте базу данных. 2. Для заполнения одной таблицы выделите ее в области переходов. Для за- полнения нескольких связанных таблиц выделите запрос, основанный на этих таблицах. 3. Выполните одно из следующих действий. В разделе Сбор данных вкладки Внесшие данные Ленты щелкните кнопку Создание электронного сооб- щения. Или щелкните правой кнопкой мыши таблицу или запрос, а затем выберите в контекстном меню команду Сбор и обновление данных по электронной почте. 4. Запустится мастер, на первой странице которого отображены основные этапы процесса. Щелкните кнопку Далее, а затем заполните все появляю- щиеся окна мастера. 5. В последнем диалоговом окне щелкните кнопку Готово. По окончании ра- боты мастера будут созданы и разосланы сообщения электронной почты, ответы на которые будут обрабатываться автоматически. Если вы задали «ручное» управление ответами, используйте для этого диало- говое окно Управление сообщениями сбора данных, которое открывается кноп- кой Управление ответами в разделе Сбор данных вкладки Внешние данные Ленты.
Глава 14 I Проекты Access Проект Access (.adp) является файлом программы Access, который обеспечи- вает эффективный доступ к базам данных Microsoft SQL Server с помощью архи- тектуры компонентов OLE DB. Проектом этот файл Access называется потому» что содержит только программные объекты: формы» отчеты, макросы и модули, т.е. те объекты, которые непосредственно используются для создания приложе- ний» Файл ,,adp сам не содержит объектов, основанных на данных или их опреде- лениях, т.е. таблиц, представлений» схем баз данных, хранимых процедур или определяемых пользователем функций, которые создаются и хранятся в связан- ной с ним базе данных Microsoft SQL Server. Работа с проектом в программе Access очень похожа на работу с «обычной» базой данных Access. Средства и способы создания форм, отчетов, макросов и модулей не отличается от тех, которые используются в базах данных Access. За счет подключения к базе данных Microsoft SQL Server в Access вы также мо- жете просматривать, создавать, изменять или удалять таблицы, и «аналоги» за- просов — представления, хранимые процедуры, определяемые пользователем функции, а также схемы данных. Это делается с помощью мастеров, конструк- тора таблиц, конструктора запросов и текстового редактора SQL. Хотя пользова- тельский интерфейс для работы с этими объектами отличается от интерфейса для работы с эквивалентными объектами баз данных Access, он настолько же прост в понимании и использовании. К проектам Access пользователь может обратиться в случае, если планируе- мая база данных превышает размеры, указанные в спецификации, но имеется необходимость сохранить привычный интерфейс пользователя этой програм мы. Кроме того, если от приложения требуются повышенные характеристики производительности, надежности, безопасности, масштабируемости, способно- сти к восстановлению и др., которые может дать профессиональная база данных Microsoft SQLServer, обеспечивающая работу в архитектуре клиент/сервер. На- конец, база данных Access со временем может просто «разрастись», стать более сложной, количество ее пользователей может вырасти и им станет «тесно» в рамках базы данных .accdb или -mdb. Тогда ситуацию может исправить ее пре- образование в проект .adp.
556 Глава 14. Проекты Access Различные диалекты SQL Отличия и «неполное соответствие» баз данных Access и Microsoft SQL Server мож- но связать с различными диалектами языка SQL, на которых они построены. В ба- зах данных SQL Server используется Transact-SQL, а в Access — ANSI-89, расши- ренный дополнительными операторами, например, TRANSFORM для построения перекрестных запросов и др. Создание проекта Access Чтобы создать проект Microsoft Access и подключить его к базе данных Microsoft SQL Server: * 1. В центральной части страницы Приступая к работе с Microsoft Office Access щелкните значок Новая пустая база данных. 2. В правой части страницы щелкните значок Поиск расположения для раз- ч мещения базы данных (на нем изображена «папка Windows»). 3. В диалоговом окне Файл новой базы данных выберите папку для файла, задайте его имя и щелкните в раскрывающемся списке Тип файла пункт Проекты Microsoft Office Access (*.adp)< Щелкните кнопку ОК, чтобы за- крыть это диалоговое окно. 4. В правой части страницы Приступая к работе с Microsoft Office Access в поле Имя файла отобразятся название и тип файлат а ниже — его распо- ложение (рис. 14.1 слева). Щелкните кнопку Создать. Новый проект Создание проекта Microsoft office Access, которьй падклочвется к серверу Mloosoft SQL Server. С pocunents and SettrigsVwytoM дакуненты\ файле: Новая.adp Рис. 14.1 Создание проекта Microsoft Office Access 5. Появится диалоговое окно с вопросом «Подключиться к существующей базе данных SQL Server?». Щелкните кнопку Нет, чтобы создатп новую базу данных. Щелкните кнопку Да. чтобы подключить проект к сущест- вующей базе данных SQL Server (рис. 14.1 справа). 6. Если вы щелкнули кнопку Нет, появится диалоговое окно мастера баз данных Microsoft SQL Server, в котором необходимо указать сервер SQL Server, на котором будет расположена новая база данных (код входа в него и пароль для учетной записи, обладающей на сервере правами CREATE DATABASE), а также имя новой базы данных SQL Server (рис. 14.2). Щелкните кнопку Далее, а в следующем диалоговом окне мастера щелк- ните кнопку Готово, чтобы создать базу данных SQL Server и проект Access, который будет открыт в программе Access.
Создание проекта Access 557 Рис. 14.2 Диалоговое окно Мастер баз данных Microsoft SQL Server Msmp бад гл ftosoft SQL S^vet yvcMCMir щ«?> SO- Scr нт j - - r ] V У । у ; 4’l * x- л- _ -j - , . v . ... . _ _ 1 - -- д “ 'г l " — Зааайгемоя ехала и пггюль дл* учиняй Лйписц, Ыалвдлоиим прмпм СНЁАТТDATaBAST m repmpe. 7. Если вы щелкнули кнопку Да, появится диалоговое окно Свойства связи с данными (рис. 14.3), где на вкладке Подключение выберите сервер SQL Server, на котором расположена база данных, к которой следует подклю- читься (укажите сведения для входа в сервер), а также выберите имя су- ществующей базы данных SQL Server. Щелкните кнопку ОК. чтобы от- крыть проект, подключенный к базе данных, таблицы и запросы которой отобразятся в области переходов (рис. 14.4). Рис. 14.3 Диалоговое окно Свойства связи с данными Значки объектов Обратите внимание но значки объектов, которые расположены в области перехо- дов (все объекты «взяты» из базы донных SQL Server). Значки таблиц не отличаются от значков таблиц базы данных Access, а среди запросов особыми значками отме- чены определяемые пользователем функции и хранимые процедуры. Такими же значками объекты отображаются в диспетчере Microsoft SQL Server (рис. I4 5).
558 Глава 14. Проекты Access Рис. 14.4 Таблицы и запросы базы данных SQL Server, к которой подключен проект, отображаются в области переходов QB АВТОРЫ пв Авторы Документов па Авторм/стрвницы леркрес Я Владельцы ® Дмные документов а Й1ДГ1ММТИ ® Орпмияцнм а Редакторы а ГИПЫДОДОГНТО* S3 Ямх Авторски* к л его» твепоыог $! Авторы 6<) дофметтва ф Год ладен «л ф Сарточи (все данные, ф Сводим диаграмм* Карточка Сводив*’»®лица Карточка ЕЗ Обноеиеннатввтицы Авторы Авторы ж “ и лозицл* < пв, ЦЙ Авторы нв ' с параметрами Авторы ив WT Первые авторы всем додме Рис. 14.5 База данных Электронная библиотека SQL в окне диспетчера Microsoft SQL Server Гы1 Database Свасгагч fa СЯ Tables ft Cl Tables ft d tbo Авторские етйеи ft 23 dbo Авторы ft C3 dbo Авторы документе* ft £3 dbo АвторьЛтраннцы термростны-1 ft □ dbo Владеоьиы Qi П9 dbo Данн*» документов ft l5 dbo Издательства ГЗ dbo OpfaHHMuHH 23 dboPeAernyu Q dbo Типы документов Q dbn йзьк л <* ft ft ffi ft (&Q| ¥!•«* ft О Syetwr. Views ft dbo Авторские сгмажСеслоногатвльная выборке] ft О Aaropt» баа документов Й И dbo год издания ft га dbo Карточке (ко двнныг> ft га dbo Сводим дивгронлаКартvMKa ft цЭ dbo Свод им таблица Карточка В Di PhxrwTtmeWly § ГД Sltued Procedures Ч' О Sy«ef« Stored Procedi»» Й Q &ю,Обновление табэды Авторы В CUHrcUons е Q Table-valued Functxmt jg dbo Аятппы i* ♦ и noMiMi«гфшмтраип Й dbo.ABTOpWHe*< параме«мнн ft 3j dbo-Авторы !«¥• h dbo Первые авторы всех докупвнтоЬ Rj Sealeryriued Fjxtions 3 ПА System Functions 9 Cl Tvpeo • CjRJes EJ Defers
Резервное копирование проекта и базы данных 559 Неподключенный проект ' - --- ... - — Если вы хотите создать проект, который не подключен к базе данных SQL Server, в диалогом окне Свойстве связи с данными (см. рис. 14.3) щелкните кнопку От- мена. Впоследствии вы сможете подключить проект к базе данных с помощью ко- манды Сервер | Подключение меню кнопки «Office» (рис. 14.6). Если проект уже подключен к базе данных Microsoft SQL Server, то с помощью этой же команды можно изменить подключение. Рис. 14.6 Подключить открытый проект к базе данных SQL Server можно с помощью команды Сервер | Подключение меню кнопки «Office» Создрь >-" л,- бйзй данный . QTKDbHto I П<ММЛГ£Ч«НЖ! с«ш '**pikn>a люйя- б’дан*ьтмм ' к 1 Свойству фвгра Отображение диалогового окне Свойства сервера", темни другой базы двн ma SQL Semi г.»гой АягеЗ .И’мш 0*041» ^правление проектом Длектррниая по ото IМ . Создан. рсюрчкую коамо SQL бдям данных Создание резервной копии базы данных м| а Восстааювипъ SQL-базу денем* Восстановление бпы данных Microsoft SQL Server из резервной сопим [ :♦ у Перенести б*»у данных Л j Перенос базы дай с одного сервера на дргой. s.Jj Ог^ближоплхь МММ 1 Opeep I ч йГ Дакоытъ проект 1 • Копировать файл «жив данных М и Копирование базы данных на другой сервер. ij Удалит»«мудлины! SQL 9)4 ^М^ные базы даунмх SQL Serrri X вдаод Нарвы етры Адене Открыть проект Access можно точно так же, как и любую базу данных Access. Резервное копирование проекта и базы данных В Access можно сохранять резервные копии проекта Access и базы данных SQL Server, к которой он подключен. Для этого используются две команды из меню кнопки «Office»: Управление проектом | Резервная копия проекта и Сер- вер | Создать резервную копию SQL-базы данных. Для восстановления проекта из резервной копии достаточно просто переименовать его файл .adp, я для вос- становления базы данных необходимо использовать команду Сервер || Восстано- вить SQL-базу данных.
560 Глава 14. Проекты Access Подменю команд для работы с сервером В подменю Сервер меню кнопки «Office» имеются также команды для просмотра свойств текущего сервера, переноса и копирования базы данных с одного сервера на другой, удаления базы данных, о также изменения и сброса пароля для входа в систе- му- Создание таблиц базы данных SQL Server Новые таблицы в базе данных SQL Server можно создавать с помощью интер- фейса, который предоставляет вам программа Access в открытом и подключен- ном к этой базе данных проекте. Для этого можно воспользоваться конструкто- ром таблиц, который открывается с помощью кнопки Конструктор таблиц, рас- положенной в разделе Таблицы вкладки Создание Ленты (этот способ мало чем отличается от аналогичного действия в базах данных Access). Также таблицу можно создать в открытой схеме базы данных (схема базы данных является «са- мостоятельным ъ объектом проекта и базы данных SQL Server). Для этого следу- ет воспользоваться контекстным меню рабочей области схемы, в котором есть команда Создать таблицу (рис. 14.7). Владельцы [ГОяамк*] ЭОС Коамаитдрий ирйе й Иэдатрлыцгва у ..ID 1ЩЛ«Мтяц Пмвтольстяо анные документ [ID докун»о*[ Дате Нежине (ГО пала] (Год кшанма] [ГО mmxtwwctw] (Перата я аастгяамячу' [Г игмрсхылк» неточна»! Язык уратам**] Типы документов ГОтмга] Тип ПОяэджпым] (Количктао рисунков. «а1 1 ю : Иижмааям Иив I, [П> ярганкпцин} КоааивитариЗ оряив_Ы Вставить Прооиотргп» рэзрывм страниц Л£ресмотоеть разрывы страниц В )ист диаграмму в окно £хемь макета |йииктары Мощраб Свойства Ашорские списки Вддопгтьвсе Показать подписи свпеЯ Авторы документ ? (ХОмжуиажта] [ГО aetopal Добавить тзбяицу С«здгп» таблицу Новое нщыиме Рис. 14.7 Схема базы данных (слева) и контекстное меню ее рабочей области, в котором есть команда для создания новой таблицы (справа) Бланк новой таблицы открывается в схеме базы данных в режиме свойств столбцов (рис. 14.8), заполнив которые и сохранив изменения схемы, вы создае- те таблицу. Обратите внимание на то, что несохраненная таблица помечена в схеме звездочкой. Режимы таблицы переключаются командами, расположен- ными в верхней части ее контекстного меню. Также с помощью контекстного меню в таблице можно определять ключевые поля, индексы, отношения и огра- ничения для полей таблицы. Соответствующие команды контекстною меню открывают диалоговые окна свойств базы данных SQLServer.
Создание таблиц базы данных SQL Server 561 Свойства ггаА&0 имгнв гсхбыо* 4ЛЮЧи Тмыо «оное п лдолеленнг v АтжрГПГ detfrMi float ?1оле! {Поле та&м««] nt (Wry nchar ntrirt irwwiK irtMfcTw «втор* докммЬ1го& £ \£J AJK-fTWral I'S (ГОмпорв] I frtoMUiuemwi] ЛШсгопмл <! »»•*« &&*** ЧШ мпосмц и^ммпы ©влмвуц Mm 1ПС mt**iiu4>] .•л** •»* 4>ai* ta ....... Клв*мво< пом Инмххм / Кяечи QfHMMHtM Оданячгям фовштстр :кк mdluatRtkne хдвлит* сгрпгж CKptfT» твблпцу •ntey nt l /Qaia 'taMt <W. редлснжв^ мыв] КддамТъ габитф m базы «tit***» Добмип. смммны* тавпним Ап <подбор ммир :вяцделс»нмж-гв6лкц Ичвсуопвив ПоЫтиг П**е^мч0м) wiif nt ’ '«7 1 ilafettr* rN*thn(100) rl —4----------- ------------------г----------- яаддтеллгв*]-----jin' * i [Лрревад К МПСМ1*., (nte>t W Nun inuU .*11. All >11 4UU. iii - • -* • 4 •Ml О* fit 4 тагклаг 4 marJ ar 50 >J rtvntiw Ж ,/ .rwartbn $0 «it 4 rtext It </ ти»!жпп e 1/ fiwoop рдпмтш iWtflMnwTb ош’лгнмог Рис. 14.8 Схема базы данных с таблицами, открытыми в различных режимах (внизу) и новая (несохраненная) таблица (вверху) При создании таблиц необходимо учитывать «неполное соответствие» типов данных полей в Access и SQL Server (см. таблицу 14.1). Таблица 14.1 Соответствие типов данных полей в Access и SQL Server Тип данных в Access Тип данных в SQL Server Определение типа данных в SQL Server Логический bfr Тип донных для сохранения битовых значений (могут принимать значения 1 или 0). Целые значения, отличные от 1 или 0, принимаются, но всегда интерпретируются как I. Числовой (Байт) tlnyint Тил данных с размерам 1 байт 8 бит) для сохра- нения целых значений в диапазоне от Одо 255. Числовой (Целое) smallint Тип данных размером 2 байт (16 бит) для со- хранения целых чисел в диапазоне от -215 (-32 768) да 215-1 (32 767). Числовой (Длинное целое) 1 int Тип данных размером 4 байт (32 бит} для со- хранения целых чисел в диапазоне от -23' (-2 147 483 648) до23,-1 (2 147483 647). 19 Access 2007
562 Глава 14. Проекты Access Тил данных в Access Тип данных в SQL Server Определение типа данных в SQL Server Числовой (Одинарное с плавающей точкой) real Тип данных для приближенного сохранения де- сятичных значений с точность до семи разря- дов. Может содержать положительные значения приблизительно от 1,18Е-38 до 3,40Е+36, отрицательные значения приблизи- тельно от-1,18Е-38 до -3,40Е+36. (отсутствует) в biglnt Тип данных размером 8 байт (64 бит) для со» хранения целых чисел в диапазоне от -2бЭ (-9 223 372 036 854 775 808) до 2*3-1 (9 223 372 036 854 775 807). Числовой (Двойное 'с плавающей точкой) float Тип данных для приближенного сохранения де- сятичных значений. Может содержать положи- тельные значения приблизительно от 2,23Е-308 до 1,79Е+306, отрицательные зна- чения приблизительно от -2,23Е-308 до -К79Е+308. Денежный money Тип данных для сохранения денежных значе- ний в диапазоне от -922 337203 685 477,5707 до 922 337 203 685 477,5807 с точностью до одной десятитысячной. • • smallmoney Тип данных для сохранения денежных значе- ний в диапазоне от -214 748,3648 до 214 748,3647 с точностью до одной десяти- тысячной. При отображении значений типа smalimoney они округляются до двух десятичных знаков. Действительное/ числовой decimal и numeric Типы данных для сохранения с высокой точно- стью десятичных значений в диапазоне от -103fi - 1 до 1036 - I. Пользователь может ука- зать масштаб (максимальное общее число разрядов) и точность (максимальное число разрядов справа от десятичной точки). Дога, время datetime Тип данных для сохранения значений даты и времени в диапазоне от 1 января 1753 г до 31 декабря 9999 г., задаваемых с точностью до 3,33 мс. I smalldatetime Тип данных для сохранения значений даты и времени с меньшей точностью, чем в типе datetime. Диапазон значений: от 1 января 1900 г. до 6 июня 2079 г. с точностью до одной минуты.
Создание таблиц базы данных SQL Server 563 Тип денных в Access Тип данных в SQL Server Определение типа данных в SQL Server Счетчик int Тип данных размером 4 байт (32 бит) для со- хранения целых чисел в диапазоне от -2” (-2 147 483 648) до 231 - 1 (2 147483 647) (с определенным свойством Идентификация). Текстовым varchar(n) Тил данных для сохранения данных перемен- ной длины с максимальным размером до 8000 знаков ANSI. nvarchar(n) Тип данных для сохранения данных перемен- ной длины с максимальным размером до 4000 символов Юникода. Юникод использует 2 байта на символ и поддерживает все нацио- нальные наборы символов. i Поле МЕМО text Тип данных для сохранения текстовых значе- ний переменной длины с максимальным разме- ром до 2-1 (2 14 7483 647) знаков (длина по умолчанию — 16). Объекты OLE, Вложение image Тип данных для сохранения двоичных данных переменной длины с максимальным размером 23 - 1 (2 147 483 647) байт. Используется для сохранения объектов BLOB (Binary Large Objects), таких как рисунки, документы, звуко- записи и откомпилированные программы. Код реплики (также глобальный уникальный иденти- фикатор — GUID) , uniqueidentifier Тип донных для сохранения 16-байтового гло- бального уникального идентификатора (GUID). Гиперссылка char, nchar, varchar и nvarchar Тип char — тип данных для сохранения значе- ний фиксированной длины с максимальным размером до 8000 знаков ANSI. Тип nchar — тип донных для сохранения значении фиксиро- ванной длины с максимальным размером до 4000 символов Юникода. Юникод использует 2 байта на символ и поддерживает все нацио- нальные наборы символов. Типы varchar и nvarchar имеют переменную длину (для всех типов со свойством Гиперссылка, имею- щим значение Да). (отсутствует) - - varbinary Тип данных для сохранения двоичных данных переменной длины с максимальным размером до 8000 байт.
564 _ Глава 14. Проекты Access Тип данных в Access Тип данных в SQL Server Определение типа данных в SQL Server (отсутствует) timestamp Тип данных для значений даты-времени, авто- матически обновляемых при каждой вставке или обновлении строки Значения в столбцах timestamp не являются данными типа datetime — они имеют тип binary(8/ или varblnaryf 8) и указывают последователь- ность изменений данных в базе данных. (отсутствует) * sqlvariant Тип данных для сохранения значений различ- ных типов данных в одном поле, за исключени- ем типов text, ntext, image, timestamp и sql variant. Используется в столбцах, пара- метрах, переменных или возвращаемых значе- ниях функции, определяемой пользователем. ч 'отсутствует) определяемый пользователем Т\ип данных, определяемый пользователем. Создается пользователем на основании суще- ствующих системных типов данных. Правила и значения по умолчанию могут присоединять- ся только к типам данных, определяемым пользователем. Кодировка В проекте Access или в базе данных SQL Server префикс п~ является сокращением от national и означает, что тип данных подходит для кодировки Юникод В базе данных Access все текстовые столбцы по умолчанию являются пригодными для ко- дировки Юникод. Присвоение типа определят четыре свойства (атрибута): Тин данных. Например, текст, целые или двоичные числа. Длина (или размер). Длина типов данных image, binary и varbinary опреде- ляется в байтах. Длина любых числовых типов данных определяется чис- лом байтов, необходимым для хранения максимально допустимого числа разрядов данного типа данных. Длина текстовой строки и типа данных Юникод определена в знаках. Число цифр (только для числовых типов данных). Число цифр определяет максимально допустимое число разрядов числа. Например, объект типа smallint может хранить до 5 разрядов, и значение свойства Число цифр для него имеет значение 5. Точность (только для числовых типов данных). Точностью называют мак- симально допустимое число разрядов справа от десятичной точки. Напри- мер, объект типа int не имеет десятичной точки и его точность равна О. Объ- екты типа money могут иметь до 4 разрядов справа от десятичной точки, и их точность равна 4.
Создание таблиц базы данных SQL Server 565 По умолчанию новым полям таблиц базы данных SQI<Server задаются значе- ния свойств, перечисленные в таблице 14.2 (рис. 14.9). Лда столбце зрешкгьпгпъе значения Да*л 50 90 Тип «в rY'archar Отчество nvarchar [ID аогагммиМ mt Комлентврнй Рис. 14.9 В таблицу Авторы базы данных SQL Server добавлено новое поле, значения свойств которого заданы по умолчанию 16 В HlEXt I. ♦ А . ttwxternp Таблица 14.2 Свойства по умолчанию полей таблиц SQL Server Свойство Описание Значение по умолчанию Имя столбца Имя столбца в таблице. Имена столбцов должны удовлетворять правилам базы данных для иденти- фикаторов и быть уникальными в таблице. Пустое Тип данных Допускаются системные (см. таблицу 14.1) и определяемые пользователем типы данных. char Длина • Максимальное допустимое число разрядов (для чи- словых типов данных) или знаков (для текстовых) в поле. Различается для разных типов данных, например, 50 для char. 16 — для text Число цифр Максимальное общее число десятичных разрядов (слева и справа от десятичной точки), которое мож- но сохранить в поле. 0
566 Глава 14. Проекты Access Свойство Описание Значение по умолчанию Точность Максимально допустимое число разрядов справа от десятичной точки, которое можно сохранить в поле. Применимо к типам данных decimal и numeric. 18 Разрешить пустые значения (null) Определяет, может ли столбец содержать пустые значения. Да | выбрано Значение по умолчанию i Значение, которое вставляется в столбец, если пользователь не ввел какого-либо значения. Значе- ния по умолчанию игнорируются для столбцов с типом данных timestamp. Если значение по умолчанию не определено, а столбец допускает пустые значения, вставляется значение null [ Пустое Идентификация (IDENTITY) Генерация равномерно возрастающих значений для новых строк на основании значений Началь- ное число идентификации и Шаг идентифи- кации. Нет (не выбрано) Начальное значение идентификации (IDENTITY) Это значение задается первой строке в таблице. Если свойство Идентификация имеет значение Нет, Начальное число идентификации будет пустым. Если свойство Идентификация имеет значение Да, Начальное число идентифика- ции получает значение 1. Пустое или 1. Шаг идентификации (Приращение IDENTITY) Значение, которое добавляется к значению На- чальное число идентификации, а сумма поме- щается во вторую строку таблицы. В каждой следующей строке значение увеличивается на один шаг. Если свойство Идентификация имеет значение Нет, Шаг идентификации является пустым. Если свойство Идентификация имеет значение Да, Шаг идентификации по умолча- нию получает значение Г Пустое или 1. Is RowGuid Определяет, использует ли SQL Server этот столбец как столбец ROWGUID. Нет Формула Формула для вычисляемого столбца. Пустое Таблица сортировки i Последовательность сортировки, которую SQL Server по умолчанию применяет к столбцу, когда значения в столбце используются для сортировки строк в результатах запроса. Настройка базы данных по умолчанию
Связывание таблиц в проекте Access с помощью мастера связывания таблиц 567 Связывание таблиц в проекте Access с помощью мастера связывания таблиц В проекте Access, подключенном к базе данных SQL Server, мастер связыва- ния таблиц позволяет связать одну или несколько таблиц из другой базы дан- ных SQL, базы данных Access и из других источников данных OLE DB или источников данных ODBC, Чтобы добавить к проекту Access «чужую» таблицу: 1. Откройте подключенным к базе данных SQL Server проект Access. 2. Выберите в меню кнопки «Office» команду Сервер | Связь с таблицами. 3. В появившемся диалоговом окне Мастер связанных таблиц (рис. 14.10) выберите тип создаваемой связи: связанный сервер или инструкцию SQL Transact, а затем щелкните кнопку Далее: Рис, 14.10 Диалоговое окно мастера связанных таблиц Млсгср’связанных габяиц Кадей тип свяги необкхщжо «идзты? Orow «Ьжжленме ёом ио tr+мк длинах Dto уто пбшйлйет, а свсдсимж о пвдкрочетк mctcmmhui джиьа мгнкыыюгея в багу,длидо SQ Server f Это, r*ex** недоступен,. если aw г* cucCuwi е в групп ролей нумйвп иг* jetup*>TMr.. Свя* с и**♦смчлкам денлде <Х£ 1Ж с толстые Руцкими SQI Тгллыа cosorr г^хмзвойьнвепо 'члюче***- «неииеиу K'«*my **«*.':. «детин* £ SQL rrantoC Есл и вы выберете положение переключателя связанный сервер, Access создаст связанный сервер, предоставляющий наибольшие функцио- нальные возможности, включая возможность обновления данных, если это позволяется источником данных OLE DB. и постоянное сохранение сведений о подключении к данным в базе данных Microsoft SQL Server. Кроме того, если база данных SQLServer, с которой выполняется связы- вание, находится на другом сервере SQL, то в большинстве случаев SQL Server оптимизирует операции объединения. Однако при этом необхо- димо являться членом роли sysadmin или setupadniin. Если вы выберете положение переключателя инструкцию Transact SQL, Access создает источник данных OLE DB, который использует функции Transact SQL для создания и разового подключения к внешне- му источнику данных с доступом «только дл я чтения». Access использу- ет одну из функций языка Transact SQLC Если выполняется связывание с электронной таблицей, текстовыми или HTML-файлами, рекоменду- ется выбирать этот параметр, поскольку пн обеспечивает более высокое быстродействие, чем связанный сервер.
568 Глава 14LПроекты Access Рис. 14.11 Диалоговое окно Выбор источника данных 4. В диалоговом окне Выбор источника данных выполните одно из следую- щих действий (рис. 14.11): Выберите источник данных. Щелкните кнопку Открыть, чтобы устано- вить связь с существующим источником д анных. Чтобы создать новый источник данных, щелкните кнопку Создать. В диалоговом окне Мастер подключения данных, которое появится на экране, выберите тип источника данных и щелкните кнопку Далее. За- тем следуйте инструкциям в диалоговых окнах мастера. Например, если вы выбрали тип источника данных Microsoft SQL Server, укажите имя сервера и учетные сведен ия, затем выберите базу данны к и таблицу и, наконец, задайте описание созданного подключения. По указанным све- дениям Access создает файл подключения и откроет его. б. Во втором диалоговом окне Мастер связанных таблиц (рис. 14.12) перене- сите таблицы, которые требуется связать, из списка Доступные таблицы в список Связь с проектом. Затем щелкните кнопку Далее, а в последнем диалоговом окне мастера — кнопку Готово. 6. Мастер создаст представление для каждой связанной таблицы (рис. 14.13).
Создание запросов Рис. 14.12 Выберите таблицы, которые нужно связать с проектом 569 Рис. 14.13 Новое представление создано для связанной таблицы в базе данных SQL Server menl Edt View • tods .Wndcw Community Hdp G ANDREW (SQL Server 8.C 760 • ANDFEW\ABK) (j ГЗ Daiebases ffi Гд System Databases © IJ North wind |J pubs U П юе*и Зтактропнаа библиотека 2007 SQL пек □ Database Diagrams ta fti V'ews & ГЗ System Views © EjP dbo ANDREW^SneKTDOMrtafl библистека 2007 копия SQL_dbo_Номя таблица ffi Сй Programmabrtty ffi Server Objects © Г ai Replication © Lj Management © [i SQL Se ver Agent Создание запросов Для создания запросов в базе данных SQLServer (а проекты Access не исполь- зуют запросов, которые могут быть созданы в базах данных .accdb и .mdb) в Access используются средства, доступные из раздела Другие вкладки Созда- ние Ленты — конструкторы и окна текстовых редакторов (рис. 14 Л 4): Конструктор представления. Создает представление, не допускающее ис- пользования параметров. Фактически, это аналог запроса на выборку для баз данных Access.
570 Глава 14. Проекты Access Рис. 14.14 Средства для построения запросов в базе данных SQL Server, доступные из окна проекта Access ‘ Крлмишя Макрос iptKOB процелгрь Конструктор хранимой процедуры. Создает простую храни мую процедуру из одного оператора SELECT или запросы на изменение. Из «арсенала» базы данных Access наиболее близкими к хранимым процедурам являются запросы на изменение. Оператор SELECT « Оператор SELECT является основой языка структурированных запросов SQL Он по- зволяет выполнять поиск и представлять данные самыми различными способами. С его помощью можно ответить на вопросы о типе, количестве и расположении данных. В са- мом простом виде можно записать следующую инструкцию этого оператора: SELECT список_полей FROM таблица (таблицы) [WHERE условия] Данная конструкция выбирает поля список_полей из таблиц таблица (таблицы) при выполнении в строках условий условия- В дальнейшем эта конструкция может быть усложнена за счет добавления ключевых слов ORDER BY (сортировка). GROUP BY (группировка), HAVING, DISTINCT и др Естественно, что это не единственный опе- ратор SQL (есть еще INSERT UPDATE. DELETE и многие другие). Рассмотрение инст- рукций языка SQL выходит за рамки данной книги. Конструктор встроенной функции. Создает представление, допускающее использование параметров и сортировку. В базах данных Access самыми близкими аналогами являются запросы с параметрами. Конструктор запросов в проектах Access Окна всех трех конструкторов очень похожи друг но друга и на окно конс’руктораI запросов Access 2007. Также схожи и способы работы в них На рис. 14.15 вверху показано окно конструктора, в котором создано представление, выбирающее фа- милии и инициалы авторов, о также сортирующее их по организациям и первым бу- квам фамилий. Данные выбираются из двух связанных таблиц Организации и Ав- торы базы данных SQL Server ( обратите внимание на оператор SELECT, реализую- щий этот запрос, который отображается в нижней части окна конструктора). В нижней части рис. 14.15 показан результат выполнения запроса.
Создание запросов 571 Рис. 14.15 Представление Представление 1 в окне «своего» конструктора (вверху) и в режиме таблицы (внизу) j fii □ Адрес П (оыменший И Орт аиюаюи* □* (Все столбцы) □О органтсиции ✓ Го возрастанию 2 I Авторы Il Авторы (Все столбцы) □ О автора ElИнициалы Е Фамилия □Имя □Отчество □Ю организации О Комментарий . ,.—I ИО □рганизацм V .То возрастанию 1 ELECT dIod Антовы Фамилии, dbo Авторы Инициалы AS ЙО dbo Организации Название FROM с9«с.Организацкн INNER JOIN dbo Авторы ON dbo Организации (10 организации} = dbo Авторы jlO организации] ORDER BY dbo Организации Название, dbc Авторы Фамилия_______________________________ *• Ншминв Дуг м не Зуев Г.А Академия государственного контроля С.С. С.Н. Академия государственного контроля —“ill Ч«^жьш>‘ п Академия осударггвенного koi-троля Абасов Институт "лвыимжи" "яалифмкациа Алешина Институт повышения квалификации Kl Гуляев RM Институт п «ыинммш кядлнфиквция Рудаков Ю.Ю. Институт п «ыипния кеалнфикацнй Верило" В.В. институт и опт о гонки кадров ~i| J “— — ——— * к Инспгут г щтотовки кадров 1 1 г Копылов И.Ф. J 1 1 Кудрявцев А.Ы. Институт подготовки кадров 1 Кудрявцева Кут.жои J «к_ Ичсттгут ПОДГОТОВИМ кадров И.П. Институт подтогоьки кадров Павлов <f Институт подготовки кадров -LI . 1 Л" Полове ЛА Институт подготовки кадр&р * ' Институт подготовки кадров Самойлов юн —~—— Аманам в.а Кафедра । робпем митсярацмм МП* Цявыдси а in. Кафедра пробпом иитогрпцт, ИЛЯ Иванов в.в Кафедре проблем мнтогрвцни ИЛИ Ыах Ш.Б. Кафедра проблем м*погра1)ии ИП“ Негров Гитов ММ Кафедра проблем интеграции МП ВС. Кафедра проблем мнтвтрацми ИПК Кафедра нроолом шгпнрацмм ИПМ НА 1 Данилов Н.С_ Кафедра гу»рбл<н* розвитн» ипц 1ажмсапкин 'Морозом ЮА Кафедра проблем развития ИПК EJ» . Кафедра проблем розиитмя ИПК Конструктор запросов в SQL Server Конструктор представлении в Microsoft SQL Server Management Studio имеет такой же вид (рис. 14.16), так как именно он «импортируется» в Access для работы с про- ектами. (________ Ввод хранимой процедуры. Создание хранимой процедуры с помощью тек- стового редактора (этот способ, как и два последующих, предназначен для пользователей, которые в достаточной степени владеют SQL). Ввод скалярной функции. Создание с помощью текстового редактора ска- лярной функции, возвращающей значение. Ввод табличной функции. Создание в текстовом редакторе табличной функции из нескольких инструкций с возвратом набора результатов толь- ко для чтения.
572 Глава 14 Проекты Access Рис. 14.16 Конструктор представлений в Microsoft SQL Server Management Studio Fie Edit View Pre ect Quwv Designer Tools Window Community Help View - dbo-Предстаоление I* И Авторы EJ Opr дни «один * (All Columns) Ю авторе < Цинналы Фаг^иня — Имя (Отчество e ID организации Н Комментарий upslze_ts КоммегггаргЛ _iupslze_ts * (All Columns) ID nprawvmru Column । Фамилия Инициала Назеате Alias Table Авторы Авторы Ou“pul I Sort Type Ascending Ascending I Sort Order SELECT . top too PERCENT dbo. Авторы.Фаиилия, dbo. Авторы.Йннцнатя AL ИС, db Зргаьшацин.Чазмниг FROM dbo. Авторы INNER JOIN dbo.OprarwauHM ON dbo.Авторы.[ID органнэаци i]« dbo.Организации.[ID организации | ORDER BY dbo. ОргйМ'Згции. Название, dbr. Авторы .Фамилия Представления Представления — это «виртуальные» таблицы базы данных, которые отобра- жают данные из других таблиц. Представления создаются динамически на осно- ве результата выполнения запроса. Для пользователя работа с представлениями мало отличается от работы с таблицами. Представления могут во многих случа- ях использоваться для внесения изменений или добавления данных в базу. Представления часто используют как часть макета базы данных. Например, это может быть сделано по следующим причинам: Определенные части (подмножества) всех данных базы могут быть «ин* те ресны» для определенных групп пользователей. Так как любое пред- ставление сохраняется в базе данных, оно может ограничивать часть дан- ных, которые могут использоваться определенной группой пользователей (или всеми пользователями базы данных). Например, для сотрудников бух- галтерии «интересны» одни данные, а для региональных менеджеров — другие, а от всех сотрудников, кроме бухгалтерии, нужно скрыть размер оклада и премий. Для представлений можно настраивать права доступа. Представления позволяют скрывать базовые таблицы. Можно запретить доступ к таблицам для всех пользователей и обязать их работать г данными только через представления. В некоторых случаях это позволит предотвра- тить внесение изменений в базу данных пользователями или приложения- ми. Например, разработчик может создать представление Продажи теку щего месяца. Первого числа каждого месяца администратор базы данных будет соответствующим образом изменять описание представления кото- рое поступит в распоряжение пользователей.
Создание запросов 573 Fla вкладке Конструктор (Работа с функциями и представлениями) Ленты имеются элементы управления для выполнения следующих действий в процес- се подготовки представления (рис. 14.17): - — . . X — ——aS • iv«J ^Управление мндм амм Выполнить Страница Проверить _ свойств синтаксис SQI ад Вставить QL Kcirctpynop : ; ’S Добавить к результату Сортиооам по возрьгташю 1—I ^Удллгть Сортировал по убывание Добавить э таблицу 1<- Группировка j* Вставить строки Ц^ТКИе. < ; , • j j » J ... ‘ опврацимBwBO^ t Рис. 14.17 Вкладка Конструктор (Работа с функциями и представлениями) Ленты Кнопка Выполнить позволяет запустить представление на выполнение. Кнопка Страница свойств открывает диалоговое окно свойств представле- ния, в котором имеется четыре вкладки (рис. 14.18): Представление (на- страиваются свойства представления), Столбцы (настраиваются поля, ко- торые были добавлены в представление), Подстановка (настраиваются се и- ски подстановки) и Данные (настраиваются источник данных, подтабли- цы, режим открытия представления по умолчанию). Рис. 14.18 Диалоговое окно свойств представления I Кнопка Проверить синтаксис SQL проводит проверку правильности напи- сания операторов языка SQL. Используйте эту возможность, если вы вноси- ли «ручную» правку в автоматически сгенерированный код. Кнопки Схема, Сетка и SQL включают или выключают отображение соот- ветствующих областей в окне конструктора. Кнопка Управление индексами используется для настройки индексов. Кнопка Добавить таблицу открывает диалоговое окно Добавление табли- цы, из которого вы можете перенести таблицу, представление или функ- цию в схему данных запроса.
574 Глава 14. Проекты Access Кнопки Добавить к результату и Удалить добавляют выделенное в схеме поле к результату представления и удаляет поле из результата. Кнопка Группировка добавляет группировку записей в представление. Кнопки Сортировка по возрастанию и Сортировка по убыванию добавляют соответствующие типы сортировки к полям представления. Кнопка Вставить строки добавляет строку к таблице (сетке) представле- ния. Строка вставляется над выделенной в таблице строкой. Хранимые процедуры Хранимые процедуры содержат наборы команд Transact-SQL, сохраненных в скомпилированном виде и выполняющихся как одна программная единица. Каждая процедура имеет свое имя. По этому имени пользователи вызывают про- цедуру, запуская тем самым на выполнение весь набор команд, содержащихся в ней. Хранимые процедуры могут определять ход и логику выполнения програм- мы запросов к базе данных. Они могут иметь входные и выходные параметры, возвращать один или несколько наборов записей, а также возвращать значения. Допускается использование хранимых процедур в любых местах, в которых используются инструкции SQL, причем: В одной хранимой процедуре можно выполнить последовательность инст- рукций SQL. В процедуре можно ссылаться на другие процедуры, что упрощает выпол- нение последовательности сложных инструкций. Хранимая процедура компилируется на сервере при ее создании, поэтому она выполняется быстрее, чем отдельные инструкции SQL. Конструктор хранимых процедур Хранимая процедура, содержащая одну SQL-инструкцию SELECT, может созда- ваться или редактироваться в окне конструктора запросов (рис. 14.19). Для нее до- пускается определение дополнительных свойств (за исключением свойств столб- цов). Хранимая процедура, содержащая несколько инструкции SQL, может созда- ваться или изменяться в текстовом редакторе SQL. Допускается редактирование входящей в такую процедуру SQL-инструкции SELECT в построителе запросов. Од- нако для нее невозможно определить дополнительные свойства. Если для хранимой процедуры открыт режим конструктора, на вкладке Кон- структор (Работа с хранимыми процедурами) Ленты отображается раздел Тип запроса, кнопки которого работают в режиме переключателя, определяя вид за- проса на изменение, который реализуется в процедуре (см. рис. 14.19). Здесь имеются такие же варианты, как в Access: Выборка, Создание таблицы, Добав- ление, Обновление, Добавление значений и Удаление. Щелкните одну из кно- пок и обратите внимание, как изменятся таблица (сетка) и инструкция SQL в нижней части окна конструктора (перед этим может появиться диалоговое окно для выбора имени таблицы, которую нужно создать, дополнить, изменить или удалить).
Создание запросов 575 ДЗ Выборка Обновлен*» □9 < оманме таблицы Добавление хнвчвний документа] SELECT FROM ID документа Авт фы INSERT INTO dbo “Новая таблица) ([ID документа), Авторы) dbo. [Авторы доку ментов). [ID документа], dbo Авторы. Фамилия dbo Авторы INNER JOIN dbo.[Авторы документов] ON dbo Авторы. [ID авторе]» dbo. [Авторы документов] [ID автора] INNER JOIN йЬо.|Новая таблица) ON dbo [Авторы документов [ID документа) » dbo [Новая таблица) [ID документа] _J* (Все столбцы) □Инициалы ^Фамилия □Имя □Отчество ClD ор анюеции С Комментарий • (Все столбцы) ИГО документа □ ГО «втора □Позиция автора Фамилия [Авторыдокументов Авторы О. Повал таблица □* (Все столбцы) ID докуме "а Авторы Редакторы Рис. 14.19 Хранимая процедура в окне конструктора запросов Определяемые пользователем функции Определяемые пользователем функции представляют собой набор команд Transact-SQL, хранящихся в базе данных в виде отдельного объекта, Они сочета- ют в одном запросе как свойства представлений, так и хранимых процедур. Они поддерживают передачу параиметров, сортировку, возвращают скалярные зна- чения или значения в виде таблиц данных, их можно использовать как вложенные объекты. В зависимости от типа возвращаемых значений определяемые пользовате- лем функции разделяются на три категори и: Встроенная определяемая пользователем функция. Содержит единствен- ную инструкцию SELECT и возвращает обновляемую таблицу данных. До- пускается использование этой функции в предложении FROM запроса. До- пускается создание и изменение встроенной определяемой пол ьзователем функции в режиме конструктора запросов. Пользователь может также оп- ределять дополнительные свойства. Табличная определяемая пользователем функция. Содержит одну или не- сколько инструкций SELECT и возвращает необновляемую таблицу дан- ных. Допускается использование этой функции в предложении FROM за- проса. Допускается создание и изменение табличной определяемой пользе-
576 Глава 14. Проекты Access вателем функции в текстовом редакторе» а также изменение ее SQL-инст- рукции SELECT в режиме конструктора запросов. Определение дополни- тельных свойств не допускается. Скалярная определяемая пользователем функция. Содержит одну или не- сколько инструкций SELECT и возвращает скалярное значение с типом данных int, decimal, varchar, sql_variant или table. Скалярную функцию можно использовать в запросе в любом месте, где можно использовать имя поля (столбца). Допускается ее создание и изменение в текстовом редакто- ре, а также изменение SQL-инструкции SELECT в режиме конструктора за- просов. Определение дополнительных свойств не допускается. На рис. 14.20 показана встроенная определяемая пользователем функция, открытая в режиме конструктора запросов, при выполнении которой запрашивается параметр. Е Ормннмцим * (See столбцы) ^Название □Адрес □Комментарий [_ Г (Все столбцы) Г 110 авторе @ Инициалы ^Фамилия □Имя ~1 Отчество ZjID организации □Комментарий Й= 51 0= Столбец ^Фамилия Тсы Таблица Вывод Тип сортировал Гру^пироаха по . , Условия Иля Г [Авторы________; у По возрастанию 7 _________ Группировка пс Г рулпиронка по _j________ ^Группировка по Группировка по = ©Номер 1 kJ Инициалы Авторы Название I [ID организации Организации Организации >- _______I о возрастанию 1 SFLEC т0Р 100 PERCENT dbo.Авторы.Фамилия, dbc Авторы Инициалы, dbc Организации Название FROM ёЬо.Аяторы INNER JOIN dbo Организации ON dbo.Авторы [ID организации] = dbo Организации [ID организации] GROUP BY dbo Организации Название dbo Авторы. Инициалы dbo.Авторы. Фамилия РЬо.Овганизации [ID организации] HAVING (dbo Ооганизации [ID организации) = ©Номер) ORDER BY dbo Организации [ID организации], dbo Авторы Фамилия Рис. 14.20 Встроенная определяемая пользователем функция открыта в режиме конструктора Встроенные функции SQL Server Кроме определяемых пользователем функций в SQL Server имеется множество встроенных (системных) функций. Можно сказать, что их набор «не хуже», чем в Access (рис. 14.21): функции для работы с датой и временем, математические строковые, статистические, системные и до.
Преобразование базы данных Access в Формат SQL Servei 577 Рис. 14.21 Список системных функций в SQL Server jtitrosoll SQL Wwr Stu м 3 ' д System Fun; ti; ns Ifi Cl Functions x l~7I Corfiguretion Functions ft Гз Cursor FunctKXb ft ГЗ Date and Tn» Funct on* в» Га Mathematical Functions IflftAbsfl__________ * CaHMMi & ft acosq tf> ft A5b() & ft AtanO ft ft AtnZO ft ft Cellng(> G ft CosO S f Д Parameters ^3 Radians express rti (f bat) Returns float ft ft Q*() ft Decree! J ® % bpf ft ft Floorf) ® 5 103(1 ffi ft LogWO Ф ft Kj & ft Powcf() ft ft RadansO ft , Rand() T ft RuundO if» ft Sign() ® ftsnO ® ,rfa So»W dj ft Saruaref) • Tan() ft ГЗ Metadata Punctl ns Ш l Д Other Functlont ft) Dewset unctions ® Г-4 Securitv Fun icons ffi L3 Sting “unctions Щ Cl System Statistical Functions______ Преобразование базы данных Access в формат SQL Server Преобразование базы данных Access в формат SQL Server представляет собой перенос некоторых или всех объектов базы данных из файла Access (.accdb или .mdb) в новую или существующую базу данных Microsoft SQL Server или новый проект Microsoft Access (.adp). Для преобразовани я базы данных Access в проект Access используется специальный мастер (рис. 14.22). Можно реализовать три варианта преобразования: Преобразовать все объекты базы данных Access в формат проекта Access, что обеспечивает создание нового приложения типа клиент/сервер. Этот вариант требует некоторых дополнительных изменений в приложениях и изменений в программах и в сложных запросах.
578 Глава 14, Проекты Access Рис. 14,22 Мастер преобразования в формат SQL Server Создать новую клиентскую базу данных Access для серверной базы данных Microsoft SQL Server, что позволит создать приложение типа клиент/сер- вер. Этот подход требует только небольших изменений в приложениях, по- скольку программы будут по-прежнему использовать ядро базы данных Microsoft Jet. Преобразовать только данные или определения данных из формата базы данных Access в формат базы данных Microsoft SQL Server. Создание нового приложения При выборе в первом диалоговом окне мастера положения переключателя создать базу данных (см. рис. 14.22), а в четвертом — создать новое приложение Access “клиент-сервер” (см. рис. 14.28), мастер преобразования создаст новый проект Access, а затем сохранит его в том же расположении, что и у существую- щей базы данных Access. Все объекты базы данных преобразуются в объекты проекта, подключенного к новой базе данных. При создании нового приложе- ния ♦клиент-сервер» будут сделаны следующие преобразования объектов базы данных: Все типы данных Access преобразуются в эквивалентные типы SQL Server. Исключение составляет новый тип данных Вложение,, которые не имеют прямого аналога в SQL Server и не могут быть корректно преобразованы мастером. Запросы на выборку, которые не содержат ключевого слова ORDER BY или параметров, преобразуются в представления. Запросы на изменение преобразуются в хранимые процедуры. Запросы на выборку, в которых используются параметры или ключевые слова ORDER BY, преобразуются в определяемые пользователем функции. Запросы с параметрами, которые содержат именованные параметры, со- храняют исходное имя, использованное в базе данных Access, и преобразу- ются в хранимые процедуры или определяемые пользователем функции.
Преобразование базы данных Access в формат SQL Server '579 Не все запросы преобразуются мастером Во всех базах данных SQL Server может потребоваться «заново построить» запросы, которые не преобразуются мастером. Это такие объекты, как запросы к серверу SQL, управляющие и перекрестные запросы. Также при необходимости нужно будет «вручную» преобразовать запросы со слишком глубоким уровнем вложении. Во всех базах данных SQL Server инструкции в ячейках свойств Источник записей. Данные и Источник строк форм, отче гов или элементов управле- ния сохраняются и не преобразуются в сохраненные процедуры или опреде- ляемые пользователем функции. В модули и макросы мастер преобразования никаких изменений не вносит. После преобразования необходимо отредактировать модули, использую- щие наборы записей, из формата объектов доступа к данным (DAO) в фор- мат объектов данных ActiveX (ADO). Кроме того, необходимо проверить коды, определяющие структуру всех таблиц и запросов, так как мастер пре- образования в формат SQL Server не преобразует SQL-инструкции языка описания данных (Data Definition Language). Связывание таблиц SQL Server с существующим приложением При выборе в первом диалоговом окне мастера положения переключателя создать базу данных (см. рис. 14.22). а в четвертом — связать таблицы SQL Server с существующим приложением (см. рис. 14.28), мастер преобразует базу данных Access таким образом, что запросы, формы и отчеты будут использовать данные из новой базы SQL Server, для чего в базу данных Access будут добавлены связанные таблицы SQL Server. Мастер преобразования в формат SQL Server пе- реименовывает «старые* таблицы Access, добавляя к их имени суффикс « -Ло- кальная» (рис. 14.23). Например, при преобразовании таблицы с именем Авто- ры в формат SQL Server она будет переименована в базе данных Access в Авто рЫ-Локальная. А связанная таблица SQL Server получит имя исходной таблицы — Авторы. Запросы, формы и отчеты, которые были построены на «старых» таблицах, будут использовать таблицы SQL Server. Многие свойства полей исходной ло- кальной таблицы наследуются новой локальной таблицей, включая свойства Описание (Description), Подпись (Caption), Формат (Format), Маска ввоца (InputMask) и Число десятичных знаков (Decimalplaces). Преобразование данных В четвертом диалоговом окне мастера выберите положение переключателя не изменять приложение (см. рис. 14.28) в том случае, если требуется только преобразовать и скопировать данные в базу SQL Server, не внося никаких дру- гих изменении в существующее приложение базы данных Access.
580 _ Г лава 14. П ооекты Access Рис. 14.23 Связанные и переименованные таблицы преобразованной базы данных Access Подготовка к преобразованию Перед преобразованием базы данных Access в формат базы данных Microsoft SQLServer или проекта Access рекомендуется выполнить следующие действия: Создать резервную копию базы данных. Хотя мастер преобразования в фор- мат SQL Server не удаляет из базы данных Access данные или объекты базы данных» перед проведением подобных ответственны к действий не лишним будет создать резервную копию. Создайте уникальные индексы. Для обновления в Access связанная табли- ца должна иметь уникальный индекс. Мастер преобразования в формат SQLServer может преобразовать существующий уникальный индекс, но не может создать индекс» если его не существует. Если требуется возможность обновлять таблицы, следует добавить уникальные индексы в каждую таб- лицу Access перед преобразованием. • Установите принтер по умолчанию. Для использования мастера преобра- зования в формат SQL Server необходимо иметь принтер «по умолчанию». Он потребуется для создания мастером снимка отчета об операции преобра- зования. Присвойте себе необходимые разрешения на доступ к базе данных Access. Для преобразования всех объектов базы данных необходимо иметь для них разрешения на чтение и изменение макета. ^Присвойте себе необходимые разрешения на доступ к базе данных SQL Server*
Преобразование базы данных Access в формат SQL Server 581 для преобразования существующей базы данных необходимы разреше- ния CREATE TABLE и C REATE DEFAULT. для построения новой базы данных необходимо разрешение CREATE DATABASE, а также разрешен не SELECT на доступ к системным табли- цам в главной базе данных. для создания новых устройств необходимо быть системным адм инистра- тором. Мастер преобразования в формат Microsoft SQL Server Для преобразования базы данных в формат Microsoft SQLServer необходимо открыть эту базу данных, а затем сделать следующее: 1. В разделе Переместить данные вкладки Работа с базами данных Лент ы щелкните кнопку SQL Server (рис. 14.24), чтобы запустить мастер преоб- разования. Рис. 14.24 Кнопка SQL Server запускает мастер преобразования базы данных в формат Microsoft SQL Server SQL фазадояню Л«СМ _____________________ SQL Server Переиешгмиг n?i<nonh« частей млн всей 6«Н4 AflHWX » НОСУ» Ж-ЧИ СуШ*<Т©ую}цук СсФДОн.ОД МиплоП SQL Sefrct, 2. В первом диалоговом окне мастера (см. рис. 14.22) необходимо выбрать по- ложение переключателя: использовать существующую базу данных или создать базу данных, а затем щелкнуть кнопку Далее. При выборе перво- го положения откроется диалоговое окно Выбор источника данных, по- зволяющее создать подключения ODBC к существующей базе данных Microsoft SQL Server (здесь следует выбрать или создать подключение к той базе данных, с которой далее будет работать мастер). При выборе по- ложения переключателя создать базу данных будет запущен другой мас- тер— создания баз данных Microsoft SQL Server (рис. 14.25). Он «потребу- ет» от вас ввода следующей информации: имя SQL-сервера для базы дан- ных, доверительное соединение или код входа на сервер и пароль, имя создаваемой базы данны к. 3. Когда вы успешно «преодолеете» дополнительные диалоговые окна, то вернетесь к следующему диалоговому окну мастера преобразования в фор- мат Microsoft SQL Server (рис. 14.26). Здесь вам нужно будет выбрать таб- лицы, которые следует преобразовать. Выделите таблицу в списке Дос- тупные таблицы и переместите ее с помощью кнопки «со стрелкой, на- правленной вправо» в список Экспорт в базу данных SQL Server. Когда все нужные таблицы будут перенесены, щелкните кнопку Далее.
582 Г лава 14. Проекты Access Рис. 14.25 Задайте сведения для мастера создания базы данных Microsoft SQL Server Matrep преобразований t формат SQt Sarver Рис. 14.26 Второе диалоговое окно мастера преобразования, в котором слбдует задать преобразуемые таблицы данных Мастер прёобраэогзннр г ффмагГ ЗД1 Sewer Укажите таблицы Дйя*ко»рТл»&иу S&Swver 4 I (mt о • I lol ш ’it * м V. It ЩЫ им и и * j. . * ?< ' ’ I " •? '* '• я >' 11' : ;' ’ ’ ’С £' * v t • 4 * ' * V » * г I • L* ’ ' Ш ! Ш’.У ШИР* Досгугине тябдньы: ’ Лвтюоггжбпудлкииж SQL Server Какие таблицы можно экспортировать ? Список Доступные таблицы содержит все связанные таблицы, кроме таблиц Microsoft SQL Server, уже находящихся в базе данных SQL Server Все таблицы, имена которых оканчиваются на ^локальная, исключаются из списка доступных таблиц во избежание преобразования таблиц, которые уже были преобразованы. Если требуется повторное преобразование этих таблиц, следует переименовать их перед выполнением мастера преобразования в формат SQL Server, удалив суф- фикс ^локальная. Таблицы, не отображаемые в данный момент в окне базы данных/ включая скрытые и системные таблицы, также исключаются. 4. В следующем диалоговом окне мастера необходимо настроить свойства преобразовываемых таблиц (рис. 14.27). Рекомендуется оставить значе- ния элементов управления, установленные по умолчанию. Установите флажок для параметра Создать только структуру таблицы и не преобразо- вывать данные, чтобы не преобразовывать данные таблиц. Щелкните кнопку Далее.
Преобразования базы данных Access в формат SQL Server 583 Рис. 14.27 Настройте свойства преобразовываемых таблиц Мастер в формат SQ. Sarrer Допускается в формат SQL Server ««тоЛуколякны». ио •» атрибутов ra&w*. •в • f ?• А в . * j • ~ а С % ~ ♦ 1 j * I ’ •Сакие aiD^YTbs таблиц стиухтет гееобдоовать6 7- . Е меся*' 2 х»о**по (цолмамяо 2 |мвнлв проверяй»® хачемия V сдюи таблиц ©DW Q триггеры Кдмж> jjotwwMT«rts*iwc даиИь* иужгс вюточигъ? Добавлять попя штампе времени в таблицы? ; 7^в(_спределяетсянастерог^_ Оки JAf тъ 1 н*<о структуру таблицы и не преиоражжшяги датые - V \ i ’9 л л • -Ш \ К . *, ♦ г Я 5. В следующем (четвертом) диалоговом окне мастера преобразования (рис. 14.28) задаются изменения» которые будут сделаны в приложении Access. Можно создать новое приложение Access типа «клиент-сервера — проект Access (см. раздел «Создание нового приложения» выше в этой гла- ве). связать таблицы базы данных SQL Server с открытой базой данных Access (см. раздел «Связывание таблиц SQL Server с существующим при- ложением » выше в этой главе) или не изменять приложение и перенести таблицы в базу данных SQL Server (см. раздел «Преобразование данных» выше в этой главе). Если вы выбрали первый вариант, то нужно задать имя файла п роекта. Щелкните кнопку Далее, чтобы перейти к последне- му диалоговому окну мастера. Рис. 14.28 Выберите способ преобразований, которые необходимо выполнить с приложением Access Мастер'преобразования в фермат SQL Server * * Ч b "* Г Л - а / а а *» Ч £ t — в -ф Л < ’ ♦ У * ф 'W ft С понашью ичтере нетрудно мзмтмть существующее wt создать новое...фйлойеые дш* дебаты с боэбй ванных SQL Sa Jfr. Какие иячтемня следует Внести в приложение? ..................................................... не» файле АЙ* D:\ACCESS 2007У1 вбочвя база данных\Проек’ электрон Г 06jop.Z »> . . j ' i онгивп» таЕпаеа SQL Server С :уше гвутаджч грилажени», ♦ (3 Сокранита ларольн кол пользователя 6. В последнем диалоговом окне мастера (рис. 14.29) щелкните кнопку Гото- во, чтобы начать преобразование. Если вы хотели создать проект Access, то с помощью переключателя можете указать какой файл должев быть от- крыт в программе: исходной базы данных или созданного проекта.
584 Глава 14. Проекты Access Рис. 14.29 Щелкните кнопку Готово чтобы мастер преобразования начал свою работу ер п формат Server 7. Процесс преобразования, особенно для больших баз данных, может за- нять продолжительное время (рис. 14.30). Все сообщения мастера (в том числе и сообщения об ошибках) записываются в его отчет. Это особенно по- лезно, если преобразование происходит без непосредственного наблюде- ния пользователя. При необходимости прервать процесс преобразования нажмите кнопку Отмена в окне текущего состояния. Рис. 14.30 Преобразование базы данных в формат SQL Server 8. По окончании преобразования на экране в режиме предварительного про- смотра будет отображен отчет о работе мастера (рис. 14.31). Его можно со- хранить в виде снимка или в других форматах с помощью кнопок раздела Данные вкладки Предварительным просмотр Ленты.
Файлы .ade 585 Рис. 14.31 Отчет о работе мастера преобразования в формат Microsoft SQL Server ' 1 1 Г ..... । Г»- -----------'“W М*гтчи»>*0б#иое*н*жвфоцявв1 SQf Mrwet Owe no пре0бр*м9ммю • форнвт SQt -.ervej Мм доимых «опий tom. D VKCESS ЗЛОЛРибомая Ьм о^шх^лопрожм бй&ъюша ЖТжхов Мм доммыхЗД Se-vac Эпеюршнм бибмоде 2007 SQL _ ии*1орт*руе«ые«1!жбуш те&мщ И яндокы Ь уотамн на ямченяв £1 жм*ммая поумовмнш L. структура, бездонные Саям «ммдо п£мн4М*а; г эеовриоаа*|‘«реи DRJ поля ям па врем aw Чжтъ тябгмц рНамсмегам цдцелаумж*^ базы L ПрМСОЦДОНЯ Th < сданные табмадо SQL Strvrr (пкрвнтгь «ы pm* а кэдпояшоаапям мсстес табла цинк Файлы .ade Файлы формата .ade являются специальной («блокированной») версией фай- лов проектов Access. В них содержится компилированный код А ВА. который невозможно просмотреть и в который нельзя внести никаких изменений. Почти все выполняемое содержимое такой версии проекта становится защищенным от несанкционированных изменений. Также за счет удаления исходных кодов и сжатия файл проекта .ade будет занимать меньше места и повысится ее быстродействие. Чтобы создать файл .ade сделайте следующее: 1. Откройте проект Access. 2. В разделе Работа с базами данных вкладки Работа с базами данных Лен- ты щелкните кнопку Создать ADE. 3. В диалоговом окне Сохранить как. выберите папку, в которой требуется сохранить файл, затем введите имя файла в поле Имя файла и щелки ите кнопку Сохранить. Преобразование в формат SQL Server: проект электронной библиотеки Проект электронной библиотеки, который был рассмотрен в этой книге, можно преобразовать из файла базы данных Access 2007 в файл проекта Access. Целью такого преобразования может быть необходимость безопасной много пользовательской работы в архитектуре «клиент-сервер» при использовании идентификации пользователя средствами Windows NT (при этом обеспеч иваеп - ся единая процедура входа и в сеть, и в базу данных). Дополнительно значитесь-
586 Глава 14. Проекты Access но увеличивается доступный объем базы данных, что позволяет хранить доку- менты непосредственно в ячейках таблиц, обеспечивая их безопасность, а также увеличивает быстродействие за счет обработки на сервере. Однако эта процедура подразумевает преобразование не тол ько уже готовых и заполненных таблиц, но и запросов базы данных Access. К сожалению, многие из описанных вып^е запросов после «превращения» в представления, процеду- ры и функции, корректно работать не будут, что связано с различиями в диалек- тах языка SQL. В частности, это касается перекрестных запросов, а также той части, где используются поля с несколькими значениями. Кроме того, «пропа- дут» значения, которые'хранятся в полях с типом данных Вложение. Поля с новым типом данных Access 2007 Вложение (и поля с несколькими значе- ниями) преобразуются мастером в ntext, а для Вложения эквивалентом является Image. Поэтому перед преобразованием необходимо «изготовить» из них поле с типом данных Поле объекта OLE (преобразовать тип данных для поля Вложе- ние нельзя]. Поле с несколькими значениями ID редактора в таблице Данные доку- ментов придется заменить «обычным» полем, добавив в базу данных связующую таблицу Редакторы документов. Неработающие части базы данных SQL Server придется создавать заново, пользуясь средствами (и диалектом Transact-SQL) Microsoft SQL Server. В отличие от них, структуры форм, отчетов и макросов, которые остаются внутри проекта Access, существенно не пострадают. За исключением «ссылоч- ной» части, которую также придется «переподключать», особенно для тех объ- ектов, которые основывались не на таблицах, а на запросах. Гораздо быстрее «жизнеспособного» результата можно добиться, создав с по- мощью мастера клиентскую базу данных Access для новой серверной базы дан- ных Microsoft SQL Server. В модифицированную базу данных Access следует преобразовать все таблицы, кроме таблицы Авторские списки, которая по-прежнему должна формироваться с помощью запросов (и запускающих мак- росов) в базе данных Access (см. рис. 14.23). Дополнительно перед преобразова- нием в таблице Данные документов следует заменить поле вложений на поле «объектов OLE», а также поле с несколькими значениями — на «обычное» поле, дополнив базу данных новой таблицей Редакторы документов. Больше ника- ких изменений делать, скорее всего, не потребуется. Практически сразу после преобразования база данных начнет работать корректно, «не замечал того», что данные она получает из базы SQL Server, а не из собственных таблиц. А база дан- ных SQL Server, заполненная сведениями электронной библиотеки, может «жить своей жизнью», обрастать новыми представлениями, процедурами и функциями, постепенно обеспечивая пользователям собственный «полноцен- ный» интерфейс.
Предметный указатель автозамена имен, 232 автоматическое задание типа поля, 121 автоформы, 330 адрес гиперссылки, 147 активное содержимое, 527 анализатор быстродействия, 236 Б база данных, 26 безопасность макросов, 453 блокировка и отключение элемента управления, 360 быстродействие базы данных, 97 в вложение, 225 внедрение и связывание, 221 внешнее объединение, 253 внешний ключ, 51 внутреннее объединение, 252 всплывающая подсказка, 108 выбор источника записей формы, 335 выделение записей, 127 — полей. 128 выполнение макроса. 450 выражение, 199, 257 высота строк, 130 вычисления в отчетах, 427 г главная таблица, 56 группа макросов, 443 группировка записей в отчете, 402 — объектов, 89 — по выражению. 402 — полей сводной таблицы. 474 д диаграммы Microsoft Graph, 490 диалекты языка SQL, 552 диспетчер кнопочных форм, 378 —связанных таблиц, 146 добавление диаграмм, 490 — полей, 124, 339 — рисунков и объектов в форму, 386 3 зависимости объектов, 293 заготовка таблицы ,119 задание ключевого поля, 135 — значений свойств с помощью макроса» 445 закрепление полей, 132 запись, 44 запрет повторяющихся значений, 211 — отображения записей в форме, 362 запрос, 30 -SQL, 245 — в базе данных SQL Server, 565 — на выборку, 242 ---добавление, 245 ---изменение, 244 ---обновление, 245 ---поиск записей без подчиненных, 243 — — поиск повторяющихся записей, 213 ---создание таблицы, 245 ---удаление, 244 - перекрестный. 244 — с параметрами, 243 защита данных, 495 — на уровне пользователей, 503 значение по умолчанию, 205 и идентификаторы, 260 иерархическая модель организации данных, 26 изменение макета связанной таблицы, 146 — подтаблицы, 195 — типа данных поля» 199 —свойств полей, 136 импорт таблиц. 139 индекс, 135, 183 индексирование полей- 183,185 инструменты конструктора форм, 307 интерактивная схема настройки группировки и сортировки, 401 исполняемая версия программы, 498 использование пароля для шифрования базы данных, 501 итоговые значения. 131
588 Access 2007 к каскадное обновление и удаление записей, 57 ключевые поля, 50 кнопка «Office», 70 кодирование базы данных, 497 константы, 260 контекстное меню объекта, 87 контекстные вкладки Ленты, 83 копирование определения поля, 136 м макет сводной диаграммы, 461 -сводной таблицы, 461 —таблицы, 129 у схемы данных, 191 макрос, 31, 433 - — AutoExec, 447 — AutoKey. 447 — с проверкой условия, 438 маска ввода, 208, 358 мастер анализа быстродействия, 55 -анализа таблиц, 55, 233 -группы переключателей, 438 — диаграмм Microsoft Graph, 491 — запросов. 242, 246, 249 —зашиты на уровне пользователей, 504 — импорта и связывания данных, 141 — кнопок, 342, 377 — наклеек, 410 — отчетов, 407 - переноса на узел SharePoint, 5 12 — подстановок, 49, 214 — подчиненных форм, 352, 367 — преобразования в формат SQL Server, 573,577 — разделения базы данных, 500 — сбора данных, 549 — форм, 330, 365 меню кнопки «Office», 76 — панели быстрого доступа, 79 модальное диалоговое окно, 328 модуль, 31 н надежное расположение, 527 настраиваемый фильтр, 158 настройка блокировки записей, 518 — пользовательских групп, 90 — разделов формы, 338 — сводной диаграммы, 481 ---таблицы, 471 — свойств формы, 340 нормализация, 58 нумерация страниц отчета, 418 о обеспечение целостности данных, 193 область переходов, 71.85 обновление записей, 519 -связей, 146 объединение данных. 252 объект OLE, 221 обычный фильтр, 163 обязательное поле, 211 окно Автозамена, 171 -Добавлениетаблицы, 240 — Изменение связей, 192 — обычного фильтра. 163 — поиска и замены текста, 152 — предварительного просмотра, 173 — Приступая к работе с Microsoft Office Access, 112 — программы Access, 69, 71 - расширенного фильтра, 164 — свойств формы, 318 -Специальная вставка, 223 —справочной системы, 99 — Схема данных, 189 операторы, 258 —арифметические, 258 — логические, 259 — специальные, 259 —сравнения, 258 отключение режимов формы. 361 открытие базы данных, 72 —базы данных по умолчанию, 74 — объекта OLE, 223 ---базы данных, 86 —таблицы, 126 отладка макроса, 451 отмена фильтра, 159 отношение «многие-ко-многим», 54, 187 — «один к-одному», 53 - «один-ко-многим». 53 п панель быстрого доступа, 70, 79 — инструментов малая. 72 — навигации, 71 —сообщений, 71, 527 —фильтра, 157 параметры командной строки программы, 93 — настройки программы, 96 — поиска, 152 первичный ключ, 50 переименование полей. 122 печать макета базы данных, 229 — свойств таблиц, 230 —справки, 103 — таблицы, 173, 177 -части таблицы, 178 планирование баз данных, 43 подпись. 211 подстановочные знаки, 153 подтаблица. 194 поле итогов, 130 -МЕМО. 47 —объекта OLE, 49 —с несколькими значениями, 187, 216 —таблицы, 44
Предметный указатель 589 полное («декартово*) объединение данных, 253 пользовательская справка, 108 постоянные вкладки Ленты, 81 построите 1ь выражении, 261 правила нормализации, 59 предварительный просмотр, 174 преобразование в формат SQL Server, 573 -формата базы данных, 117 — макросов в модули VBA, 452 применение фильтра, 159 проверка ошибок в форме, 389 — правописания, 170 программа диагностики проблем в Office, 105 проект Access, 551 проектирование базы данных, 52 публикации базы данных па узле SharePoint, 546 р рабочая область программы, 71, 93 разделение базы данных, 499 размеры и положение окна формы, 345 размеры текстовых и числовых полей, 201 расширенный фильтр, 164 редактирование вложений, 229 режим SQL запроса, 239, 246 — запроса, 239 — конструктора запросов, 239 ---макросов, 436 ---отчетов, 400 ---таблиц, 45, 125, 132 ---форм, 301, 305 — макета отчета, 400 ---формы, 301,325 — общего доступа к базе данных, 517 — отчета, 398 — предварительного просмотра, 174, 398 — представления отчета, 398 — сводной диаграммы, 45,460 — сводной таблицы, 45, 460 — таблицы, 45, 125, 127 ---запроса, 239 ---формы, 301, 303 - формы, 301, 303 резервное копирование базы данных, 496 реляционная модель организации данных, 28 репликация базы данных, 520 с сводная диаграмма, 459, 466 —таблица, 459, 462 свойства запроса» 256 —окна формы, 345 -полей таблиц, 198 ---связанных таблиц, 145 связь между полями, 187 связующая таблица, 187 связывание таблиц» 139.144 сжатие и восстановление базы данных, 497 система безопасности Access, 527 — управления базами данных, 26 скрытые поля формы, 370 сложная сортировка, 169 снимок отчета, 430 события, 450 совместное использование данных. 516 создание базы данных. 111 — базы данных из шаблона, 116 — внедренного макроса, 435 — всплывающих форм, 382 — главной кнопочной формы, 391 — запроса на выборку, 272 ---на добавление, 288 ---на обновление, 287 ---на создание таблицы, 290 ---на удаление, 284 ---с параметрами, 281 -индекса, 185 — макроса, 434 — отчета, 405 ---в режиме конструктора, 413 ---в режиме макета, 421 — перекрестного запроса. 277 — подчиненного отчета, 423 - проекта Access, 552 - простого отчета. 406 — пустой базы данных, 11 4 — свободного макроса, 434 — связанных подчиненных форм, 364 — сертификате с собственной подписью, 532 — сложной формы, 372 —составного индекса, 186 — списка подстановок, 212 -таблицы, 119 ---в базе данных SQL Server. 556 ---в режиме конструктора, 132 ---вводом данных, 119 ---из шаблона, 1 37 -формы, 326 ---в режиме макета, 343 ---с помощью мастера, 330 сортировка, 167 — простая, 169 — сложная, 169 — полей в запросе, 254 составной индекс. 186 — ключ, 135 сохранение запроса, 219, 255 — макете таблицы, 130 — расширенного фильтра как запроса. 166 — шагов импорта, 112 - фильтра в таблице, 156 сочетания клавиш. 107 список автозямены. 172 — значений. 212 — подстановок. 212 — полей, 125 справка по свойствам и событиям объектов 106
590 Access 2007 справочная система программы, 99 средство поиска и замены, 152 строка заголовка программы, 70 —состояния, 72 схема данных, 52, 189 ц целостность базы данных, 55 — данных, 55 — объектов, 55 — ссылочная, 55 центр управления безопасностью, 527 таблица, 30, 44 текст строки состояния, 108 тип данных вложение, 49 — гиперссылка, 49, 21 9 —дата/время. 48 — денежный, 48 — логический, 48 — счетчик, 48, 135 —текстовый, 47 — числовой, 48 типы запросов, 240 — данных, 46 —диаграмм, 468 фильтров, 156 ш шаблон поля, 124 —формы, 329 ширина столбца» 130 шифровние базы данных, 502 э экспорт таблицы, 143, 178 электронная библиотека, 31 элемент управления, 299» 310 У удаление личных сведений, 75 — подтаблицы, 197 — поля, 122 — связи между таблицами, 194 —файла базы данных, 75 условие на значение, 206 — записи, 206 — поля, 206 — в форме, 359 ф файл блокировки, 118 фильтр, 155 —настраиваемый, 158 — обычный с 163 — по выделенному, 160 -простой, 157 — расширенный, 164 форма. 30 — «только для чтения», 362 — всплывающая, 380 — кнопочная, 377 — ленточная, 303, 327 — модальная, 381 — немодальная, 381 — подчиненная, 326, 362 —простая, 303 — разделенная, 327 — связанная, 375 — со вкладками, 348 формат базы данных «по умолчанию», 114 — поля, 202 форматирование сводной таблицы, 480 функция,260
Научне-гекническос и >дание Кошелев Вячеслав Евгеньевич Access 2007 Оформление обложки И Ю Ьурпвпй Подписано в печать 0е.07.200 7 Формат 70х 100/|« Усл. печ. л. 48,1. Гарнитура «Шко ъчая». Бума! а газетная. Печать офсетная Тираж 3500 ткз. Закая 4974 И шательство «Бином-Пресс», 20п8 г. 141077, Королев Московской обл., ул 50 лет ВЛКСМ, 4-Г При участии ООО П Ф ‘‘САШКО" Отпечатано в ОАО«НПК «Ульяновский дом печати" 432°80, г Ульяновск, ул I ончарова- 14
ccess 2007 ффективное использование □грамма баз данных Microsoft Office Access 2007 рассматривается на примере (работки и создания проекта электронной библиотеки. Книга содержит большое 1ичество иллюстраций и подробные описания процедур выполнения конкретных (аний. Основное внимание уделено таким вопросам, как планирование баз данных, (работка таблиц, запросов, форм, отчетов и макросов. Отдельно рассматриваются }ый интерфейс программ Microsoft Office 2007, а также вопросы анализа, совместного юльзования и защиты данных, экспорта таблиц в списки SharePoint и базы данных :rosoft SQL Server (проекты Access). /ira предназначена для пользователей, имеющих определенный навык работы пиложениями в среде Windows и желающих освоить программу Access 2007. Разработка проекта электронной библиотеки Базы рапных Microsoft Office Access 2007 Планирование баз данных Создание баз данных и таблиц Запросы, формы, отчеты, макросы Защити данных Совместное использование данных Примеры объектов баз данных п подробные инструкции по пх подготовке Сводные таблицы п диаграммы Справочные и информационные ресурсы Access BN 978-5-9518 0221 7 85951 8022Т7