- •Часть 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, которая открыта в отдельном окне. Но этот прием сработает, только если копируется вся таблица (или другой объект), а не набор строк.
Для опробования данного способа в области переходов щелкните правой кнопкой мыши нужный вам объект и затем выберите команду Вставить (Paste). Access запросит имя вставляемой таблицы и предложит три варианта вставки.
Вариант только структура (Structure) создает табличную структуру, но оставляет ее пустой.
Вариант структура и данные (Structure and Data) создает точный дубликат таблицы со всеми данными.
Вариант добавление данных в таблицу (Append Data to Existing Table) не создает новую таблицу — он добавляет данные в заданную вами таблицу. Для функционирования этого варианта у таблицы должна быть структура, в точности совпадающая со структурой скопированной вами таблицы.
Описанный прием позволяет создать дубль таблицы (или другого объекта) в той же самой базе.
Копирование ячеек из Excel в Access
Скопировать данные из программы Access в другую программу достаточно легко, но вы, вероятно, не рассчитываете на то, что можно выполнить и обратный процесс. Помимо всего прочего БД — это жесткая, строго структурированная коллекция данных. Если попытаться скопировать таблицу из программы текстового процессора, вы столкнетесь с отсутствием жизненно важной информации, например типов данных для каждого столбца. По этой причине Access не разрешит вставку.
Но для столь любимой всеми программы Excel Access делает исключение. Можно скопировать набор ячеек в Excel и затем вставить их в программу Access для создания новой таблицы. Эта процедура действует, потому что Excel различает данные разных типов (хотя она далеко не так придирчива, как Access). Например, Excel по-разному трактует числа, даты, текст и логические значения.
Вот как действует этот метод.
1. В программе Excel выделите ячейки, которые хотите скопировать.
Если у электронной таблицы есть заголовки столбцов, включите их в область выделения. Программа Access сможет использовать их как имена полей.
Примечание
Неважно, какая у вас версия Excel — этот метод действует во всех версиях программы.
Нажмите комбинацию клавиш <Ctrl>+<C>, чтобы скопировать выделенную область.
Перейдите в программу Access.
Щелкните кнопкой мыши где-нибудь в области переходов и нажмите комбинацию клавиш <Ctrl>+<V>.
Программа Access заметит, что вы пытаетесь вставить группу ячеек Excel, и попытается преобразовать их в таблицу. Сначала она поинтересуется, содержатся ли в первой строке области выделения заголовки столбцов.
5. Если в пункте 1 вы выделили заголовки, щелкните кнопку Да, в противном случае Нет.
Если выбран вариант Да, программе Access не нужно создавать случайные имена полей — она может использовать ваши заголовки.
Access создает новую таблицу для работы с новыми данными. Эта таблица названа так же, как таблица Excel. Если у таблицы имя листа Лист1 (Sheetl) (как у большинства таблиц Excel), теперь у вас есть таблица Лист1.
Когда Access закончит вставку, программа выведет на экран подтверждающее сообщение, дающее знать, что все завершилось успешно.
6.Щелкните мышью кнопку ОК.
Теперь можно проверить таблицу, чтобы убедиться в том, что типы данных и имена полей такие, как вы хотели.
Операции импорта и экспорта
Несмотря на то, что метод применения буфера с командами вырезания и вставки очень удобен, он не всегда решает задачу. Если нужно экспортировать данные в файл, а на вашем
компьютере не установлена соответствующая программа (или вы просто не хотите суетиться и запускать ее), необходим другой способ передачи ваших данных. Подобным образом, если вы загружаете данные из Всемирной паутины или извлекаете информацию из программы, не поддерживающей метод ОС Windows вырезания и вставки, вам потребуется полнофункциональное средство импорта программы Access.
Когда корпорацияMicrosoft разрабатывала программу Access 2007, было потрачено много времени на то, чтобы сделать средства импорта и экспорта яснее и понятнее. Теперь вы можете выполнять все операции импорта и экспорта с помощью одной вкладки ленты, названной Внешние данные (External Data) (рис. 19.3).
Рис. 19.3. Группа Импорт вкладки ленты Внешние данные позволяет передать данные в программу Access с помощью разнообразных форматов. Группа Экспорт выполняет обратные действия и экспортирует данные в группу различных форматов
Примечание
В группах Импорт (Import) и Экспорт (Export) есть легко доступные кнопки для большинства наиболее популярных форматов. Если вы не видите нужного формата, щелкните мышью кнопку Дополнительно (More), чтобы вывести на экран расширенный список форматов.
Импортируете вы данные или экспортируете их, процесс один и тот же. Вы отвечаете на несколько вопросов об используемом файле и способе преобразования данных, и затем про грамма Access выполняет ваши распоряжения.
После того как операция импорта или экспорта закончена, Access предоставляет возможность сохранить все шаги этого процесса. Если вы сделаете это, то позже сможете их применить повторно (см. разд. "Повторное применение параметров импорта и экспорт далее в этой главе). Этот метод позволяет сэкономить массу времени, если вам придется повторить тот же процесс экспорта или импорта еще раз (например, если нужно импортировать некоторые данные каждый день или экспортировать итог в конце каждого месяца).
Импортируемые типы файлов
Чаще всего вы будете импортировать данные одного из следующих пяти распространенны форматов.
■ Access. Когда используется этот вариант, никакое преобразование не выполняется. Вы берете объект БД из другого файла БД Access и копируете его в текущую БД. Этот вариант применялся в главе 18, когда создавалась клиентская БД.
■ Excel. Извлекаются данные из электронной таблицы Excel.
Список SharePoint. Добываются данные из списка, расположенного на сервере SharePoint. Для работы с данными SharePoint их не нужно импортировать. Редактировать списки SharePoint можно непосредственно в программе Access. В главе 21 вы найдете дополнительную информацию о совместной работе Access и SharePoint.
Текстовый файл. Извлекаются данные из обычного текстового файла. Как правило, в текстовых файлах для разделения значений полей используются символы определенного типа (например, запятая). Этот всегда понятный формат поддерживают многие программы, включая почти все варианты когда-либо написанных программ электронных таблиц. Когда применяется этот формат, Access просматривает текстовый файл и пытается выяснить его организацию. У вас есть возможность согласиться с предположениями программы на этот счет или откорректировать их, прежде чем импортировать какие-либо данные.
XML-файл. Получаются данные из структурированного XML-файла (Extensible Markup Language, расширяемая спецификация языка, предназначенного для создания Web-страниц). XML — совместимый с разными платформами формат, используемый для представления информации любого типа. Но вам не удастся успешно импортировать любые XML-файлы — для того чтобы операция импорта могла завершиться успешно, в XML-файле должна применяться структура, подобная табличной.
Если воспользоваться кнопкой Дополнительно (More), можно обнаружить некоторые другие, более экзотические форматы импортирования.
База данных ODBC (ODBC Database). Получается информация практически из любой БД при условии, что у нее есть драйвер ODBC (Open DataBase Connectivity, открытый интерфейс доступа к базам данных). Этот вариант особенно хорош, если необходимо получить данные из высокопроизводительных серверных БД, например, Oracle, SQL Server или MySQL.
Документ HTML (HTML Document). Извлекается информация из списка или таблицы, размещенных на Web-странице. Поскольку стандарт HTML (HyperText Markup Language, язык разметки гипертекста) печально известен как слабый (а временами откровенно сырой), лучше избегать его применения. Вполне вероятно, что при импорте вы столкнетесь с проблемами.
Папка Outlook (Outlook Folder). Добываются данные из папки программ Outlook или Outlook Express.
Файл dBase (dBase File), Файл Paradox (Paradox File), Файл Lotus 1-2-3 (Lotus 1-2-3 File). Извлекается информация из файла, созданного в одной из этих программ эпохи палеолита.
Импорт данных
Независимо от того, какой тип данных вы хотите импортировать, вам придется выполнить одни и те же действия.
1. В группе ленты Внешние данные → Импорт (External Data → Import) щелкните мышью кнопку, соответствующую типу файла, который вы хотите импортировать.
Когда формат выбран, запускается мастер импорта Внешние данные (рис. 19.4).
Рис. 19.4. Независимо от выбранного формата мастер импорта почти один и тот же, хотя определенные параметры могут быть ограничены. На первом этапе выбирается имя файла-источника и способ вставки информации в вашу БД программой Access
2.Введите имя файла, который хотите импортировать.
Если вы не помните путь к файлу (или не хотите набирать его вручную), щелкните мышью кнопку Обзор... (Browse...) и затем перейдите в нужное место в окне Открытие файла (File Open). После того как файл найден, дважды щелкните его кнопкой мыши.
3. Выберите, куда помещать в вашей БД импортированные данные.
У вас есть три возможных варианта размещения данных. Не для всех файловых форматов импорта все они доступны.
Импортировать данные источника в новую таблицу в текущей базе данных (Import the source data into a new table in the current database). Этот вариант создает новую таблицу для импортируемых данных, что убережет вас от головной боли из-за беспокойства о конфликтующих записях. Но если имя таблицы совпадает с именем уже существующей в БД Access таблицы, этот вариант стирает последнюю.
Добавить копию записей в конец таблицы (Append a copy of the records to the table).
Данный вариант добавляет импортируемые вами строки в существующую таблицу, Для успешного действия этого варианта нужно, чтобы структура импортируемых данных совпадала со структурой таблицы, которую вы используете. Например, имена
полей должны точно совпадать. В импортируемых данных могут быть пропущены необязательные поля и значения по умолчанию.
Создать связанную таблицу для связи с источником данных (Link to the data source by creating a linked table). Если применяется этот вариант, программа Access на самом деле не переносит информацию с вашу БД. Вместо этого при каждом просмотре связанной таблицы Access проверяет исходный файл для получения самой свежей информации. Самое замечательное заключается в том, что в связанной таблице всегда отображается новейшая информация. В любом другом варианте импортированная таблица остается нетронутой, если изменяется исходный файл. Но связанные таблицы тоже опасны, поскольку у вас нет гарантий того, что файл не перекочует в другое место на вашем жестком диске (где программа Access не сможет его найти). Вы применяли связанные таблицы для создания разделенной БД в главе 18.
Примечание
Связанные таблицы — хороший способ преодолеть разрыв между разными БД Access или другими БД (например, SQL Server). Но они плохо работают с более ограниченными форматами, такими как текстовый файл.
4. Щелкните мышью кнопку ОК.
Запустится мастер, который соберет оставшуюся информацию, необходимую программе Access. Если импортируется файл Excel, Access запрашивает, какую электронную таблицу использовать. Если вы импортируете текстовый файл, Access запрашивает, как разделены поля в файле.
5. Ответьте на все вопросы в мастере, чтобы сообщить программе Access все необходимые ей сведения о структуре импортируемых данных.
Когда этот этап закончен, Access задает последний вопрос — нужно ли сохранить шаги импорта.
6. Если вы хотите выполнять тот же импорт снова в дальнейшем, установите флажок Сохранить шаги импорта (Save import steps). Затем щелкните мышью кнопку Закрыть (Close).
В разд. "Повторное применение параметров импорта и экспорта" далее в этой главе показано, как повторно использовать сохраненную операцию импорта.
Примечание
Если в процессе импорта программа Access обнаруживает какие-то ошибки, она создает еще одну таблицу с тем же именем, что и у таблицы, в которую вы импортируете данные, с присоединенной в конец имени добавкой _ОшибкиИмпорта (_ImportErrors). Access вставляет в эту таблицу по одной записи на каждую проблему. Если вы пытаетесь импортировать группу данных в таблицу с именем SalesData, и программа Access не может преобразовать значения в данные нужного вам типа (например, в столбце, который должен содержать только числа, присутствует текст), вы получаете таблицу, названную SalesData_OшибкuИмпopтa.
В следующих разделах вы познакомитесь с особенностями двух распространенных форматов данных, которым для импорта потребуются дополнительные шаги: рабочих книг Ехсel и текстовых файлов.