
Access 2007
.pdf
Можно импортировать непосредственно из XML-файла, но всегда лучше применить схему, если таблица создается впервые, поскольку в схеме хранится информация о типах данных всех полей. Эти сведения гарантируют большее соответствие создаваемой таблицы исходной таблице, которую вы экспортировали.
3. Щелкните мышью кнопку ОК.
Программа Access просмотрит схему и отобразит структуру таблиц, которые будут созданы (рис. 19.14).
Рис. 19.14. В данном примере Access корректно устанавливает, что ваш файл схемы определяет структуру таблиц Orders, OrderDetails, OrderStatus и CreditCards. Можно раскрыть каждую таблицу и увидеть содержащиеся в ней поля
4.Щелкните мышью кнопку ОК.
С помощью данных схемы программа Access создает новую пустую таблицу с корректной структурой. Теперь можно заполнять ее данными.
Примечание
Если таблица с таким же именем уже существует, Access добавит в конец имени число, чтобы отличать новую таблицу (например, Products1, Products2 и т. д.).
5.Щелкните мышью кнопку Закрыть (Close), чтобы вернуться в окно программы Access.
6.Выберите на ленте Внешние данные →Импорт → Импорт XML-файла (External Data
→ Import → XML File).
Теперь, когда ваши таблицы созданы, можно импортировать реальные данные.
7.Задайте имя XML-файла, содержащего данные, которые хотите импортировать, и щелкните мышью кнопку ОК.
Программа Access отобразит структуру таблицы на основе XML-данных вашего файла, Эта структура должна точно соответствовать структуре таблицы, которую вы хотите создать или в которую хотите добавить данные.
681

8. Выберите один из вариантов операции импорта.
oВыбор переключателя добавить данные в таблицы (Append Data to Existing Table(s)) заставляет программу Access найти таблицу с таким же именем и добавить в нее все данные. Этот вариант применяется, если используемая таблица уже существует.
oВыбор переключателя структура и данные (Structure and Data) создает таблицу и затем заполняет ее данными.
oВыбор переключателя только структура (Structure Only) создает несуществующую до этого момента таблицу, но не импортирует никаких данных.
Примечание
Если в процессе импорта вам нужно создать таблицу, всегда лучше применить файл схемы для ее создания (как описано в пунктах 1—5), поскольку в схеме содержатся более точные сведения о типах данных.
9.Щелкните мышью кнопку ОК.
Access заполнит таблицы данными из вашего XML-файла.
Если вы хотите повторять процесс импорта несколько раз, установите флажок Сохранить шаги импорта (Save export steps).
Сбор информации по электронной почте
В мире пользователей электронной почты гораздо больше, чем знатоков БД. Поэтому было бы очень кстати иметь способ получения данных от других людей с помощью сообщений электронной почты. Специалисты, работавшие над программой Access, думали также. Они добавили еще одно средство передачи данных в Access из других источников: данные можно собирать по электронной почте.
Вот как действует это средство.
1.Вы выбираете таблицу, которая нуждается в данных.
2.Определяете круг пользователей, способных предоставить эти данные. (Необходим список адресов электронной почты, которые можно вводить вручную или извлечь из таблицы в вашей БД.)
3.Программа Access отправляет им всем электронное сообщение с формой, которую они должны заполнить. Форма позволяет им ввести данные, формирующие одну запись (хотя адресат при необходимости может заполнить одну и ту же форм}' несколько раз). Для того чтобы увидеть пример того, как может выглядеть электронное сообщение, перейдите к рис. 19.16.
4.Заполненная форма возвращается вам по электронной почте.
5.Для каждого полученного по электронной почте сообщения программа Access создает в вашей таблице отдельную запись.
Часто средство сбора данных с помощью электронной почты применяется для получения сведений о людях. Например, у вас может быть таблица со списком контактов. Вы можете отправить каждому человеку электронное сообщение и попросить его предоставить личные данные (адрес, номер телефона и т. д.). Конечно, с помощью этого средства можно собрать информацию и другого типа, например, список компонентов, которые люди хотят принести, для организации обеда в складчину.
682

Усредства сбора данных с помощью электронной почты есть несколько базовых правил.
■Для отправки электронного сообщения и получения ответа необходимо использовать программу Microsoft Outlook 2007 (входящую в состав пакета Office 2007). Таким образом, если программа Outlook еще не настроена, следует сделать это прежде, чем двигаться дальше. Ваши адресаты могут пользоваться любой программой электронной почты, которая им нравится.
■Данные можно только вставлять, но не обновлять. (Есть одно исключение. Можно обновить таблицу, если каждая запись содержит в поле адрес электронной почты отправителя, поскольку в этом случае программа Access может установить, какую запись обновлять, сопоставляя адрес электронной почты отправителя с адресом, хранящимся в таблице.)
■Если пользователи включают неверные данные (например, помещают текст в числовое поле), программа Access не может создать запись. Затем вы должны самостоятельно выяснить, в чем проблема, и исправить ее.
■Возможно, придется потратить какое-то время на просмотр данных, предоставленных другими людьми. Небрежность людей при заполнении форм на компьютере печально известна. Они могут ввести свои имена и фамилии только строчными буквами, пропустить важную информацию, допустить орфографические ошибки или непристойные шутки и т. д.
Вследующих разделах вы увидите, как создать нужное сообщение электронной почты и затем поместить данные в вашу таблицу.
Создание сообщения электронной почты
Прежде всего (при условии, что вы уже установили программу Outlook и настроили вашу учетную запись электронной почты в ней) укажите таблицу, куда хотите вставлять данные. В следующем примере вы увидите, как добавить предполагаемых кандидатов в таблицу Bachelors (холостяки) БД Dating Service (служба знакомств). Если вы хотите испытать это средство со своими друзьями, БД Dating Service можно найти на странице "Missing CD" Web-сайта www.missingmanuals.com.
Вот, как это делается.
1.Выберите на ленте Внешние данные → Сбор данных → Создание электронного сообщения (External Data → Collect Data → Create E-mail).
На экране появится мастер. В первом окне мастера перечислены все шаги, необходимые для получения ваших данных.
2.Для того чтобы двигаться дальше, нажмите кнопку Далее (Next).
На втором шаге можно выбрать тип формы, которую хотите использовать.
3.Выберите вариант HTML-форма (HTML form) и щелкните мышью кнопку Далее.
Этот вариант сообщает программе Access о необходимости использовать HTML-теги в ее сообщении электронной почты. С помощью этих тегов Access может создать форму с привлекательным внешним видом и полями ввода, в которые адресат сможет ввести данные.
Второй оставшийся вариант (Microsoft Office InfoPath form) отключен, если на вашем компьютере не установлено приложение InfoPath. Оно включено в состав только
683

некоторых редакций пакета Office и чаще всего используется в больших компаниях. Несмотря на то, что InfoPath — отличная программа, у нее есть один серьезный недостаток — для того чтобы применить форму InfoPath, у всех ваших адресатов на компьютерах должна быть установлена программа InfoPath. По этой причине вариант HTML, как правило, выгодней.
4.На следующем шаге запрашивается необходимость сбора новых данных или обновления существующих. Выберите подходящий вариант и щелкните мышью кнопку Далее.
Обычно выбирается вариант Собирать только новые данные (Collect new information only). Именно он подходит для БД Dating Service, поскольку вы хотите получить информацию, которую нужно добавить в таблицу Bachelors как отдельную запись для каждого отправителя.
Если выбирается вариант Обновлять существующие данные (Update existing information), в вашей таблице должны содержаться адреса электронной почты отправителей. Например, этот подход можно применять, если в таблице Bachelors есть набор записей, которые вы хотите обновить. Каждый холостяк получит электронный адрес, который можно использовать для изменения текущих данных о себе.
Подсказка
Вы, конечно, также можете применять вариант обновления, если адреса электронной почты есть в другой таблице, которая связана с заполняемой таблицей. Например, можно было бы обновить текущий статус каждого проекта из таблицы Projects, если в ней есть поле Project-ManagerlD, указывающее на запись в таблице ProjectManagers. которая в свою очередь содержит адрес электронной почты.
5. Выберите поля, которые хотите собрать.
Для добавления поля выберите его в списке Поля в таблице (Fields in table) и затем щелкните мышью кнопку >. Или щелкните мышью кнопку » для переноса всех полей за один шаг.
Примечание
Вы не увидите поле Код (ID) с типом Счетчик в списке Fields in table (Поля в таблице). Программа Access знает о том, что она должна генерировать это значение самостоятельно, поэтому не просит никого предоставить это значение. Также не отображаются многозначные поля или поля с типом Вложение, поскольку Access не может создать формы для данных этих типов.
6. При желании задайте более понятные имена для ваших полей.
Например, подпись "Your favorite food is" ("Ваша любимая еда") может оказаться понятнее, чем имя поля FoodPreference (пищевые предпочтения). Для изменения подписи выберите ее в списке и измените поле ввода, появляющееся ниже.
Можно также установить флажок Только чтение (Read-only), чтобы пользователи не могли изменить значение поля. Этот вариант имеет смысл, только если вы просите пользователей обновить записи. В этой ситуации, возможно, на форме есть данные для просмотра, но не для изменения.
7.При желании измените порядок следования полей.
Для переноса поля выделите его в списке включенных в форму полей и воспользуйтесь кнопками со стрелкой, направленной вверх или вниз. Когда программа Access создаст форму электронной почты, она поместит на ней поля в том же порядке.
684

8.Щелкните мышью кнопку Далее (Next).
На экране появляется последнее окно мастера.
9.Выберите папку, в которой Access сохраняет ответы после того, как обработала их.
Обычно программа Access хранит ответы в папке Outlook, названной Ответы для сбора данных Access (Access Data Collection Replies). Но можно применить любую папку, какую захотите. Для замены папки щелкните кнопкой мыши ссылку Ответы для сбора данных Access. Запустится программа Outlook и выведет на экран диалоговое окно Обзор (Select Folder), в котором можно выбрать любую имеющуюся папку (или щелкнуть мышью кнопку Создать папку (New) для создания новой папки). После выбора нужной папки щелкните мышью кнопку ОК.
Подсказка
Если вы планируете выполнить несколько операций импорта для разных таблиц, есть смысл использовать разные папки.
10.Если хотите применить автоматическую обработку, установите флажок Автоматически обрабатывать ответы... (Automatically process replies...). Если хотите обработать ответы вручную, перейдите к пункту 12.
Если применяется автоматическая обработка, программа Outlook связывается с Access, чтобы выяснить, получила ли она ответ. Затем программа Access сразу добавляет или обновляет соответствующую запись. Подобная система действует до тех пор, пока файл вашей БД остается на одном и том же месте, с тем же именем и без защиты паролем.
Для ручной обработки требуется больше усилий, но это по-настоящему безопасный вариант. В этом случае можно просмотреть каждый ответ, прежде чем добавлять запись. Вы также точно знаете, сколько ответов получили и можете проверить ошибки до того, как данные попадут в вашу таблицу. Таким образам, ручная обработка — лучший выбор.
Для ручной обработки требуется больше усилий, но это по-настоящему безопасный вариант. В этом случае можно просмотреть каждый ответ, прежде чем добавлять запись. Вы также точно знаете, сколько ответов получили и можете проверить ошибки до того, как данные попадут в вашу таблицу. Таким образам, ручная обработка — лучший выбор.
Рис. 19.15. Если вы выбрали автоматическую обработку ответов, в этом диалоговом окне можно задать ряд параметров
685

11.Если используется автоматическая обработка, щелкните кнопкой мыши ссылку Задать свойства, управляющие автоматической обработкой ответов (Set properties to control the automatic processing of replies) для отображения диалогового окна Параметры сбора данных с помощью электронной почты (Collecting Data Using E-mail Options) (рис. 19.15). Задайте нужные параметры и щелкните мышью кнопку ОК.
Вы можете управлять следующими параметрами.
□Флажок Запретить ответы от пользователей, которым не посылалось сообщение
(Discard replies for those to whom you did not send the message) позволяет игнорировать сообщения от людей, которым вы не посылали писем по электронной почте.
□Флажок Принимать несколько ответов от одного получателя (Accept multiple re plies from each recipient) позволяет отправителям отвечать столько раз, сколько они захотят. При каждом получении сообщения программа Access добавляет запись в таблицу. Это имеет смысл, если вы, скажем, собираете список вещей, которые ваши друзья хотят продать на групповой распродаже ненужных домашних пожитков. Данный вариант лишен смысла, если вы накапливаете персональные данные группы холостяков, поскольку каждому из них отводится одна запись.
□Флажок Разрешить несколько строк в ответе (Allow multiple rows per reply) действует, только если применяется программа InfoPath. С ее помощью можно представить в одной форме данные, предназначенные для нескольких записей (если этот параметр установлен).
□Флажок Разрешить только обновление существующих данных (Only allow updates to existing data) действует, только если выполняется обновление (см. пункт А). В этом случае можно установить флажок для того, чтобы помешать пользователям добавлять новые записи. И снова этот параметр доступен только при использовании программы InfoPath.
□Поле Число обрабатываемых ответов (Number of replies to be processed) позволяет остановить обработку после получения определенного числа ответов. С этого момента программа Access игнорирует все ответы (если вы не выберете ручную обработку ответов, как описано в следующем разделе).
□Поле Дата и время остановки (Date and time to stop) позволяет остановить обработку в определенный момент времени. Ответы, которые придут позже, будут игнорироваться, хотя их можно обработать вручную.
12.Щелкните мышью кнопку Далее (Next).
В следующем окне выводится запрос о том, как вы хотите предоставлять адреса электронной почты.
13.Выберите вариант предоставления адреса электронной почты и затем нажмите кнопку
Далее.
Выберите вариант Ввод адресов электронной почты в Microsoft Office Outlook (Enter the email addresses in Microsoft Office Outlook), если хотите вводить адреса электронной почты ваших получателей (или выбирать их из Адресной книги). Затем переходите к пункту 15.
Выберите вариант Использовать адреса электронной почты, хранящиеся в поле в базе данных (Use the email addresses stored in a field in the database), если хотите извлекать адреса электронной почты из таблицы.
686

Если вы обновляете таблицу, то не увидите этого этапа. Вы всегда должны извлекать адреса из таблицы.
14. Если адреса электронной почты предоставляются из таблицы, нужно сообщить программе Access, какие таблицу и поле использовать для этого. Затем щелкните мышью кнопку Далее (Next).
Рис. 19.16. На рисунке приведена форма для таблицы Bachelors. Вы заметите, что Access автоматически определяет обязательные поля и вставляет в каждую форму некоторые уточнения, касающиеся приемлемых типов данных
687

Можно извлекать адреса из текущей таблицы (если выполняются обновления записей) или другой связанной таблицы (в случае обновления или добавления записей). Если информация обновляется в таблице Bachelors, можно использовать поле Email в этой таблице. Если же создается список проектов, каждый из которых связан с записью о менеджере проекта, адреса электронной почты можно извлечь из таблицы ProjectManagers и разрешить пользователям создавать связанные записи в таблице
Projects.
15.Настройте до мелочей электронное сообщение, которое собираетесь отправлять, и щелкните мышью кнопку Далее (Next).
Можно изменить текст в поле Тема (Subject) и Введение (Introduction).
16.Вы добрались до последнего этапа. Щелкните мышью кнопку Создать (Create) и приготовьтесь к отправке вашего сообщения.
После щелчка мышью кнопки Создать программа Access создает форму и загружает ее в новое сообщение, которому не терпится отправиться в путь (рис. 19.16).
Если был выбран вариант извлечения адресов электронной почты из таблицы, вы увидите эти адреса в полях То... (Кому...) Сс... (Копия...). В противном случае строка То (Кому...) остается пустой, и ваша задача — заполнить ее правильными адресами. (Вставляйте столько адресов, сколько нужно, отделяя один от другого точкой с запятой.) Если вы хорошо знакомы с программой Outlook, можно включить в этот перечень список рассылки. Вы также можете внести последние изменения в ваше сообщение.
17.Как только корректные адреса электронной почты внесены, щелкните мышью кнопку Send (Отправить) для пересылки сообщения.
Оно отправлено. Ваша работа завершена (до тех пор, пока кто-то не получит его и не пошлет ответ).
Для заполнения ответа адресату нужно щелкнуть мышью кнопку Reply (Ответить), ввести значения в поля ввода и затем щелкнуть мышью кнопку Send (Отправить) для возврата вам заполненной формы.
Ручная обработка ответов
Если вы предпочли ручную обработку, необходимо периодически проверять папку Inbox (Входящие) программы Outlook для поиска ответов. Когда ответ найден, щелкните его правой кнопкой мыши и выберите команду Export data to Microsoft Office Access (Экспорт данных в Microsoft Access). Она появляется, только если щелкнуть правой кнопкой мыши сообщение, которое программа Outlook распознает как заполненную форму Access (рис. 19.17).
Если программа Access успешно импортирует сообщение, электронная почта перейдет в папку Ответы для сбора данных Access (Access Data Collection Replies) (или в ту папку, которую вы задали в пункте 9). Программа Outlook отобразит подтверждающее сообщение, которое извещает о том, что все прошло хорошо.
Если найдено сообщение, которое программа Access не может обработать, вам придется решать, как с ним быть. Проблемы могут возникнуть из-за значений, не прошедших проверку на значения, дублирующихся значений полей, в которых дублирование запрещено, и значений, не соответствующих заданным типу данных или размеру поля.
688

Рис. 19.17. Выберите этот вариант контекстного меню, и текущее сообщение отправится в программу Access, которая поместит его в новую запись в таблице Bachelors
Далее перечислены возможные способы устранения проблем в сообщениях, которые Access не может обработать.
■Удалить сообщение и забыть о нем. Вы можете применить этот подход, если обнаружили явно некорректное сообщение или сообщение, дублирующее уже имеющуюся в таблице запись.
■Запросить корректировку. Отправить форму адресату и попросить его попробовать еще раз.
■Ввести корректные данные вручную. Если вы можете исправить неверные данные, проблему можно устранить самостоятельно. В этом случае используйте лист данных программы Access для добавления записи, которую нужно было бы создать.
Автоматическая обработка ответов
Если был выбран вариант автоматической обработки, больше никаких действий предпринимать не нужно. По мере поступления ответов в вашу папку Inbox (Входящие) программа Access вставляет данные в таблицу без какого-либо уведомления вас об этом. Неплохо почаще проверять таблицу, чтобы убедиться в том, что вставленные данные не содержат явных ошибок. Нужно также просматривать папку Inbox (Входящие) в программе Outlook для обнаружения сообщений, которые Access не смогла обработать, например те, в которых содержатся некорректные данные.
689

Вы поймете, что сообщение не было обработано, если увидите его в папке Inbox (Входящие) с красным квадратиком или пустым значением в столбце Categories (Категории). В этой ситуации можно попробовать применить все варианты устранения проблем, описанные в предыдущем разделе.
Примечание
Можно применить еще один метод лечения проблематичных электронных сообщений. Если запись не была обработана из-за временно возникшей проблемы (например, БД была открыта в этот момент с монопольным доступом или был недоступен диск, на котором хранится БД), можно попросить программу Access попытаться обработать это сообщение еще раз. Для этого щелкните его правой кнопкой мыши и выберите команду Export data to Microsoft Office Access (Экспорт данных в Microsoft Access).
Управление параметрами вашего сбора данных с помощью электронной почты
После того как вы отправили сообщение, вся информация об адресате, заданных ему вопросах и т. д. сохраняется в вашей БД.
РИС. 19.18. Щелкните мышью кнопку Параметры сообщений для вывода на экран диалогового окна, в котором включается или отключается автоматическая обработка и корректируется способ ее функционирования. Щелкните мышью кнопку Повторить отправку этого сообщения для отправки вашей формы другой группе пользователей. Наконец, щелкните мышью кнопку Удалить это сообщение, когда получите данные, и оно вам больше не требуется
690