- •Часть 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
Глава 17. Написание кода с более развитой логикой 571
Изучение языка Visual Basic 571
Хранение информации в переменных 571
Принятие решений .573
Повторение действий с помощью цикла 577
Создание пользовательских функций 578
Подытожим: функция для проверки кредитных карт 580
Обработка сбойных ситуаций 584
Отладка 585
Обработка ошибок 588
Углубленное рассмотрение объектов 590
Объект DoCmd 593
Преобразование макроса в VB-код 595
Улучшение работы компании средствами Visual Basic 597
Хранение промежуточного итога 598
Получение сведений о цене 601
Добавление нового товара во время заполнения заказа 602
Управление выполнением заказов 606
Обновление единиц наличного запаса 610
Часть VI. Совместное использование access 615
Глава 18. Совместное использование бд несколькими пользователями 616
Открытие вашей базы данных всему миру 616
Как действует многопользовательская поддержка в Access 617
Подготовка вашей базы данных 619
Что такое разделенная БД 619
Разделение БД с помощью мастера 621
Как действуют связанные таблицы 625
Разделение БД вручную 628
Блокировка вашей клиентской БД 631
Использование БД совместно с пользователями, у которых нет Access 633
Многопользовательский доступ 635
Как вносятся изменения 635
Обработка конфликтов редактирования 637
Применение блокировок для предотвращения наложения обновлений 639
Открытие БД с монопольным доступом 641
Повреждение данных 642
Диагностика и корректировка поврежденных БД 643
Предупреждение повреждений 644
Защита базы данных 644
Защита паролем 646
Пароли и разделенные БД 647
Применение защиты файлов ОС Windows 647
Глава 19. Импорт и экспорт данных 650
Аргументы в пользу экспорта и импорта 650
Что такое экспорт 650
Что такое импорт 651
Применение буфера обмена 652
Копирование таблицы из программы Access 653
Копирование ячеек из Excel в Access 656
Операции импорта и экспорта 656
Импортируемые типы файлов 657
Импорт данных 658
Импорт из файла Excel 661
Импорт из текстового файла 664
Экспортируемые типы файлов 665
Экспорт данных 666
Повторное применение параметров импорта и экспорта 669
Access и XML 671
Что такое XML на самом деле? 672
Три правила ХМL 673
Файлы и схемы XML 674
Поддержка XML в программе Access 676
Экспорт в XML-файл 679
Импорт из XML-файла 681
Сбор информации по электронной почте 682
Создание сообщения электронной почты 683
Ручная обработка ответов 688
Автоматическая обработка ответов 689
Управление параметрами вашего сбора данных с помощью электронной почты 690
Глава 20. Подключение Access к sql Server 692
Нужно ли переходить на SQLServer? 693
Как работает SQL Server 693
Более дешевая версия SQL Server 695
Приступая к работе с SQL Server 2005 Express 697
Установка SQL Server Express 697
Подключение SQL Server к сети 702
Создание БД SQL Server 703
Преобразование БД 703
Управление вашей БД 710
Создание БД SQL Server вручную 711
Добавление объектов в БД SQL Server 712
Создание таблицы 712
О запросах 719
Создание представления 720
Глава 21. Подключение Access к SharePoint 724
Основные сведения о SharePoint 725
Что можно делать в программе SharePoint 727
Настройка SharePoint 729
Создание узла рабочей группы 729
Настройка вашего узла 733
SharePoint и Access 735
Формирование списка 737
Экспорт таблицы в SharePoint 743
Импорт данных в Access 745
Перенос всей БД на сервер SharePoint 748
Редактирование данных SharePoint в Access 751
Внесение изменений в автономном режиме 752
Приложение. Настройка Панели быстрого доступа 755
Панель быстрого доступа 755
Добавление кнопок 757
Настройка конкретных БД 759
Предметный указатель 761
0б авторе
Мэтью Мак-Дональд (Matthew MacDonald) — автор и выдающийся программист. Он автор "Excel 2007: The Missing Manual", "Creating Web Sites: The Missing Manual" и десятков книг о программировании с помощью Microsoft .NET Framework. В почти забытой, прошлой жизни он изучал английскую литературу и теоретическую физику.
Благодарности
Написать книгу о такой объемной и сложной программе, как Access, можно только из любви (т.е. любви к страданию и боли). Я глубоко признателен множеству людей, включая тех, кто помог мне исследовать все искусно разработанные и изобретательные средства, вошедшие в последнюю версию пакета Office (включая выдающихся блоггеров Дженсена Харриса (Jensen Harris) и Эрика Ракера (Erik Rucker), тех, кто сделал эту книгу ясной, лаконичной и технически достоверной (Питер Мейерс (Peter Meyers), Сара Милштейн (Sarah Milstein), Брайан Сойер (Brian Sawyer), Джуел Бортолусси (Juel Bortolussi) и Майкл Шмалц (Michael Schmalz)), и тех, кто терпел, пока я писал ее (больше об этом — чуть позже). Я также благодарен всем, кто трудился над форматированием книги, созданием предметного указателя и ее изданием.
Написание книги потребовало нескольких бессонных ночей (и множества дней с недосыпом). Я выражаю любовь и признательность моей дочери Майе, которая выдержала большую часть времени без слез; моей дорогой жене Фарии (Faria), поступавшей в основном так же; и нашим мамам и папам (Hope (Nora), Разин (Razia), Полу (Paul) и Хамиду (Hamid)), нянчившим внучку, готовившим вкусную еду и помогавшим по дому, что позволяло не останавливать работу над книгой. Большое спасибо вам всем — без вас половина книги все еще оставалась бы только у меня в голове!
Введение
В прошлом люди использовали различные технологии для организации информации. Они применяли вращающиеся картотеки барабанного типа компании Rolodex, перфокарты, картонные коробки, картотечные устройства вертикального хранения, каталоги с десятками тысяч страниц и (когда все оказалось тщетным) огромные стопки на плоских поверхностях. Но после многолетних страданий люди обнаружили, что для обработки информации гораздо удобнее использовать компьютеры, особенно если ее объем велик, структура сложна, а корректировки очень часты.
Именно тогда и пригодилась программа Access корпорации Microsoft. Access — это система управления базами данных — тщательно структурированные каталоги информации (или данных). Базы данных могут хранить почти любой тип информации, включая числа, страницы текста и изображения. У баз данных очень разные размеры — они могут обрабатывать все, начиная со списка семейных номеров телефонов и заканчивая огромным каталогом изделий для магазинчика тетушки Этель, торгующего пуговицами и кнопками со скидкой (Aunt Ethel's Discount Button Boutique).
В этой книге вы узнаете, как проектировать законченные базы данных, поддерживать их, находить значимую информацию и создавать привлекательные формы для быстрого и легкого ввода данных. Вы даже проникнете в черную магию программирования в Access и освоите важные приемы и методы, применяемые для автоматизации широко распространенных задач, даже если до этого вы не написали ни одной строки программного кода.
Главное достоинство книги состоит в том, что она с самого начала писалась для программы Access 2007, последней и величайшей реинкарнации самого популярного программного обеспечения для управления базами данных, созданного корпорацией Microsoft. Программа Access 2007 слегка отличается от предыдущих версий, благодаря яркому новому интерфейсу, вызвавшему оживленные толки в среде ярых компьютерных фанатов. Но в данном случае он не просто диковинка. Как вы убедитесь, освоив новый стиль Access, вы сможете создавать большие базы данных в рекордное время.
Какие задачи можно решать в программе Access
Современный мир наполнен информацией. Поиск в Web-пространстве скучного словосочетания "консервированная морковь" вылавливает более миллиона Web-страниц. В результате неудивительно, что людям разных профессий нужны мощные средства для хранения информации и управления ею.
Невозможно описать даже часть различных баз данных, создаваемых приверженцами Access каждый день. Для того чтобы дать вам профессиональное представление о базах данных, далее перечислены распространенные типы информации, которые можно легко хранить в базе данных Access:
■ каталоги книг, CD-дисков, редких марочных вин, рискованных фильмов или еще чего-то, что вам хотелось бы коллекционировать и за чем вы хотели бы следить;
списки почтовой рассылки, позволяющие поддерживать связь с друзьями, семьей и коллегами;
деловая информация, например, списки клиентов, каталоги изделий, записи заказов и счета;
списки гостей и подарков для свадеб и других торжеств;
перечни расходов, вкладов и других подробностей финансового планирования.
Воспринимайте программу Access как личного ассистента, который может помочь организовать, обновить и найти любой тип информации. Эта помощь — не только удобство: она позволяет делать то, что вы никогда бы не сделали самостоятельно.
Рис. В1. Эта база данных о продажах содержит удобные формы, которые продавцы могут использовать для размещения новых заказов (показанных здесь), агенты по обслуживанию клиентов — для регистрации новых клиентов, а работники склада — для просмотра отправляемых заказов. Самое главное в том, что люди, использующие формы в базе данных, могут ничего не знать об Access. После того как специалисты по базам данных (это и ваше будущее после прочтения книги) разработали данные формы, любой может пользоваться ими для ввода, редактирования и просмотра данных
Представьте, что вы только что закончили составление базы данных для вашей коллекции 10000 редких комиксов. По внезапному порыву вы решили взглянуть на все книги, написанные в 1987 г. или те, в которых изображен человек-амфибия (Aquaman), или же те, в заголовках которых есть слова "специальное издание". Поиск такого рода в бумажном каталоге занял бы несколько дней. На среднем компьютере Access может выполнить все три поиска меньше чем за секунду.
Программа Access также — король мелких предприятий из-за ее легендарной способности к самонастройке. В конце концов, на деле вы можете использовать любую программу управления базами данных для создания списка заказов клиентов. Но только Access облегчает создание полного пользовательского интерфейса для такой базы данных (как показано на рис. В1).