Green-sell.info

Новые технологии
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Самоучитель vba access

Программирование на VBA в СУБД MS Access

VBA (Visual Basic for Application) играет важную роль при разработке баз данных MS Access. С помощью VBA в MS Access можно настроить формы и отчеты, запустить макросы, извлечь данные и т.д.

Модули VBA

VBA может использоваться для выполнения любых действий в ходе работы приложения. Для создания процедур VBA в MS Access используется Построитель программ. Программный код создается в Окне модуля. В зависимости от технологии создания можно различить несколько типов модулей:

1. Стандартный модуль. Для его открытия нужно распахнуть список Макрос, расположенный в группе Другие вкладки Создание ленты инструментов, и нажать кнопку Модуль.

2. Модуль формы или отчета. Для открытия модуля формы или отчета нужно открыть форму или отчет в режиме Конструктора и выбрать кнопку Просмотреть код в группе Сервис контекстного меню Инструменты конструктора форм/отчетов — Конструктор ленты инструментов. MS Access позволяет открыть одновременно и форму/отчет и ее модуль. Модули формы/отчета сохраняются одновременно с формой/отчетом и не перечисляются во вкладке Модули области переходов.

3. Независимый модуль класса. Открывается щелчком мыши по кнопке Модуль класса, появляющейся в распахивающемся списке кнопки Макрос, расположенной в группе Другие вкладки Создание ленты инструментов. После сохранения такого модуля его имя будет находиться на вкладке Модули области переходов вместе со стандартными модулями. Для обозначения стандартных модулей и независимых модулей VBA используются разные пиктограммы (рис. 10.8):

Элементы языка VBA

Коды программы VBA состоят из выражений (statements). В каждой строке кода располагается одно отдельное выражение. Но данное правило имеет исключения:

· несколько выражений могут быть расположены в одной строке и разделены двоеточием;

· использование символа продолжения строки (пробел, за которым следует символ подчеркивания) позволяет создавать выражение, занимающее несколько строк. Не допускается использовать символ продолжения строки только внутри заключенных в кавычки строк. Рекомендуется продолжение каждой строки выделять отступом.

Алфавит языка VBA составляют следующие элементы:

· прописные и строчные буквы латинского алфавита (А – Z);

· прописные и строчные буквы кириллицы (А – Я);

· цифры от 0 до 9;

· символ подчеркивания «_»;

При написании кода VBA следует знать некоторые соглашения, которых следует придерживаться, чтобы избежать ошибок выполнения кода. Первое соглашение – это соглашение по именам. В VBA именуются переменные, константы, процедуры, функции, объекты и т.д. Определим правила, которым следует следовать при выборе имен:

1. Длина имен не должна превышать 255 символов, но VBA учитывает только первые 31 символ от начала имени.

2. Имена должны начинаться с буквы и могут содержать комбинацию букв, цифр и символов.

3. Имена не должны совпадать со стандартными именами VBA.

4. Имена не должны включать точек, пробелов и следующих символов: ! @ # $ %. Символ пробела можно заменить символом подчеркивания _.

Регистр букв в именах не имеет значения. Например, имена PRICE, Price и price эквивалентны.

Типы данных языка VBA

В языке VBA типы данных делятся на простые (или базовые) и структурированные.

К простым типам относятся:

· вещественный (Single, Double, Currency, Decimal);

· логический (Boolean).

К стандартным структурированным типам относятся:

· массив;

· строка;

· тип, определяемый пользователем.

Таким образом,VBA использует 12 встроенных типов данных, представленных в таблице 10.1.

Программирование на VBA Access 2003 – Встроенные функции

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

Если говорить о том, что именно мы уже рассматривали в Access 2003 то, например это Загрузка данных из текстового файла на VBA Access или Выгрузка данных из Access в шаблон Word и Excel. А сегодня мы будем рассматривать именно основы VBA и как уже сказалось выше встроенные функции.

Встроенные функции VBA Access

Если Вы уже немного знакомы с какими-нибудь языками программирования, например, Вы, знаете основы JavaScript или основы Visual Basic, то Вы должны понимать что такое встроенные функции, а если нет то я могу привести свое определение данного термина.

Встроенные функции – это функции, которые уже встроены в среду программирования. Они уже написаны до Вас и созданы именно для того, чтобы облегчить Вам написание той или иной программы, другими словами в них заложены все часто используемые операции над теми или иными данными. Они условно подразделяются на несколько типов, например: математические, строковые, функции преобразования и другие. В разных языках их количество отличается и также отличается синтаксис, но иногда как название, так и синтаксис совпадает даже в разных языках программирования, так как я уже сказал, что эти функции выполняют за Вас определенную узкую задачу, например, преобразование одного типа данных в другой, а как Вы понимаете такие задачи встречаются во всех языках программирования.

И так хватит теории, давайте приступим к рассмотрению встроенных функций VBA Access.

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

Функция msgbox – простая функция для отображения сообщения на экране в виде диалогового окна.

И теперь сохраните, откройте форму и нажмите на нашу кнопку и у Вас отобразится это сообщение:

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

Примечание! Далее я буду писать все примеры без указания начала процедуры и ее конца т.е. без Private Sub Кнопка1_Click() и End Sub, подразумевается что все примеры мы будем писать в обработчике одной кнопки, Вы просто вставляйте код ниже между этим строками.

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

Функция Mid – данная функция относится к строковым функциям Access и она вырезает указанное число знаков строки. Имеет три параметра, первый это собственно сама строка, второй это начальная позиция, и третий это число символов.

Здесь мы просто указали строку, из которой необходимо вырезать, и с какого символа нужно начинать, третий параметр мы не указывали (поэтому вырезалось все, начиная с 7 символа), а если захотели, то код был бы таким (абсолютно равнозначный):

Функция Len – также относится к строковым функциям и она просто считает количество символов в строке. Давайте объединим предыдущий пример с функцией len, так как порой неизвестно (да и не удобно) сколько символов необходимо вырезать.

И результат будет таким же, как и предыдущем примере.

Функция LCase – строковая функция vba которая преобразует все буквы строки в строчные. Для закрепления давайте рассмотрим все на том же примере, только сейчас обрамим наше выражение еще и функцией LCase.

И результат будет таким же, как и раньше, но все заглавные буквы станут строчными, в нашем случае это первая буква «Н», результат:

Читать еще:  Скачать офис 365 бесплатно активированный

Функции left и right – это строковые функции vba, которые вырезают указанное количеств символов слева и справа соответственно. Принцип такой же, как и, например, в Excel функциях левсимв и правсимв.

Функция right работает аналогично, только вырезает символы справа.

Функции date, time, now – это функции, с помощью которых можно получить текущую дату и время. По названию я думаю понятно, какая функция для чего нужна, если нет то date текущая дата, time текущее время, now текущая дата и время. Данные функции запускаются без параметров.

Здесь мы просто через конкатенацию вывели результаты выполнения сразу всех функций.

Функции hour, minute, second – эти функции возвращают соответственно часы, минуты и секунды. Принимают один параметр это текущее время.

Функция isnull – проверяет значение на NULL.

Программно задать значение NULL, для того чтобы данная функция вернула TRUE нельзя, поэтому применяйте эту функцию к переменным или полям, которые формируются на основе данных формы или источника данных.

Функция Nz — данная функция возвращает значение не NULL. Принимает один обязательный параметр с типом variant и один не обязательный. Она работает следующим образом, если входящий параметр NULL она преобразует его в другое значение, для предотвращения использования NULL значений в выражении. Также если указан второй параметр, то в случае если первый параметр NULL то она вернет его, т.е. второй параметр.

Пример предотвращения NULL значения в выражении:

Т.е. если бы мы не использовали данную функцию, то тогда у нас была ошибка, так как сложить число со значением NULL нельзя, но мы это предвидели и предотвратили.

Пример возвращения значения, если входящий параметр равен NULL:

Здесь просто мы смотрим если первый параметр NULL, то возвращаем второй в виде строки.

Приведу несколько функций для работы с числами.

Функции Int, Fix, Abs – функции которые работают с числами, все они принимают один параметр и делают следующее:

  • Int – принимает значение типа Double и возвращает число меньшее или равное исходному числу, в случае если число отрицательное;
  • Fix — принимает значение типа Double и возвращает число большее или равное исходному числу, в случае если число отрицательное;
  • Abs – возвращает абсолютное значение числа переданное во входящем параметре.

Примечание! Для перевода на новую строку мы использовали константу vbNewLine.

Пока это все, надеюсь, данные простые примеры помогут Вам освоить и понять что такое встроенные функции, а мы с Вами продолжим изучать VBA Access в следующих статьях. Удачи!

Прочитайте онлайн Access 2002: Самоучитель | Основные положения VBA

Основные положения VBA

Начнем эту главу с краткого обзора основных положений VBA.

Вначале рассмотрим наиболее важные термины VBA (см. табл. 12.1).

Объектно-ориентированный язык VBA базируется на трех основных компонентах: объектах, событиях и методах.

Объекты, как уже неоднократно говорилось, представляют собой элементы, входящие в состав приложений: таблицы, формы и их элементы управления, отчеты, запросы и т. д. События подробно рассматривались в предыдущей главе.

Последним компонентом являются методы. Для каждого объекта определен набор методов, которые могут быть к нему применены. Метод представляет собой действие, например Перейти на запись, Применить фильтр, Открыть форму. Такие действия указываются в установках свойств события объекта. Если пользователь не определил свойство события для объекта (не связал его с каким-либо действием), то объект отвечает на событие действием, заданным для его типа по умолчанию. Например, если текстовое окно получает фокус и не определено свойство события Получение фокуса, то встроенный метод может изменить цвет этого окна. Если вы установили свойство события объекта для макроса или процедуры обработки события, то Access сначала обрабатывает встроенный режим, а затем выполняет заданный вами макрос или процедуру. Например, вы щелкаете по командной кнопке, которая активизирует вторую страницу формы. Отображается щелчок по кнопке – кнопка на экране на мгновение «утапливается» (поведение по умолчанию), затем выполняется переход к следующей странице формы.

Программа VBA создается, редактируется и отображается в окне модуля. Такое окно для класса, связанного с формой или отчетом, можно открыть либо из окна базы данных, когда объект закрыт, либо из окна объекта в режиме конструктора. Чтобы открыть окно модуля, надо выполнить одно из перечисленных действий:

1. В окне базы данных выберите имя формы или отчета на соответствующих вкладках Формы или Отчеты.

2. Выберите позицию Программа в меню Вид или щелкните по кнопке

(Программа) на панели инструментов.

На экране появится окно модуля VBA (рис. 12.1), разделенное на две области.

Левая область – окно свойств. В верхнем поле этой области показано, свойства какого элемента программы здесь представлены. Если вы выходили в окно модуля непосредственно из окна базы данных, то будут представлены свойства формы или отчета в целом. Если вы попали в окно модуля из конструктора форм или отчетов, будут представлены свойства того элемента управления, который был активизирован перед переходом в окно модуля. Щелкнув по стрелке прокрутки справа от этого поля, вы легко можете перейти в любой элемент управления, и в левой области появятся его свойства. Свойства могут быть отсортированы в алфавитном порядке – вкладка Алфавитный – или разбиты по разделам – вкладка Категории: Данные, Событие, Другие. С таким способом отображения информации вы уже встречались при работе с конструкторами (см., например, рис. 10.2). Разделы, содержащие свойства, могут сворачиваться или раскрываться с помощью значков плюса (+) и минуса (-), расположенных слева от названия раздела.

Кроме того, в левой области вы можете соотнести какое-либо свойство с макросом или процедурой обработки событий. Но поскольку здесь отсутствует полоса прокрутки и нельзя использовать списки, имена макросов и процедур надо вносить с клавиатуры, что неудобно.

В окне правой области отображается полный текст программы, связанной как с активным элементом управления, так и выбранным свойством. Конкретное значение этой пары задается в верхних полях области – в левом верхнем поле вы можете указать элемент управления, в правом – свойство. Тогда в нижнем окне правой области появится текст процедуры, определенной данным сочетанием. Если такая программа отсутствует, то отображаются две строки – открывающая процедуру Private Sub с аргументами и закрывающая End Sub.

Для перемещения между процедурами модуля используются также сочетания клавиш Ctrl+PgUp (для перехода к следующей процедуре), Ctrl+PgDn (для перехода к предыдущей процедуре).

В окне модуля предусмотрена удобная возможность быстрого перехода к другому модулю класса, то есть к процедурам, относящимся к другой форме или отчету. Щелкните по кнопке Project Explorer

на панели инструментов. Окно модуля изменится (см. рис. 12.2) – в левой области появится новое окно Project и три кнопки. Правая, нажатая по умолчанию, выводит перечень объектов базы данных: форм, отчетов, модулей класса.

Выберите здесь, например, форму Страны. Если теперь щелкнуть по средней кнопке, то в основном окне правой области появится эта форма в режиме конструктора (на рисунке не показано). Щелчок по левой кнопке выведет на экран модуль класса, относящийся к форме Страны, что показано на рис. 12.2. Эта возможность очень полезна при написании и отладке программ, когда бывает необходимо просмотреть текст похожей процедуры, созданной для другого объекта базы данных.

Модули могут содержать описания, процедуры обработки событий, процедуры Sub (субпроцедуры) и функции.

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

Читать еще:  Служба поддержки майкрософт офис

Прежде чем обсуждать реальные примеры программирования на основе VBA рассмотрим вкратце его основные элементы:

• процедуры VBA и их элементы;

• инструменты, управляющие выполнением программы.

Переменные

Переменные – это именованные области памяти, которые используются для временного хранения результатов. Переменные сходны с полями, но свойственны только VBA Наборы записей, например таблицы, их не содержат. Перед включением в процедуру переменные должны быть описаны или объявлены. Описание переменной состоит в присвоении ей имени и, возможно, типа – символьная, логическая и др. Область действия переменной может быть ограничена одной процедурой, в которой она была описана, определенным модулем с несколькими процедурами или приложением в целом. Значение переменная получает при описании. Если это значение не указано явно, то устанавливается заданное по умолчанию.

Возможны два способа описания переменной: неявный и явный. Для неявного определения переменной достаточно использовать имя переменной в процедуре, не задавая его специально. Явное описание переменной означает присвоение ее имени и определение ее типа до первого оператора в программе. Чаще всего переменные описываются с помощью инструкции Dim.

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

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

Область действия символьной константы определена местом ее описания. Если константа объявлена в процедуре, она будет доступна внутри этой процедуры; если в модуле, то, соответственно, доступ к ней разрешен во всем модуле. Константы, описанные в модуле, считаются личными (Private). Исключением из данного правила являются константы, специально объявленные как общие (Public). В этом случае они доступны для любого модуля во всем приложении. Как правило, рекомендуется для всех определяемых пользователем констант указывать тип Private, чтобы не возникало возможных недоразумений, если в другом модуле встретится константа с таким же именем. Кроме того, следует явно описывать тип Private в модуле. Рекомендуется также имя символьной константы начинать с con, например conKoeff, чтобы указать, что речь идет о константе, причем символьной.

Внутренние константы всегда доступны пользователю. Они поставляются вместе с Access 2002. Но кроме них можно использовать и другие, например из библиотеки VBA. Все константы (и не только константы) доступны в диалоговом окне Просмотр объектов, которое будет рассмотрено ниже. Имена внутренних констант имеют приставку из двух букв, указывающую на их принадлежность к той или иной библиотеке. Так, константы Access 2002 начинаются с букв ac (например, acColorIndexBlue – константа, устанавливающая голубой цвет), константы из библиотеки VBA – с букв vb (например, vbNullString, устанавливающая нулевую строку).

Аргументы Аргументы – это биты информации, которые используются процедурой или методом в ходе выполнения. Они могут быть обязательными или необязательными. Чтобы передать аргументы процедуре, надо указать их в определении процедуры сразу после ее имени. Например, процедура Haзвaниe_фиpмы_KeyUp требует указания двух аргументов KeyCode и Shift, которые описываются как одно целое:

Private Sub Название_фирмы_KeyUp(KeyCode As Integer, Shift As Integer)

Для того чтобы выполнить созданную процедуру, надо ее вызвать. При этом аргументы можно задавать как по позиции, так и по имени. В первом случае значения аргументов располагаются в том же порядке, что и в определении процедуры, и разделяются запятыми. Это будет выглядеть следующим образом:

Call Название_фирмы_KeyUp (15,10)

При задании аргументов по имени их порядок можно не соблюдать, так как определяется каждый аргумент. После имени аргумента следует двоеточие (:) и знак равенства (=). Аргументы при этом разделены запятыми. Приведем пример такого задания:

Название_фирмы_KeyUp: Arg2:=10, Arg1:=15

С помощью описателей ByVal и ByRef (см. табл. 12.3) можно осуществить передачу переменных в процедуру или функцию в качестве параметров либо по ссылке, либо по значению. Если переменная передается по ссылке, то процедуре или функции будет передан адрес этой переменной в памяти. Тем самым вызываемая процедура может изменить значение фактического параметра, если она произведет какие-либо действия над параметром. Если же фактический параметр передается по значению, то процедура или функция получают в качестве аргумента только фиксированное значение этого параметра, но не саму переменную, используемую для его изменения.

Способ передачи параметров процедуре или функции определяется при описании ее аргументов. Описатель ByVal задает передачу по значению, а ByRef – по ссылке. Если явное указание способа передачи параметра отсутствует, то по умолчанию подразумевается передача по ссылке.

Поясним сказанное на примере. Допустим, имеются следующие описания двух процедур:

Создание приложений на языке VBA для MS Access

Небольшую и несложную базу данных или приложение Access можно создать в СУБД Access без использования языков программирования SQL и Visual Basic. В СУБД Access имеется достаточно средств (различных мастеров и конструкторов) для визуального проектирования таблиц, запросов, форм и отчетов.

Для решения некоторых задач автоматизации приложений Access можно использовать макросы вместо языка программирования Visual Basic (например, при создании главной и подчиненной кнопочной формы). Но создание коммерческих баз данных в СУБД Access невозможно без применения визуального языка программирования Visual Basic и языка запросов SQL.

Для автоматизации действий над объектами в Microsoft Access и в других приложениях Microsoft Office применяются макросы и модули. Макросы — это небольшие программы на языке макрокоманд (языке сценариев). Модули — это наборы описаний и процедур на языке программирования VBА, т.е. модули — это объекты, содержащие программы на языке Visual Basic.

Основное назначение макросов и модулей — это создание удобного интерфейса приложения, в котором формы и отчеты открывались бы при нажатии кнопок в этих формах или на панелях инструментов. Модули являются более мощным средством создания программных расширений в среде Microsoft Office. Применение модулей требует от пользователей знаний основных принципов объектно-ориентированного программирования.

Попробуй обратиться за помощью к преподавателям

Программирование на VBA в СУБД Access используют в основном разработчики (программисты) в процессе создания приложений (различных баз данных), с которыми работают пользователи.

Для программирования в Access используется не приложение Visual Basic, а встроенная в Microsoft Office система программирования Visual Basic for Applications (VBA). Система программирования VBA является неотъемлемой частью приложений Microsoft Office и предназначена для визуального программирования в таких приложениях как Word, Excel, PowerPoint, Access и т.д. В VBA языком программирования является Visual Basic (VB), а инструментальная среда программирования реализована в виде редактора VB, который может активизироваться из любого приложения MS Office. Редактор Visual Basic является отдельным приложением, поэтому можно переключаться между приложениями Microsoft Office и редактором Visual Basic клавишами $Alt+F11$.

Модули

Система программирования VBA предназначена для написания кода программ модулей, которые хранят текст этих программ.

Задай вопрос специалистам и получи
ответ уже через 15 минут!

Читать еще:  Как активировать пакет офис 2020 бесплатно

Модуль — это совокупность описаний, инструкций и процедур, сохраненных под общим именем. В Access существует два типа модулей: стандартные модули и модули класса. Основное содержание модулей — это процедуры на языке VBA.

Процедура — совокупность описаний и инструкций в модуле, которые выполняются как одна программная единица. В VBA существуют процедуры-подпрограммы Sub и процедуры- функции Function.

Стандартные модули содержат общие процедуры, которые не связаны с конкретным объектом (формой, отчетом). Стандартный модуль — это модуль, в который помещают процедуры Sub и Function, которые должны быть доступны для всех процедур в данном приложении. Стандартные модули могут использоваться другими приложениями Access, так как в общих процедурах нет ссылок на конкретные объекты данного приложения (формы, отчеты). Кроме общих процедур, в стандартных модулях могут содержаться глобальные переменные и функции, а также объекты, которые доступные из других объектов базы данных.

Модуль класса отличается от стандартного модуля тем, что, кроме процедур, он содержит описание объекта и используется для создания классов (объектов). Отдельные модули класса, расположенные на вкладке Модули окна базы данных, содержат описание класса (объекта), созданного пользователем. К модулям класса также относятся модули объектов (форм, отчетов), которые связаны с конкретными формами или отчетами и содержат процедуры обработки событий форм (отчетов) и их элементов управления.

Модуль объекта (формы, отчета) — это модуль класса, содержащий программы всех процедур обработки событий, возникающих в конкретном объекте (форме, отчете) или в его элементах управления.

Все процедуры событий для формы или отчета хранятся в модуле объекта (форме или отчете). Вновь созданная форма (отчет) не содержит модулей, но их можно создать несколькими способами. Таким образом, формы или отчеты связаны с созданными модулями объектов (форм, отчетов). Если процедура используется только формой или отчетом, то она хранится в коде формы или отчета. Если процедура используется во многих формах и отчетах, то она сохраняется в отдельном модуле.

Первый способ создания пустого модуля: выбрать Да в поле наличия модуля на вкладке Все в окне диалога Форма или Отчет (рис.1). Окно диалога вызывается командой Свойства из контекстного меню, находясь в конструкторе форм или отчетов.

Другой способ создания модуля выполняется кнопкой Программа на панели инструментов в режиме конструктора форм или отчетов. Если щелкнуть мышью на кнопке Программа, то запуститься редактор VB, в котором мы можем вводить текст программы соответствующего модуля (рис.2).

Третий способ осуществляется путем обработки некоторых событий связанных с формой или каким-либо элементом управления формы, находясь в режиме Конструктора форм или отчетов. Для этого необходимо открыть окно редактора Visual Basic, щелкнув на команду Программы в Построителе (рис.3). Построитель вызывается командой Обработка событий из контекстного меню объекта, например кнопки.

Для просмотра модулей класса, которые связаны с конкретными формами или отчетами и содержатся в модулях объектов, нужно выделить форму или отчет в окне базы данных на вкладке формы или отчеты и щелкнуть на пиктограмме Программа на панели инструментов в главном окне Microsoft Access. Чтобы создать отдельный модуль класса или стандартный модуль, нужно выбрать пункт Модуль класса или Модуль в меню Вставка. Стандартный модуль можно создать, например, путем преобразования макроса. Модули отображаются в окне базы данных на вкладке Модули. Для просмотра процедуры в стандартном модуле или в модуле класса нужно выделить требуемый модуль в окне базы данных на вкладке Модули и щелкнуть на пиктограмме Программа на панели инструментов в главном окне Microsoft Access или щелкнуть на кнопке Конструктор в окне базы данных. Откроется редактор Visual Basic, на панели редактора кода которого отображаются процедуры.

Объекты и события

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

Существует две группы действий на события:

  1. Действия первой группы определены свойствами объекта, и их изменить в процессе программирования на VBA нельзя. Эти свойства устанавливаются ОС Windows и системой программирования VBA. Примером может быть свертывание окна при щелчке на кнопке Свернуть.
  2. Вторая группа действий (отклика) на события определяется программистом. Для этой группы действий программист может создать процедуры VBA для каждого возможного события, но на практике программист заполняет кодом процедуры только для тех событий, которые требуются для данного приложения Access.

Так и не нашли ответ
на свой вопрос?

Просто напиши с чем тебе
нужна помощь

VBA-Урок 1. Что такое VBA. Основные понятия.

В данном разделе мы рассмотрим что такое VBA, посколько именно на нем и пишутся макросы.

Что такое VBA?

VBA — язык (расшифровывается как Visual Basic for Application) был разработан компанией Microsoft. Данный язык не является самостоятельным, а предназначен для автоматизации процессов в пакете MS Office. VBA широко используется в Excel, а также в Access, Word и других программах пакета.

VBA — простой язык программирования, которому может научиться любой желающий. Изучив его, вы сможет предоставлять команды Excel, что делать с колонками, строками, значениями в ячейках, перемещать/добавлять/сортировать листы, выводить заранее запрограммированные сообщения, писать свои формулы и функции и т.д. Суть языка заключается в оперировании объектами (что относит его к объектно-ориентированному программированию).

Чтобы работать с VBA кодом, нам нужен редактор, который уже установлен по умолчанию. Вы можете открыть его, нажав комбинацию клавиш » ALT + F11 «.

Объекты (Objects)

Давайте разберем, что же такое объект. Объект — это элемент, структурная частица Excel, а именно: книга, лист, диапазон, ячейка. Данные объекты имеют иерархию, т.е. подчиняются друг другу. Схематично структуру иерархии Excel можно изобразить следующим образом:

Главный объект это Application, что соответствует самой программе Excel. Далее следует Workbooks (книга), Worksheets (лист), Range (диапазон, или отдельная ячейка). Например, чтобы обратиться к ячейке «A1» на листе нам нужно будет прописать следующий путь с учетом иерархии:

Application.Workbooks(«Архив»).Worksheets(«Аркуш1»).Range(«A1»).

Таким образом, мы научились обращаться до наименьшего объекта в Excel — ячейки.

Коллекции (Collections)

В свою очередь объекты имеют «коллекции». Коллекция — это группа объектов одинакового класса. Отдельные элеметы коллекции являются также объектами. Так, объекты Worksheets являются элементами коллекции объекта Worksheet, который содержит также и другие коллекции и объекты:

  • ChartObjects (элемент коллекции объекта ChartObject)
  • Range
  • PageSetup
  • PivotTables (элемент коллекции объекта PivotTable).

Свойства (Properties)

Каждый объект имеет свойства . Например, объект Range имеет свойство Value или Formula.

Worksheets(“Sheet1”).Range(“A1”).Value або Worksheets(“Sheet1”).Range(“A1”).Formula

В данном примере, свойство отображает значение, которое введено в ячейку или введенную формулу.

Также, через свойство Formula можно не только получить формулу, но и записать ее:

MsgBox Range(“A1”).Formula — получим сообщение с формулой в ячейке «А1«;

Range(“B12”).Formula = “=2+6*100” — вписываем формулу =2+6*100 в ячейку B12.

Методи (Methods)

Теперь давайте рассмотрим, каким образом мы можем управлять содержимым диапазона или ячейки. Для этого в VBA существуют, так-называемые методы (команды «что сделать»). При написании кода методы отделяются от объекта точкой, например:

Range(«A1»).Select или Cells(1, 1).Select

Данный метод указывает выбрать (Select) ячейку «A1».
Далее, давайте, удалим значение в данной ячейке. Для этого напишем следующий код:

Selection.ClearContents

Здесь программа «берет» то, что мы выделили (Selection) и удаляет его содержимое (ClearContents ).

Ссылка на основную публикацию
Adblock
detector