- •1. Операторы, процедуры, типы данных vba
- •Основные типы данных в vba
- •Преобразование типов данных
- •Is (оператор)
- •Функция IsArray
- •IsArray (Имя переменной)
- •IsDate (функция)
- •IsEmpty (функция)
- •IsError( функция)
- •IsMissing(функция)
- •IsNull (функция)
- •IsNumeric (функция)
- •IsNumeric(выражение)
- •IsObject(функция)
- •2. Работа с объектами
- •3. Применение процедур vba
- •Модель программирования в Access
- •Типы процедур
- •Поле со списком
- •Вызов процедур
- •Запуск процедур-функций
- •Запуск процедур-подпрограмм
- •4. Операторы vba
- •Логические операторы Логические операторы
- •Некоторые функции в vba
- •5. Объявление переменных, констант в vba
- •Создание пользовательских типов данных
- •Dim c As клиент
- •Cоздание массивов постоянной длины
- •Cоздание массива из списка значений
- •Создание динамических массивов
- •6.Организация ввода-вывода данных с помощью функций InputBox и MsgBox
- •7. Управляющие структуры
- •Структура If … Then
- •Структура If … Then … Else
- •Вторая группа операторов]
- •Второй блок операторов]
- •Алгоритм
- •Переход по метке
- •10: Программный код Cтруктура Select Case
- •8. Циклы в vba Cтруктура For ….Next
- •Операторы
- •Структура For Each … Next
- •Структура Do… Loop
- •Структура Do While … Loop
- •Структура Do ….While Loop
- •Cтруктуры Do Until … Loop и Do … Loop Until
- •9. Операторы Exit
- •Функции для работы со строковыми переменными
- •11. Классические задачи программирования: сортировка, поиск
- •If IsNull(массив(X)) Then Exit Function
- •12. Управление базами данных
- •Основные понятия базы данных
- •Установка значений свойств
- •Считывание свойств
- •Вызов методов
- •Объект.Метод
- •Присваивание значений возвращаемых из методов
- •13. Объект Database –база данных
- •Cвойства объекта Database
- •Методы объекта Database
- •14. Объект TableDef
- •Свойства объекта TableDef
- •Методы объекта TableDef
- •Использование свойства Fields объекта TableDef
- •Использование свойства TableDefs объекта Database
- •15. Объект Form –экранная форма Свойства объекта Form
- •Применение некоторых свойств oбъекта Form Свойство Me
- •Cвойство ActiveControl
- •Свойство CurrentRecord
- •Свойство Visible
- •Свойства OrderBy и OrderByOn
- •Методы объекта Form
- •Список и поле со списком
- •Глава 16. Объект DoCmd и его методы
- •Глава 17. Объект Recordset
- •Свойства объекта Recordset
- •Свойства bof и eof
- •Создание объекта Recordset
- •Глава 18. Применение объекта Debug
- •Глава 19. Применение свойства RecordCount
- •Применение свойства Fields
- •Применение метода GetRows объекта Recordset
- •Глава 21. Объекты QueryDef
- •Свойства объектов QueryDef
- •Использование метода Execute
- •Глава 22. Применение языка sql
- •Использование выражения select
- •Простые формы select
- •Фильтрация данных с помощью предложения where
- •Сортировка данных
- •Объединение таблиц
- •Глава 23. Объект Report События
- •Некоторые свойства объекта Report
- •Методы объекта Report
- •Применение свойств объекта Report
- •Глава 24. Настройка пользовательского интерфейса
- •Глава 25. Создание и изменение панелей команд
- •Глава 26. Создание и удаление контекстных меню
- •Приложение
- •Этапы реализации задачи:
- •If IsNull(.Fields!цена) Then Exit Do
Создание пользовательских типов данных
Можно создавать пользовательские типы данных на основе основных типов данных. Можно определить такой тип данных для отдельной переменной, в которой хранится несколько элементов информации различных типов данных.
Например, можно сконструировать одну переменную для обработки имени клиента (тип String), даты покупки (тип Date) и суммы покупки (тип Currency). Определять пользовательские типы возможно только в разделе описаний модуля.
Синтаксис
Область_видимости Type имя_переменной
Имя_элемента as тип
….
End type
Пример
Public Type клиент
name As String
data As Date
zena As Currency
End Type
После определения пользовательского типа данных можно объявить переменную этого типа.
Пример
Dim c As клиент
К элементу этой переменной можно обращаться с помощью следующей синтаксической конструкции:
Имя_переменной.имя_элемента
Пример
C.name, c.data, c.zena
Cоздание массивов постоянной длины
Массивы постоянной длины создаются с помощью операторов Dim или Static.
Cинтаксис
Dim имя_массива (границы_индекса) as [тип массива]
Пример
Dim a(20) As Integer
В этом примере объявлен массив с именем а, состоящий из 21 элемента, с нумерацией от 0 до 20. В скобках указывается только верхняя граница.
Static B(1 To 5) As String
Здесь происходит объявление статического массива с именем В, состоящий из 5 элементов типа String, с нумерацией элементов от 1 до 5.
Cоздание массива из списка значений
Функция Array создаёт массив из списка значений, переданных ей в качестве аргументов.
Синтаксис вызова функции
Array(список_аргументов)
Функция Array создаёт массив из значений аргументов, перечисленных в списке_аргументов, и возвращает переменную типа Variant, содержащую массив. Значения в списке разделяются запятыми; если список пуст, будет создан массив размера нуль.
Функции LBound и Ubound возвращают, соответственно, наименьший и наибольший индексы указанного измерения в массиве.
LBound (имя_массива,измерение)
UBound (имя_массива,измерение)
Необязательный аргумент измерение-это целое число, обозначающее измерение массива. Если этот параметр не указан, то будут возвращены границы первого измерения.
Пример
Dim a As Variant
a = Array(2, 3, 45, 12)
Функция Lbound(a) вернёт значение равное 0, а функция Ubound(a) вернёт значение равное 3.
А(0)=2, А(1)=3, А(2)=45, А(3)=12