Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Глава 1. VBAи макросы



Большинство книг о Access и более продвинутому его использованию, содержит много материалов об использовании VBA. Однако в Access 2010есть прекрасная альтернатива использованию кода VBA - макросы. Как и VBA, макросAccess позволяет разработчику, а в конечном счёте и пользователю, выполнять множество операций в ответ на некоторое событие, такие как щелчок кнопки или загрузка формы или отчёта.

Если Вы уже познакомились с возможностями программирования в Wordили Excel, Вы знаете, что можно создать макрос, запуская макро-устройство записи (макро-рекордер). После остановки макро-устройства записи, все операции, которые Вы выполнили - от щелчков мышью до нажатия клавиш клавиатуры по выбору пункта меню - записываются и сохраняются в коде VBA. Сформированный код (которому присвоено, по умолчанию, имя Макрос, либо любое иное по выбору разработчика) можно, выполнить в более позднее время, выбирая его из диалогового окна Макросов или в ответ на команду Ленты Меню или нажатия, т.н. горячих клавиш, назначенных этому коду. После записи макроса, код VBA, на основе которого образован макрос, можно изучить при помощи Редактора VBA. Это - один из самых лёгких способов изучить код VBA в пределах Word или Excel.

Например, если Вы хотите узнать, как при помощи кода VBAвставить три строки текста в конце Вашего документа Word, нужно только создать новый документ Word, запустить запись макроса (меню Вид->Макросы), и ввести свои три строки текста. По завершении ввода текста и остановки записи макроса, код VBA, выглядит следующим образом (см. Рис. 1, стр. 10).

Для понимания, что же записано в коде VBA, необходимо знать некоторые ключевые слова, понимать их смысл и назначение, что бы позднее уже самостоятельно попытаться записать более сложный код непосредственно в Редакторе VBA. TypeText, например, является методом объекта Selection, который позволяет вводить собственный текст в документ. TypeParagraph вставляет возврат каретки в документ. И это только два из многих методов, которые можно использовать с объектом Selection. Application.Keyboard (1049) – переключение клавиатуры с английских букв на русские, (1033) – обратная процедура.

>
Sub Макрос1() ' ' Макрос1 Макрос ' Application.Keyboard (1049) Selection.TypeText Text:="Саакян Игорь" Selection.TypeParagraph Selection.TypeText Text:="Ввод строк текста" Selection.TypeParagraph Application.Keyboard (1033) Selection.TypeText Text:="Microsoft Corporation" End Sub

Рис. 1. Пример кода VBA в Word

Хотя Wordи Excelобеспечивают возможность записи макроса, Access этого не делает. Для записи кода VBAв Access, Вы должны непосредственно сделать это, войдя в Редактор кода (Создать->Visual Basic).

Рис. 2. Лента Меню Access 2010

Принятие решения об использовании макросов, кода VBAили и того, и другого зависит в первую очередь от того, как планируется развёртывать или распространять базу данных. Например, если база данных хранится на компьютере, пользователь будет единственным и использование кода VBA не представляет сложности, можно выполнить большинство задач программирования с помощью VBA. Если же планируется разместить базу данных на сервере и совместно использовать её с другими пользователями, возможно, лучше будет отказаться от применения VBA из соображений безопасности. Если планируется опубликовать базу данных в качестве веб-приложения Access, для выполнения задач программирования необходимо использовать макросы вместо кода VBA, так как код VBA несовместим с функцией веб-публикации.

Веб-приложения Access. Веб-приложения Access — это новая технология в Access 2010, с помощью которой можно опубликовать приложение на сервере Microsoft SharePoint Server, на котором выполняются службы Access. Это позволяет другим пользователям использовать базу данных с помощью стандартного веб-браузера, не устанавливая приложение Access на компьютере. Однако код VBAнесовместим с функцией веб-публикации, поэтому если планируется опубликовать приложение как веб-приложение Access, для выполнения задач программирования необходимо использовать только макросы.

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

Клиентские приложения. Если не планируется публиковать приложение на сервере служб Access, решение об использовании макросов или кода VBAследует принимать на основе требований к безопасности и функциональности приложения. Проблемы с безопасностью могут возникнуть потому, что на VBA можно написать код, ставящий под угрозу безопасность данных или повредить файлы на компьютере. При использовании базы данных, созданной кем-то другим, следует разрешать выполнение кода VBA только в том случае, если база данных получена из надёжного источника. При создании базы данных, которая будет использоваться другими пользователями, следует по возможности избегать применения средств программирования, требующих от пользователя выражать доверие базе данных. Общие рекомендации, помогающие добиться этого, приведены ниже в этом разделе.

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

Прежде, чем перейти к более детализированному изучению использования макросов в Access 2010, давайте рассмотрим все аспекты за и/или против использования VBAили макросов.





Дата публикования: 2014-11-02; Прочитано: 979 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...