- •Часть I. Хранение данных в таблицах 34
- •Глава 1. Создание вашей первой базы данных 35
- •Глава 2. Создание более сложных таблиц 66
- •Глава 3. Обработка листа данных: сортировка, поиск,
- •Глава 4. Блокировка неправильных данных 136
- •Глава 5. Связывание таблиц с помощью отношений 168
- •Часть II. Обработка данных с помощью запросов 206
- •Глава 6. Запросы, выбирающие записи 207
- •Глава 7. Основные хитрости, применяемые в запросах 241
- •Глава 8. Запросы, обновляющие записи ..272
- •Глава 9. Анализ данных с помощью перекрестных запросов и
- •Часть III. Отчеты 323
- •Глава 10. Создание отчетов 324
- •Глава 11. Проектирование сложных отчетов 356
- •Часть IV. Разработка пользовательского интерфейса
- •Глава 12. Создание простых форм 392
- •Глава 13. Проектирование сложных форм 426
- •Глава 14. Создание системы переходов 465
- •Часть V. Программирование в access 496
- •Глава 15. Автоматизация задач с помощью макросов 497
- •Глава 16. Автоматизация выполнения задач средствами языка
- •Глава 17. Написание кода с более развитой логикой 571
- •Часть VI. Совместное использование access 615
- •Глава 18. Совместное использование бд несколькими пользователями 616
- •Глава 19. Импорт и экспорт данных 650
- •Глава 20. Подключение Access к sql Server 692
- •Глава 21. Подключение Access к SharePoint 724
- •На профессиональном уровне. Преимущества хорошо спроектированной базы данных
- •Для тех, кто понимает. Когда программы Access недостаточно
- •Уголок ностальгии. Зачем опять изобретать колесо?
- •Уголок ностальгии. Сочетания клавиш в Access 2003
- •Часть I
- •Часто задаваемый вопрос. Использование чужой бд
- •На профессиональном уровне. Шаблоны, подходящие для разных целей
- •На профессиональном уровне. Работа Access в интерактивном режиме
- •Для тех, кто понимает. Использование Access бд, созданных в более ранних версиях программы
- •На профессиональном уровне. Проектирование бд для начинающих
- •На профессиональном уровне. Вставка больших значений в узкие столбцы
- •Для тех. Кто понимает. Если сомневаетесь, не удаляйте
- •Малоизвестная или недооцененная возможность. Копирование записи целиком за один шаг
- •Малоизвестная или недооцененная возможность. Сжатие бд
- •Часто задаваемый вопрос. У какого файла расширение laccdb?
- •Практические занятия для опытных пользователей. Изменение папки, которую Access использует для хранения бд
- •Малоизвестная или недооцененная возможность. Сворачивание ленты
- •Экономящая время подсказка. Создание ярлыка для таблицы
- •Глава 2
- •Для тех, кто понимает. Изменение типа данных может привести к потере информации
- •На профессиональном уровне. Нормативы максимальной длины
- •На профессиональном уровне. Как Access предотвращает дублирование записей
- •На профессиональном уровне. Почему так важна уникальность
- •Глава 3
- •Малоизвестная или недооцененная возможность. Настройка всех листов данных
- •На профессиональном уровне. Числа и специальные символы в текстовых полях
- •Практические занятия для опытных пользователей. Фильтры в противоположность запросам
- •Малоизвестная или недооцененная возможность. Поиск и замена
- •Глава 4
- •Для тех, кто понимает. Не требуйте слишком многого
- •На профессиональном уровне. Как работают индексы
- •Часто задаваемый вопрос. Индексы и производительность
- •Практические занятия для опытных пользователей. Вставка вашей маски в список масок программы
- •На профессиональном уровне. Создание списка подстановки, использующего другую таблицу
- •Глава 5
- •Часто задаваемый вопрос. Отключение обеспечения целостности данных
- •Для тех, кто понимает. Пользуйтесь каскадным удалением с осторожностью
- •Практические занятия для опытных пользователей. Изменение параметров подтаблицы
- •Часто задаваемый вопрос. Обновление списка
- •Для тех, кто понимает. Применяйте связи "один-к-одному" с осторожностью
- •Часто задаваемый вопрос. Работа со связями "многие-ко-многим"
- •Часто задаваемый вопрос. Печать ваших отношений
- •Часть II
- •Для тех, кто понимает. Не бойтесь подстановок
- •На профессиональном уровне. Синтаксис фильтра
- •Практические занятия для опытных пользователей. Как индексы ускоряют поиск
- •Малоизвестная или недооцененная возможность. Запросы на базе запросов
- •Для тех, кто понимает. Подумайте дважды, прежде чем изменять структуру таблиц
- •На профессиональном уровне. Сравнение: отношения и объединения
- •На профессиональном уровне. Изменение данных при использовании запроса с объединением
- •Глава 7
- •На профессиональном уровне. Синхронизация запросов
- •Малоизвестная или недооцененная возможность. Переименование поля в запросе
- •Часто задаваемый вопрос Банковское округление
- •Практические занятия для опытных пользователей. Улучшенные числовые форматы
- •Малоизвестная или недооцененная возможность. Использование случайных чисел для сортировки в случайном порядке
- •Практические занятия для опытных пользователей. Как извлечь первое слово из текстовой строки
- •Для тех, кто понимает. Вычисления для дат и времени
- •Глава 8
- •Аварийная ситуация. Когда Access блокирует ваше обновление
- •Малоизвестная или недооцененная возможность. Скрытие запроса
- •Глава 9
- •Часто задаваемый вопрос. Итоговый проигрыш; итоговый запрос против перекрестного
- •Для тех, кто понимает. Создание запроса с объединением для лучшей группировки
- •На профессиональном уровне. Правильный выбор групп
- •Малоизвестная или недооцененная возможность. Помещение сводных таблиц в их собственные формы
- •Часть III
- •Глава 10. Создание отчетов
- •Глава 11. Проектирование сложных отчетов
- •Глава 10
- •На профессиональном уровне. Выполнение тяжелой работы с помощью запроса
- •Часто задаваемый вопрос. Добавление изображений в отчеты.
- •На профессиональном уровне. Учитесь любить pdf-файлы
- •Часто задаваемый вопрос. Разные способы экспорта данных
- •Малоизвестная или недооцененная возможность. Формат по образцу.
- •Практические занятия для опытных пользователей. Разные линии сетки
- •Глава 11
- •Часто задаваемый вопрос. Ошибки выражений
- •Часть IV
- •На профессиональном уровне. Поля типа Счетчик в формах
- •На профессиональном уровне. Разные люди — разные формы
- •Малоизвестная или, недооцененная возможность. Вывод на экран изображений из бд
- •На профессиональном уровне. Семейство форм Access
- •Глава 13
- •На профессиональном уровне. Присоединенные элементы управления
- •Малоизвестная или недооцененная возможность. Повторное применение ваших любимых настроек стиля границ
- •Часто задаваемые вопросы. Осовременивание элементов управления Windows
- •Практические занятия для опытных пользователей. Как освободиться от привязки к сетке
- •На профессиональном уровне. Насколько велик ваш экран?
- •Глава 14
- •Малоизвестная или недооцененная возможность. Варианты сортировки и просмотра в области переходов
- •На профессиональном уровне. Кнопочные формы с несколькими страницами
- •За кадром. Меню кнопочных форм сохраняются в бд
- •Часть V
- •На профессиональном уровне. Макросы по сравнению с программным кодом
- •Практические занятия для опытных пользователей. Обработка ошибок макроса
- •На профессиональном уровне. Макрокоманды, которым Access не доверяет
- •На профессиональном уровне. ОтправитьОбъект работает с вашей программой элекронной почты
- •Часто задаваемый вопрос. Внедренный макрос
- •Глава 16
- •Малоизвестная или недооцененная возможность. Справка по Visual Basic
- •Для тех кто понимает. Как код связывается с событиями
- •Малоизвестная или недооцененная возможность Разбиение длинных строк кода
- •На профессиональном уровне. Взаимодействие с другими формами
- •Практические занятия для опытных пользователей. Получение нужного цвета
- •Часто задаваемый вопрос. Ленточные формы и неприсоединенные элементы управления
- •Практические занятия для опытных пользователей. Связывание записей с рисунками
- •Глава 17
- •Практические занятия для опятных пользователей. Применение более сложных переменных
- •Практические занятия для опытных пользователей. Применение пользовательских функций в запросах
- •На профессиональном уровне. Алгоритм Луна (Luhn Algorithm)
- •Часто задаваемый вопрос. Запуск других Windows-программ
- •На профессиональном уровне. Станьте знатоком статистических функции по подмножеству
- •Уголок ностальгии. Dао против аdо
- •Часть VI
- •Для тех, кто понимает. Поиск места в сети для вашей бд
- •На профессиональном уровне Указание местонахождения в сети
- •Часто задаваемый вопрос. Как поведут себя старые версии Aсcess?
- •Аварийная ситуация. Мистическая ошибка “Файл уже используется”
- •Часто задаваемый вопрос. Когда не следует пользоваться форматом accde
- •Уголок ностальгии. Отмирание страниц доступа к данным
- •Практические занятия для опытных пользователей. Разделение таблиц для более безопасных корректировок
- •Уголок ностальгии. Защита с помощью рабочих групп упразднена
- •Глава 19
- •На профессиональном уровне. Sql Server и SharePoint: два частных случая
- •Сберегающая время подсказка. Копирование из одной бд в другую
- •На профессиональном уровне. Опасность дубликатов
- •Малоизвестная или недооцененная возможность. Экспорт отчетов
- •На профессиональном уровне. Более внимательный взгляд на теги
- •Глава 20
- •На профессиональном уровне. Важнейшие причины перехода на sql Server
- •Часто задаваемые вопрос. Можно ли доверять корпорации Microsoft?
- •На профессиональном уровне. Проекты Access по сравнению со связанными таблицами
- •0 Запросах
- •Для тех, кто понимает. Синтаксические различия
- •Глава 21
- •Часто задаваемый вопрос. Путаница, связанная с SharePoint
- •На профессиональном уровне. Установка SharePoint
- •На профессиональном уровне. Пять интересных инструментов программы SharePoint, которые стоит опробовать
- •Малоизвестная или недооцененная возможность.
- •Малоизвестная или недооцененная возможность. Представление таблицы данных Access
- •Малоизвестная или недооцененная возможность. Параметры списков SharePoint
Практические занятия для опытных пользователей. Разные линии сетки
Единственное ограничение способа применения сетки с помощью ленты - в вашем распоряжении один тип, цвет и одна толщина линии. Например, если вы добавляете штриховую синюю границу для левой стороны столбца ProductName, вам придется использовать ту же синюю штриховую линию и для правой стороны. Но это ограничение можно обойти с помощью Окна свойств.
Вот как работает этот метод.
1. Щелкните правой кнопкой мыши один из столбцов и затем выберите команду Свойства (Properties).
Б левой части окна программы появится Окно свойств (Property Sheet). В нем показан длинный список вариантов, которые можно настраивать. Многие из них не слишком полезны и предназначены для использования в формах (которым посвящена часть IV) или коде на VBA (см. часть V).
2. В раскрывающемся списке в верхней части Окна свойств выберите столбец, с которым хотите работать.
Например, если выбран столбец ProductName, вы сможете настроить вид левой и правой линий сетки и линии между строками.
3. Выберите вкладку Макет (Format).
Перейдите в конец списка, к набору параметров, управляющих характеристиками левой, правой, верхней и нижней линий сетки.
4. Если необходимо, измените их.
Например, можно использовать параметры Ширина линий сетки слева (Gridline Width Left) и Стиль линий сетки слева (Gridline Style Left) для изменения толщины и стиля линии сетки слева от столбца. Вы увидите, что есть только один параметр, задающий цвет, — Цвет линий сетки (Gridline Color) — поскольку линии сетки со всех сторон столбца должны быть одинакового цвета.
Границы
Наряду с линиями сетки можно использовать аналогичный набор параметров линий границы. Разница между сеткой и границей заключается в том, что сетка применяется к таблице данных отчета, а границы могут быть связаны с любым компонентом вашего отчета.
В группе ленты Работа с макетами отчетов | Формат → Элементы управления (Report
Layout Tools | Formatting → Controls) можно найти три кнопки (для выбора толщины, цвета и стиля границы). Границы нет смысла применять к значениям столбца, поскольку в результате вы получите рамку вокруг каждого значения. Гораздо полезнее устанавливать границы вокруг других элементов отчета, например его заголовка.
Условное форматирование
Средний отчет содержит много информации. Какая-то ее часть более важна, чем остальные сведения. Например, у вас могут быть веские причины для выделения товаров, отсутствующих па складе, заказов стоимостью более 100 долларов, кукол-болванчиков, купленных в
прошлом году, или свадебных гостей, не приславших подарки. С помощью условного форматирования можно акцентировать внимание на этих порциях данных, задав для них другое форматирование.
Фундаментальная идея условного форматирования заключается в том, что вы определяете условие, которое, принимая значение Истина, сообщает программе Access о необходимости применить дополнительное форматирование к значению в столбце.
Для использования условного форматирования выполните следующие действия.
Выберите значение в столбце, к которому хотите применить условное форматирование, Например, если хотите выделить товары стоимостью более 100 долларов, щелкните кнопкой мыши одно из значений в столбце Price. Неважно, какое значение вы выберите — правило условного форматирования применяется ко всем значениям в столбце.
Выберите Работа с макетами отчетов | Формат → Шрифт → Условное (Report Layout Tools | Formatting → Font → Conditional).
Если кнопка Условное не активна, возможно, вы не выбрали подходящую порцию данных в отчете. Например, если выбрать заголовок столбца вместо значения в столбце, условное форматирование применить невозможно.
После щелчка мышью кнопки Условное на экране появится диалоговое окно Условное форматирование (Conditional Formatting) с одним условием. Это окно можно использовать для задания от одного до трех условий в одном столбце, но чаще всего достаточно одного.
3. С помощью списка и текстовых полей задайте условие, которое должна проверить программа Access.
Первое поле с раскрывающимся списком позволяет выбрать, хотите ли вы проверять реальные данные, хранящиеся в поле (Значение поля), или вычисление, использующее эти данные (Выражение). Простейший и чаще всего применяемый вариант — условие, базирующееся на значении поля.
С помощью второго поля с раскрывающимся списком выберите тип сравнения, которое вы хотите выполнить. Например, можно проверить, равно ли значение в ячейке заданному числу, больше или меньше заданного или лежит в некотором диапазоне значений. Наконец, введите данные, которые программа Access должна использовать для сравнения. Например, если вы выбрали сравнение меньше чем, введите значение, с которым Access будет сравнивать. Если выбрана проверка принадлежности диапазону значений, введите два значения, задающие этот диапазон.
На рис. 10.17 показано заполненное окно Условное форматирование, проверяющее дорогостоящие товары в поле Price.
Примечание
Все сравнения "между" — охватывающие. Например, если задано условие "между 1 и 10", оно истинно для чисел 1, 10 и любых промежуточных значений. С другой стороны, если программа Access столкнется со значением 0.99, она не будет применять к нему условное форматирование.
4. Щелкните мышью кнопки Формат (Format) для задания параметров форматирования, которые программа должна применить, если условие истинно.
Рис. 10.17. В данном примере цена товара будет выводиться жирными красными символами желтом фоне, если она больше 50 долларов
Рис. 10.18. Данный отчет не даст пропустить дорогостоящие товары
Этот вариант форматирования может изменить цвет шрифта или фона, применить жирное курсивное или подчеркнутое начертание шрифта. Но в условном форматировании нельзя изменить гарнитуру шрифта или его размер.
Под строкой с вашим условием вы увидите область предварительного просмотра для выбранных вами параметров форматирования.
Если хотите добавить второе и третье условия, щелкните мышью кнопку Добавить » (Add ») и вернитесь к пункту 3.
Например, можно задать шрифт синего цвета для пометки цен выше 50 долларов и шрифт красного цвета для выделения цен, превышающих 100 долларов. Если у вас несколько перекрывающих друг друга условий, программа Access применит только первое соответствующее.
Подсказка
Во избежание недоразумений тщательно структурируйте ваши условия, избегая их взаимного перекрытия. Например, используйте одно условие для отбора значений между 100 и 499, а другое — для значений не меньших 500.
Для удаления условий можно щелкнуть мышью кнопку Удалить (Delete). Access выведет на экран диалоговое окно с просьбой указать удаляемые условия. Вы можете установить флажок рядом с соответствующим условием и щелкнуть мышью кнопку ОК.
6. Щелкните мышью кнопку ОК.
После нажатия кнопки ОК программа Access вычисляет условие для каждого значения в столбце и устанавливает нужное форматирование. На рис. 10.18 показан окончательный вид отчета.
Фильтрация и сортировка в отчете
В отчетах предлагаются те же средства фильтрации и сортировки, которые вы научились применять к листу данных в главе 3. Кроме того, у вас есть возможность группировки и подсчета итогов, которые будут рассматриваться в главе 11.
Фильтрация в отчете
В отчете ProductCatalog представлены все записи из таблицы Products. Однако очень часто отчеты нуждаются в отборе важного подмножества данных. Например, у вас может появиться желание проанализировать объемы продаж товаров определенной категории или заказов, сделанных клиентами из конкретного города. Из отчета ProductCatalog было бы логично исключить товары, снятые с производства. Помимо всего прочего, компании Boutique Fudge не за чем рекламировать товары, которые она больше не продает.
Вы можете сократить результаты, включенные в отчет, двумя способами. Один вариант вы уже изучили: создание запроса, извлекающего нужные вам результаты, и последующее использование запроса для формирования отчета. Этот способ хорош, если у вас уже есть запрос, удовлетворяющий требованиям, или вы планируете использовать это подмножество данных для нескольких целей (отчеты, редактирование, другие запросы и т. д.).
Другой вариант — применить фильтрацию к данным отчета. Преимущество этого метода заключается в том, что вы можете изменять условия фильтрации быстро и многократно, Если планируется использование одного и того же отчета для печати нескольких выборок данных, это самый лучший подход. Например, можно отобрать товары одной категории, напечатать их, а затем изменить условия фильтрации для выбора товаров другой категории, которые тоже можно вывести на печать.
Фильтрация отчета выполняется так же, как и фильтрация листа данных. У вас есть два возможных варианта.
Если вы хотите быстро сформировать условие отбора на основе имеющегося значения, щелкните правой кнопкой мыши это значение, как показано на рис. 10.19. Например, вполе CategoryName можно щелкнуть правой кнопкой мыши значение Beverages (напитки). Всплывающее меню содержит несколько вариантов условий отбора, основанных на текущем значении. В зависимости от выбранного варианта можно включить в отчет записи из категории Beverages, записи из других категорий, записи из категорий, в название которых входит слово Beverages (например, Alcoholic Beverages (алкогольные напитки)) и т. д.
Рис. 10.19. Варианты быстрой фильтрации, которые вы видите, зависят от типа данных. В этом примере условия отбора позволяют задать разные фильтры, базирующиеся на слове "Beverage"
■ Если вы хотите создать выражение для большей гибкости условия, щелкните правой кнопкой мыши любое значение в столбце и найдите подменю фильтрации. Точное название меню зависит от типа данных. Например, если щелкнуть правой кнопкой мыши поле CategoryName, появится подменю Текстовые фильтры. Если щелкнуть правой
кнопкой мыши поле Price, вы увидите подменю Числовые фильтры. Эти подменю включают набор вариантов фильтрации, позволяющих задать конкретные выражения. Все тонкие детали и вспомогательную информацию о создании разнообразных выражений фильтров см. в разд. "Фильтрация" главы 3.
Фильтры могут применяться в нескольких столбцах одновременно. Для удаления фильтра щелкните правой кнопкой мыши столбец и выберите команду Снять фильтр с... (Clear filter from...).
Сортировка данных в отчете
Первоначально в отчете существует тот же порядок записей, что и в источнике данных. Если отчет строится на базе запроса, порядок определяется порядком сортировки, использованным в запросе. Если отчет создается на базе таблицы, у записей нет определенного порядка, как правило, они выводятся в порядке их добавления в таблицу.
В любом случае сортировку можно применить непосредственно в отчете, во многом так же, как и на листе данных. Просто щелкните правой кнопкой мыши заголовок соответствующего столбца и найдите вариант сортировки. Варианты сортировки зависят от типа данных — например, вы можете упорядочить текстовые поля в алфавитном порядке, даты — в хронологическом, а числовые поля — по возрастанию или по убыванию.
Примечание
Одновременно можно сортировать по одному полю. Если вы хотите применить более сложную сортировку, использующую несколько столбцов (например, сортировку, разделяющую товары по категориям, отсортированным в алфавитном порядке, а затем упорядочивающую заказы в каждой категории в зависимости от цены товара), для такого отчета придется создать запрос.