- •Часть 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
Малоизвестная или недооцененная возможность. Экспорт отчетов
Экспортировать можно не только таблицы и запросы. Программа Access позволяет экспортировать и отчеты. Если выбрать вариант сохранения форматирования и макета, Access попытается сделать так, чтобы экспортируемый файл выглядел как напечатанный отчет.
Этот вариант прекрасен, если вы хотите переслать отчет кому-либо, не имеющему программы Access. Если нужно просто предоставить данные для коллективного использования, можно использовать формат Word. Если вы хотите сохранить форматирование точно таким, как при печати, которую можно выполнить позже, больше смысла имеет формат PDF. В разд. "Экспорт отчета" главы 10 обсуждается, как экспортировать отчет со всеми подробностями.
Программа Access также позволяет экспортировать форму, но результаты могут оказаться не такими, как вам хотелось бы. Access применяет форматирование и макет из Режима таблицы (Datasheet view). Большинство форм использует аккуратно расположенный набор элементов управления в Режиме формы (Form view) и редко применяет Режим таблицы. Но в процессе экспорта формы Access полностью игнорирует Режим формы.
Повторное применение параметров импорта и экспорта
В некоторых ситуациях оказывается необходимым регулярное повторение операций импорта и экспорта. Вам может понадобиться перенос данных из электронной таблицы Excel в вашу БД один раз в неделю. Или потребуется создавать ежемесячно отчет с итогами продаж в формате PDF. В этих случаях можно сэкономить массу времени, если полностью выполнить мастер. Это особенно справедливо, когда выполняется импорт, потому что вам может понадобиться выбирать столбцы для импорта, задавать подходящие типы данных и затем настраивать другие параметры точно так же, как и в первый раз при выполнении операции импорта.
К счастью, для этих случаев у программы Access есть решение. Можно собрать все параметры, заданные в мастере импорта или мастере экспорта, и сохранить их в вашей текущей БД. Затем, когда понадобится повторить процесс, можно будет применить эти параметры парой щелчков кнопки мыши (без особого напряжения ума).
Рис. 19.9. В данном случае процесс импорта сохраняется для повторного использования в дальнейшем. Можно заполнить необязательное описание этой операции, чтобы вы легче вспомнили, что это все значит. Если вы пользуетесь популярной программой электронной почты Outlook корпорации Microsoft, можно отметить флажок Создать задачу Outlook и создать автоматическое напоминание, сообщающее о том, что пришло время для вашего импорта или экспорта
Для сохранения этих шагов просто установите флажок Сохранить шаги импорта (Save import steps) или Сохранить шаги экспорта (Save export steps) в конце выполнения операции, когда ваши данные импортируются или экспортируются в первый раз. Следует подобрать информативное название для ваших параметров, как показано на рис. 19.9, и затем щелкнуть мышью кнопку Сохранить импорт (Save Import).
Подсказка
Если сохраняется операция импорта, подумайте, как следует, о выборе новой таблицы или пополнении уже существующей. Если создается новая таблица, то при каждом выполнении импорта программа Access будет перезаписывать таблицу, заменяя ее новой с новыми данными. Если же выбрать вариант дозаписи в конец имеющейся таблицы, Access добавит новые данные к тем данным, которые вы уже получили. (В этом случае нужно следить за появлением дубликатов.)
Рис. 19.10. В данном примере сохранена единственная операция импорта. Щелкнув кнопкой мыши имя файла, можно заменить его другим именем или ввести вручную новый путь к файлу
Когда-нибудь в будущем вы сможете перезапустить операцию импорта или экспорта. Если хотите повторить импорт, выберите на ленте Внешние данные → Импорт → Сохраненные операции импорта (External Data → Import → Saved Imports). Для повторения экспорта выберите на ленте Внешние данные → Экспорт → Сохраненные операции экспорта (External Data → Import → Saved Exports). В любом случае вы попадете в диалоговое окно
Задачи управления данными (Manage Data Tasks) (рис. 19.10) на вкладку Сохраненные операции импорта (Saved Imports) или вкладку Сохраненные операции экспорта (Saved Exports). На этих вкладках перечислены операции импорта и экспорта, которые вы сохранили в данной БД.
Далее перечислено все, что можно делать в диалоговом окне Задачи управления данными.
Повторно выполнить операцию. Выберите ее в списке и щелкните мышью кнопку Выполнить (Run). Программа Access предупредит вас, если ей придется перезаписать существующую таблицу (во время импорта) или файл (во время экспорта). В остальном процесс выполнится в одно мгновение.
Удалить сохраненную вами операцию. Просто выделите ее и щелкните мышью кнопку Удалить (Delete).
Создать задачу Outlook для операции. Это средство можно использовать для напоминания о необходимости выполнения данной операции в урочное время в будущем (или через определенные промежутки времени). Для этого щелкните мышью кнопку Создать задачу Outlook (Create Outlook Task) для создания задачи и затем найдите и настройте эту задачу в программе Outlook. Когда напоминание сработает, появится удобная кнопка Выполнить импорт (Run Import), которую можно щелкнуть мышью и немедленно запустить операцию импорта в программе Access.
Изменить некоторые аспекты вашей операции. Можно изменить имя, описание и имя файла, щелкнув мышью соответствующую деталь в диалоговом окне Задачи управления данными (Manage Data Tasks) (см. рис. 19.10). В этом случае можно начать импорт в файл c:\My Documents\FancyFiles\WildExpenses.xlsx, а затем с помощью тех же параметров импортировать в файл d:\HankSmith\EvenMoreExpenses.xlsx. Другие детали, например, таблицу-источник или таблицу-назначение, в Access или типы данных полей изменять нельзя.
Когда вы закончите работу в диалоговом окне Задачи управления данными, щелкните мышью кнопку Закрыть (Close) для того, чтобы вернуться в программу Access.
Access и XML
Одно из самых крутых модных словечек в компьютерном мире — XML (extensible Markup Language, расширяемый язык разметки), универсальный способ обмена информацией между различными программами. Программа Access 2007 поддерживает язык XML с помощью средств импорта и экспорта, в которых XML появляется как один из поддерживаемых форматов. Но если вы действительно хотите понять, как взаимодействуют средства Access и XML и вносят ли они что-то новое, нужно немного углубиться в предмет.
Что такое XML на самом деле?
Сам по себе язык XML воспринимается как нечто суперсовременное. Пользователи часто описывают его как формат хранения информации. Например, вместо сохранения данных в документах Word, электронных таблицах Excel или обычных текстовых файлах можно сохранять данные в XML-файле. Эта простота кажущаяся, и два фактора делают язык XML чем-то особенным.
■ Язык XML обладает большой гибкостью. Вы можете применить XML для хранения информации самых разных типов: изображений, каталогов товаров, данных счетов, рецептов,
номенклатуры каталогов, технических условий для всех Dodge Minivan, когда-либо созданных, и т. д.
■ Язык XML широко распространен. Компьютерные приложения, написанные на разных языках программирования (например, Java, Visual Basic либо C++) или выполняющиеся под управлением разных ОС и компьютерного оборудования (например, Windows, Mac или Linux), могут применять XML практически одинаково. Это качество делает язык XML отличным решением для обмена информацией между людьми, компаниями и даже компьютерами, которые запрограммированы на автоматическую пересылку данных от одного к другому (средства, подобные последнему, заставляют даже типов, занимающихся управлением цепочками поставок, истекать слюной, когда речь заходит об XML).
В противовес мнению многих, XML — это не формат представления данных (как язык HTML — формат, применяемый для создания Web-страниц). Если бы язык XML был просто форматом представления данных, он не стал бы столь незаменимым, поскольку независимо от качества формата он не может подходить для всех. Например, несмотря на то, что всем компаниям нужны счета, большинство компаний не удовлетворится общим форматом хранения данных счета. Одной компании может понадобиться отслеживание имен клиентов, в то время как другая может отслеживать идентификационные номера клиентов. Основной итог заключается в том, что большинству компаний необходимо хранить немного отличающиеся данные слегка разнящимися способами. Это означает, что одно удовлетворяющее всех решение почти всегда обречено на неудачу.
Итак, если язык XML — не формат представления данных, то что же он такое? С технической точки зрения XML — это метаязык, или проще говоря, XML — это язык для создания других языков. Язык XML обеспечивает подобное создание с помощью нескольких простых правил, которые позволяют формировать собственный формат представления информации, подходящий именно для ваших данных.
Например, компания Acme Company может создать свой XML-формат для счетов и назвать его Acmelnvoice. Между тем компания Budget Company может сформировать собственный XML-формат счетов и назвать его Budgetlnvoice. Несмотря на то, что оба формата разработаны для хранения данных счета, они могут содержать совершенно разные типы данных. Сила их — в гибкости языка XML.
В то же время эта гибкость XML способна создать проблемы. Предположим, что банк, названный Worldwide Green, установил систему автоматической обработки XML-счетов с определенным форматом. Система работает гладко до тех пор, пока Acme Corporation не отправит свой доморощенный счет. Несмотря на то, что счет компании Acme использует язык XML, он не соответствует XML-формату, на который рассчитывает банк, и поэтому он нарушит работу банковского приложения автоматической обработки счетов. Неожиданно язык XML перестал казаться таким уж полезным.
В итоге язык XML содержит возможность универсального коллективного использования данных, но если вы не создадите некоторые правила и не будете следовать им, вы останетесь с грудой несовместимых форматов.
Примечание
Язык XML действительно чрезвычайно прост, но существует множество других стандартов, таких как XML Schema и XSLT (Extensible Stylesheet Language Transformations, таблицы стилей языка преобразований XML-документов), работающих совместно с XML и предоставляющих решения для проверки XML, исследования XML, преобразования XML и т. д. Эти дополнительные стандарты очень сложны и не обсуждаются в данной книге.
Три правила XML
Для того чтобы лучше понять, как настроить программу Access для обработки XML, рассмотрим простой пример. Технически вам не нужно знать, как выглядит язык XML, для того чтобы применять XML-средства в программе Access, но чем больше вы поймете, тем проще будет жизнь. В этом разделе вы узнаете три самых важных правила, которые формируют все XML-документы. Если вы уже кое-что знаете о языке XML, можно пропустить этот раздел и двигаться дальше.
Между прочим, перед тем как вы начнете, хорошая новость: язык XML написан на базе текстового, удобного для восприятия формата. Вы можете использовать такую программу, как Блокнот для разбора имеющегося XML-файла и получения базового представления о его формате и структуре. Вы даже можете написать XML-файл с нуля в Блокноте. С типичной БД Access такое проделать не удастся, потому что она хранится в двоичном формате, который можно прочесть, только если просматривать данные в программе Access. (Если попытаться открыть БД в Блокноте, вы увидите груду неподдающихся расшифровке символов.)
Пролог
Все заслуживающие уважения XML-документы начинаются с так называемого пролога документа (document prolog). В этом кусочке просто объявляется, что то, на что вы смотрите, и есть XML-документ. Он также указывает на кодировку документа, которая иногда задает применение в документе специального набора символов (например, неанглийский алфавит).
Далее приведен типичный пролог документа, указывающий, что в документе используется версия 1.0 XML-стандарта (наиболее распространенная версия):
<?xml version="1.0" ?>
Если XML-документ создается вручную, следует убедиться в том, что пролог находится в самой первой строке файла.
Элементы
Базовый строительный блок любого XML-документа — элемент. Элементы — это информационные контейнеры. Например, если вы хотите сохранить имя человека, можно создать элемент с именем Name.
Типичный элемент состоит из открывающего и закрывающего тегов. Реальные данные располагаются между этими двумя тегами. Открывающие и закрывающие теги легко узнать, поскольку они используют угловые скобки о. Далее приведен возможный открывающий тег: <Name>
Этот тег обозначает начало элемента Name. Закрывающий тег выглядит аналогично, за исключением того, что он начинается с символов </ вместо просто символа <. Вот как следует закрыть элемент Name:
</Name>
Для того чтобы действительно сохранить некоторые данные в XML-документе, содержимое нужно вставить между открывающим и закрывающим тегами элемента. Далее показано, как сохранить чье-либо имя в XML-документе:
<Name>Patrick</Name>
Можно создать список имен, размещая один элемент <Name> за другим, или добавить другие элементы, хранящие информацию разных типов, например, адрес, звание, имя работодателя и т. д. Для формирования XML-документа все эти теги вместе помещаются в файл.