Пришло время поговорить и о программировании на VBA Access, так как мы с Вами рассматривали уже достаточно много примеров реализации тех или иных задач в Access 2003, но мы не затрагивали основы VBA, и сегодня мы начнем со встроенных функций. Рассмотрим часто используемые функции и конечно разберем примеры их использования, для лучшего освоения языка программирования VBA для Access.
Если говорить о том, что именно мы уже рассматривали в Access 2003 то, например это Загрузка данных из текстового файла на VBA Access или Выгрузка данных из Access в шаблон Word и Excel. А сегодня мы будем рассматривать именно основы VBA и как уже сказалось выше встроенные функции.
Встроенные функции VBA Access
Если Вы уже немного знакомы с какими-нибудь языками программирования, например, Вы, знаете основы JavaScript или основы Visual Basic, то Вы должны понимать что такое встроенные функции, а если нет то я могу привести свое определение данного термина.
Встроенные функции – это функции, которые уже встроены в среду программирования. Они уже написаны до Вас и созданы именно для того, чтобы облегчить Вам написание той или иной программы, другими словами в них заложены все часто используемые операции над теми или иными данными. Они условно подразделяются на несколько типов, например: математические, строковые, функции преобразования и другие. В разных языках их количество отличается и также отличается синтаксис, но иногда как название, так и синтаксис совпадает даже в разных языках программирования, так как я уже сказал, что эти функции выполняют за Вас определенную узкую задачу, например, преобразование одного типа данных в другой, а как Вы понимаете такие задачи встречаются во всех языках программирования.
Introduction to Programming in Visual Basic for Applications (VBA) in Microsoft Access (Access VBA)
И так хватит теории, давайте приступим к рассмотрению встроенных функций VBA Access.
Для начала создадим форму, добавим на нее элемент управления «Кнопка» затем откроем, обработчик события «Нажатие кнопки», где мы и будем программировать на VBA, а конкретней пробовать использование встроенных функции.
Функция msgbox – простая функция для отображения сообщения на экране в виде диалогового окна.
Private Sub Кнопка1_Click() MsgBox «Привет!» End Sub
И теперь сохраните, откройте форму и нажмите на нашу кнопку и у Вас отобразится это сообщение:
У данной функции один обязательный параметр и несколько необязательных. Как Вы понимаете обязательный параметр это строковое выражение для вывода сообщения, с помощью необязательных параметров вы можете задавать вид отображения этого диалогового окна, заголовок или указать файл справки. Пример чуть посложней:
An Introduction to VBA Code in Microsoft Access
Примечание! Далее я буду писать все примеры без указания начала процедуры и ее конца т.е. без Private Sub Кнопка1_Click() и End Sub, подразумевается что все примеры мы будем писать в обработчике одной кнопки, Вы просто вставляйте код ниже между этим строками.
Dim otvet As Variant otvet = MsgBox(«Вопрос?», vbYesNo, «Тестовый пример») If otvet = vbYes Then MsgBox «Вы нажали Да», vbOKOnly, «Результат» Else MsgBox «Вы нажали Нет», vbOKOnly, «Результат» End If
Примечание! Более подробно об описании и значениях констант можете прочитать во встроенной автономной справке Access 2003. Тоже относится и к остальным встроенным функциям и любым другим возникающим вопросам, так как в этой справке есть все, всем советую ей пользоваться.
Функция Mid – данная функция относится к строковым функциям Access и она вырезает указанное число знаков строки. Имеет три параметра, первый это собственно сама строка, второй это начальная позиция, и третий это число символов.
Dim str As String str = «12345 Нужная строка» MsgBox Mid(str, 7)
Здесь мы просто указали строку, из которой необходимо вырезать, и с какого символа нужно начинать, третий параметр мы не указывали (поэтому вырезалось все, начиная с 7 символа), а если захотели, то код был бы таким (абсолютно равнозначный):
Dim str As String str = «12345 Нужная строка» MsgBox Mid(str, 7, 13)
Функция Len – также относится к строковым функциям и она просто считает количество символов в строке. Давайте объединим предыдущий пример с функцией len, так как порой неизвестно (да и не удобно) сколько символов необходимо вырезать.
Dim str As String str = «12345 Нужная строка» MsgBox Mid(str, 7, Len(str) — 6)
И результат будет таким же, как и предыдущем примере.
Функция LCase – строковая функция vba которая преобразует все буквы строки в строчные. Для закрепления давайте рассмотрим все на том же примере, только сейчас обрамим наше выражение еще и функцией LCase.
Dim str As String str = «12345 Нужная строка» MsgBox LCase(Mid(str, 7, Len(str) — 6))
И результат будет таким же, как и раньше, но все заглавные буквы станут строчными, в нашем случае это первая буква «Н», результат:
Функции left и right – это строковые функции vba, которые вырезают указанное количеств символов слева и справа соответственно. Принцип такой же, как и, например, в Excel функциях левсимв и правсимв.
Dim str As String str = «12345 Нужная строка» MsgBox Left(str, 5)
Функция right работает аналогично, только вырезает символы справа.
Функции date, time, now – это функции, с помощью которых можно получить текущую дату и время. По названию я думаю понятно, какая функция для чего нужна, если нет то date текущая дата, time текущее время, now текущая дата и время. Данные функции запускаются без параметров.
Пример: Dim str As String str = «Дата » «, Время » «, Сразу все » «:» «:» Привет!» If IsNull(str) = False Then MsgBox «Значение не NULL» Else MsgBox «Значение NULL» End If
Программно задать значение NULL, для того чтобы данная функция вернула TRUE нельзя, поэтому применяйте эту функцию к переменным или полям, которые формируются на основе данных формы или источника данных.
Функция Nz — данная функция возвращает значение не NULL. Принимает один обязательный параметр с типом variant и один не обязательный. Она работает следующим образом, если входящий параметр NULL она преобразует его в другое значение, для предотвращения использования NULL значений в выражении. Также если указан второй параметр, то в случае если первый параметр NULL то она вернет его, т.е. второй параметр.
Пример предотвращения NULL значения в выражении:
Dim var1 As Variant Dim rezult As String var1 = Null ‘rezult = var1 + 5 rezult = Nz(var1) + 5 MsgBox result
Т.е. если бы мы не использовали данную функцию, то тогда у нас была ошибка, так как сложить число со значением NULL нельзя, но мы это предвидели и предотвратили.
Пример возвращения значения, если входящий параметр равен NULL:
Dim str As String Dim var As Variant var = Null str = Nz(var, «Первый параметр NULL») MsgBox str
Здесь просто мы смотрим если первый параметр NULL, то возвращаем второй в виде строки.
Приведу несколько функций для работы с числами.
Функции Int, Fix, Abs – функции которые работают с числами, все они принимают один параметр и делают следующее:
- Int – принимает значение типа Double и возвращает число меньшее или равное исходному числу, в случае если число отрицательное;
- Fix — принимает значение типа Double и возвращает число большее или равное исходному числу, в случае если число отрицательное;
- Abs – возвращает абсолютное значение числа переданное во входящем параметре.
Dim var1 As Double var1 = -3.4 MsgBox «Исходные данные: » vbNewLine Работа INT: » _ vbNewLine Работа FIX: » vbNewLine Работа ABS: » https://info-comp.ru/programmirovanie/341-built-in-functions-vba-access.html» target=»_blank»]info-comp.ru[/mask_link]
Примеры кода ADOX на Microsoft Visual Basic
В этих разделах приведены примеры кода, помогающие понять, как использовать ADOX. Все примеры кода написаны с помощью Майкрософт Visual Basic.
Вставьте весь пример кода от Sub до End Sub в редактор кода. Пример может работать неправильно, если вы используете частичные примеры или если форматирование абзаца потеряно.
Методы
- Методы Append столбцов и таблиц, пример свойства Name (VB)
- Метод Close подключения, пример свойства Type таблицы (VB)
- Пример использования метода Create (VB)
- Пример использования методов GetObjectOwner и SetObjectOwner (VB)
- Пример использования методов GetPermissions и SetPermissions (VB)
- Пример использования методов Append и ChangePassword для групп и пользователей (VB)
- Пример использования метода Append для коллекции Indexes (VB)
- Пример свойств Key Append, Key Type, RelatedColumn, RelatedTable и UpdateRule (VB)
- Пример использования метода Append для коллекции Procedures (VB)
- Пример использования метода Delete для коллекции Procedures (VB)
- Пример использования метода Refresh для коллекции Procedures (VB)
- Пример использования метода Append для коллекции Views (VB)
- Пример использования метода Delete для коллекции Views (VB)
- Пример использования метода Refresh для коллекции Views (VB)
Свойства
- Пример использования свойства Attributes (VB)
- Пример использования свойства ActiveConnection объекта Catalog (VB)
- Пример использования свойства Clustered (VB)
- Пример использования свойств Command и CommandText (VB)
- Свойство Command, пример коллекции Parameters (VB)
- Свойство CommandText, пример коллекции Views (VB)
- Пример использования свойств DateCreated и DateModified (VB)
- Пример использования свойства DefinedSize (VB)
- Пример использования свойства DeleteRule (VB)
- Пример использования свойства IndexNulls (VB)
- Свойства Key Type, RelatedColumn, RelatedTable и UpdateRule, Key Append Method Example (VB)
- Примеры методов добавления свойств Name, Columns и Tables (VB)
- Пример использования свойств NumericScale и Precision (VB)
- Пример использования свойства ParentCatalog (VB)
- Пример использования свойств PrimaryKey и Unique (VB)
- Пример использования свойства SortOrder (VB)
- Свойство Table Type, пример метода connection Close (VB)
Коллекции
- Коллекция Parameters, пример использования свойства Command (VB)
- Пример коллекций Views и Fields (VB)
- Коллекция Views, пример свойства CommandText (VB)
Источник: learn.microsoft.com