Центр управления безопасностью

Так вы не хотите видеть панель сообщений при каждом открытии БД? Программа Access предоставляет три способа, облегчающих работу с БД, содержащими опасные макросы.

■ Можно понизить уровень безопасности программы Access настолько, что опасные макросы будут разрешены. Такой подход не рекомендуется, т. к. он разрешает выполнение любого кода, включенного в вашу БД. Если случайно вы откроете БД, содержащую код, провоцирующий аварийные ситуации, никакой защиты у вас не будет.

■ Вы можете попросить программу Access доверять файлам БД, хранящимся в определенных папках на вашем компьютере (или на других компьютерах). Это самый удобный метод действия.

■ Вы можете попросить программу Access доверять базам данных, созданным надежным
издателем. Этот вариант наиболее безопасен, но для его установки необходимо заплатить
другой компании для получения сертификата безопасности. По этой причине только
большие компании, у которых полно денег, могут его себе позволить.

Все описанные действия выполняются в одном и том же окне — Центре управления безопасностью(рис. 15.11). Для вывода его на экран в диалоговом окне Параметры безо­пасности Microsoft Office(см. рис. 15.10) щелкните кнопкой мыши ссылку Открыть центр управления безопасностью.Или примените следующий, более обходной путь.

1. Выберите кнопку Office→Параметры Access.

2. В окне Параметры Accessвыберите Центр управления безопасностью(Trust Center).

3. Щелкните мышью кнопку Параметры центра управления безопасностью(Trust Center Settings).

Центр управления безопасностью включает шесть разделов.

■ Раздел Надежные издатели(Trusted Publishers) позволяет сообщить Access, что следует доверять БД с цифровой подписью определенных людей. Для того чтобы воспользоваться этим средством, вашей компании нужно купить цифровой сертификат у такой компании,

как VeriSign (www.verisign.com).Затем, когда вы откроете подписанную БД, про­грамма Access свяжется с компанией, выдавшей сертификат, и проверит его правомер­ность. Если он действителен, все законно, БД надежна ивсе опасные макросы разреше­ны. Цифровые сертификаты не рассматриваются в этой книге.

Центр управления безопасностью - student2.ru

Рис. 15.11.Раздел Параметры макросовпозволяет задать реакцию Access на опасные макросы. Вы можете выбрать включение или отключение опасных макросов и попросить Access уведомлять вас или не уведомлять об отключении чего бы то ни было

Примечание

Если заниматься раскопками длительное время, можно обнаружить, что у корпорации Microsoft есть средство (называемое makecert.exe) для генерации собственных цифровых сертификатов. Но это только тестовое средство, поскольку созданные с его помощью сертификаты не дейст­вуют на других компьютерах. Остерегайтесь — некоторые книги и Web-сайты по Access могут сбить с пути.

■ Раздел Надежные расположения(Trusted Locations) позволяет выбрать места на вашем жестком диске для хранения ваших БД. В этом случае Access будет доверять только вашим файлам БД и никому другому. Вы узнаете, как задавать надежное расположение, в следующем разделе.

■ Раздел Надстройки(Add-ins) разрешает определить, следует ли поддерживать дополнительные модули (add-ins) (мини-программы, расширяющие функциональные возможности Access), даже если они созданы не подтвержденным издателем. Обычно все дополнительные модули разрешены. (В конце концов, если вы не доверяете какому-либо дополнительному модулю, не устанавливайте его!) Эти установки применяются только в

корпоративной среде, где необходима серьезная защита Access для предотвращения даже намека на потенциальную проблему.

§ Раздел Параметры макросов(Macro Settings) позволяет настроить обработку макросов программой Access. Вы можете сделать ее более строгой (запретив все макросы, если они не принадлежат надежному издателю) или менее (разрешив все макросы, независимо от того, что они могут делать). Лучше всего оставить стандартный выбор Отключать все макросы с уведомлением.

§ Раздел Панель сообщений(Message Bar) позволяет задать, нужно ли программе Access отображать панель сообщений, когда программа блокирует опасные макросы в ненадеж­ной БД.

§ Раздел Параметры конфиденциальности(Privacy Options) позволяет настроить не­сколько параметров, вообще не связанных с макросами. Можно задать необходимость проверки в Интернете обновлений файлов справки программы и отправки корпорации Microsoft информации о сбоях при обнаружении проблем (таким образом, Microsoft сможет найти ошибки и узнать, как улучшать программу Access в дальнейшем). Если вас беспокоят интернет-злоумышленники, можно отключить некоторые из этих средств. Чаще всего эти параметры необходимы лишь теоретикам конспирации.

Задание надежного расположения

Хорошо было бы иметь возможность различать ваши БД, содержащие абсолютно безопас­ный код, и все остальные? Для облегчения решения этой задачи в Access 2007 включено но­вое средство. Оно позволяет определить конкретную папку на вашем жестком диске как надежное расположение. Если открыть БД, хранящуюся в этой папке, Access автоматически будет доверять ей и разрешит опасные макросы.

Примечание

Конечно, вы должны гарантировать невозможность проникновения потенциально опасных БД в надежное расположение. Если вы пропустите их, то при открытии такой БД вы лишитесь вся­кой защиты. Но это требование вполне приемлемо, т. к. у приверженцев Access и так есть при­вычка помещать свои БД в отдельную папку.

Далее описаны действия, необходимые для создания нового надежного расположения.

1. Откройте окно Центр управления безопасностью(Trust Center).

Если вы его еще не открыли, следуйте указаниям, приведенным в предыдущем разделе.

2. Откройте раздел Надежные расположения(Trusted Locations).

Вы увидите окно, в котором перечислены все надежные расположения (рис. 15.12). Сна­чала в список включается одно расположение: папка ACCWIZ, которую программа Access использует для хранения своего мастера.

3. Убедитесь в том, что сброшен флажок Отключить все надежные расположения…

Если флажок установлен, сбросьте его, прежде чем добавлять новое надежное располо­жение.

4. Если вы хотите доверять папке в сети вашей компании или домашней сети, установите флажок Разрешить надежные расположения в моей сети.

Эта установка немного рискованна, поскольку сетевое расположение находится вне ва­шего контроля. Хакер может вставить зараженную вирусом БД в это расположение

незаметно для вас. Но если вы абсолютно уверены в безопасности сети (и другие пользова­тели, применяющие эту папку, не будут загружать БД из Интернета и помещать их в это расположение), можно не беспокоиться.

Центр управления безопасностью - student2.ru

Рис. 15.12.В данном примере добавлено новое надежное расположение для папки FunkyAccessFiles, находящейся на жестком диске в папке My Documents

Центр управления безопасностью - student2.ru

Рис. 15.13.Для настройки надежного расположения необходимо указать путь (щелкните мышью кнопку Обзор,чтобы найти нужную папку). Вы также можете решить, доверять ли вложенным папкам и вставить необязательное описание, которое выводится в списке надежных расположений

5. Щелкните мышью кнопку Добавить новое расположение(Add new location). Программа Access запросит некоторую дополнительную информацию (рис. 15.13).

6. Для включения нового расположения в список щелкните мышью кнопку ОК.

Расположение можно настраивать и удалять в любое время, выбрав его из списка и ис­пользуя не требующие дополнительных пояснений кнопки Удалитьи Изменить.

Три примера макросов

Вы уже создали базовый макрос, опробовали его и всерьез задумались о безопасности мак­росов. Пришло время получить вознаграждение за труды и рассмотреть несколько практи­ческих способов применения макросов.

Полный перечень макрокоманд содержит множество действий, которые не так уж инте­ресны или относятся только к проектам определенных типов (например, проекты Access, выходящие на БД SQL Server, которые будут рассматриваться в главе 18). В следующих разделах представлено несколько наиболее полезных макрокоманд. Вы можете проверить их на загружаемых из Интернета примерах к данной главе или испытать рецепты быстрого приготовления в своей собственной БД.

Поиск записи

Макрокоманда НайтиЗапись(FindRecord) работает аналогично средству Поискна листе данных, которое обсуждалось в разд. "Поиск" главы 3. Все необходимую для поиска инфор­мацию вы задаете в аргументах.

Скажем, вы хотите искать слово "hay" (сено) в поле Diet(пищевой рацион) таблицы AnimalTypes.Далее перечислены макрокоманды, которые вы можете использовать.

■ ОткрытьФорму(OpenForm) для открытия формы, отображающей найденную запись (в данном случае AnimalTypes).Эту команду можно заменить макрокомандой ОткрытьТаблицу(OpenTable) и выполнять поиск на листе данных.

■ К ЭлементуУправления(GoToControl) для перехода к полю, в котором будет выполняться поиск (в данном случае Description).Если вы хотите применить поиск во всех полях, этот пункт можно пропустить.

■ НайтиЗапись(FindRecord) для поиска текста. Вы решаете, начать поиск с первой или с текущей записи, как в данном примере. Можно также выбрать поиск текста в любом месте поля или потребовать, чтобы значение поля целиком совпадало со строкой поиска.

Когда вы соберете все команды вместе, получится нечто похожее на приведенные в табл. 15.1 строки.

Таблица 15.1. Макрос поиска записи

Макрокоманда Важные аргументы1 Описание
ОткрытьФорму Имя формы: AnimalTypes Открывает форму. Если она открыта, переключает в существующее окно

Центр управления безопасностью - student2.ru 1 Вы можете применять значения по умолчанию и во всех остальных аргументах.

Таблица 15.1 (окончание)

Макрокоманда Важные аргументы2 Описание
КЭлементу Управления Имя элемента: Diet Переходит к полю Diet
НайтиЗапись Образец поиска: ="hay" Совпадение: С любой частью поля Только в текущем поле: Да Первое вхождение: Нет Находит заданный текст в любой части поля Diet, начиная с текущей записи

Примечание

Вы могли заметить, что аргумент Образец поискамакрокоманды НайтиЗаписьначинается со знака равенства. Он принимает выражение. В данном примере выражение — не что иное, как текстовая константа, заключенная в кавычки. Но ее можно заменить более сложным выраже­нием, включающим операции, функции и другие сложные средства.

Изюминка этого макроса состоит в том, что его можно использовать несколько раз в строке для поиска нескольких вхождений текста. Если форма AnimalTypesуже открыта, этот макрос просто переходит к следующему найденному вхождению текста.

Подсказка

Для большей гибкости можно создать макрос, который использует только команду Найти Запись.В этом случае вы сможете искать заданный текст в любом поле и в любой форме или таблице. Конечно, если попытаться выполнять этот макрос без открытых форм или таблиц, команда НайтиЗаписьне сможет ничего сделать, и вы получите сообщение об ошибке.

Печать отчета

Вам нужен полезный макрос, автоматически выдающий часто используемый отчет? Про­грамма Access предоставляет несколько возможностей. Далее приведены две из них.

■ Если вы хотите использовать стандартные параметры печати, можно напечатать отчет с помощью макрокоманды ОткрытьОтчетс аргументом Режим,имеющим значение Печать.

■ Если вы хотите отрегулировать качество печати, задать число копий и номера начальной и конечной страниц, вам нужно применить трехшаговый подход. Начать с команды ОткрытьОтчет,применить команду Печать(PrintOut) для отправки отчета и закончить командой Закрыть(Close) для корректного выхода.

Подсказка

Не пытайтесь применять любой из этих методов с ненадежными БД — Access не разрешит вам их применить.

Приведенная в табл. 15.2 последовательность макрокоманд демонстрирует второй метод. Этот макрос, используя отчет CheapskateCustomers(прижимистые клиенты), печатает две

Центр управления безопасностью - student2.ru 2 Вы можете применять значения по умолчанию и во всех остальных аргументах.

копии списка так называемых клиентов, которые на самом деле еще не заказали ни одной вещи.

Таблица 15.2. Макрос печати отчета

Макрокоманда Важные аргументы 3 Описание
ОткрытьОтчет Имя отчета: CheapskateCustomers Открывает отчет (но как вы увидите, он появится через пару секунд)
Печать Число копий: 2 Можно использовать другие аргументы для печати только диапазона страниц или изменения качества. Но нельзя вы­брать принтер
Закрыть Тип объекта: Отчет Имя объекта: CheapskateCustomers Нет смысла оставлять отчет открытым после того, как он отправлен на печать

После того как программа Access выполнит макрокоманду Печать,страницы будут на­правлены на принтер, заданный по умолчанию на вашем компьютере. У вас нет возможно­сти подтвердить или отменить операцию. Забавы ради можно включить в данный макрос дополнительные шаги для того, чтобы напечатать несколько отчетов одновременно.

Подсказка

Есть еще одна возможность. Можно открыть таблицу или отчет с аргументом Режим,имею­щим значение Просмотр (Print Preview). В этом случае данные на самом деле не посылаются на принтер, но приближают на шаг к этой операции. Это лучший выбор, если вам нужно выбрать принтер, убедиться в корректности данных и проверить объем предназначенной для печати информации. Он также работает с ненадежными БД.

Наши рекомендации