- •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
Is (оператор)
Назначение
Определяет, относятся ли две объектные переменные к одному и тому же объекту.
Возвращает логические значения (True или False).
Применение
Обычно в качестве условий в If... Then, хотя их также можно использовать в качестве условий цикла Do... Loop, функций Switch.
Синтаксис
Переменная Is коллекция_объектов,
Переменная имеет объектный тип.
Функция IsArray
Назначение
Проверяет, является ли данная переменная массивом.
Возвращает логическое значение (Boolean).
Если переменная является массивом или содержит массив, возвращается True, в противном случае - False.
Применение
Если переменная явно объявлена как массив, пусть даже динамический, она остается массивом все время своего существования. Основной проблемой являются переменные типа Variant, которым можно присвоить все, что угодно, в том числе и массив. После присвоения они ведут себя как обычный массив и к ним можно и нужно применять функции для работы с массивами (например, UBound, LBound). Однако после присвоения такой переменной значения, отличного от массива, применение к ней этих функций или просто попытка доступа по индексу к элементу массива вызовет генерацию ошибки времени исполнения. Именно для проверки переменных типа Variant на "массивность" и служит isArray.
IsArray (Имя переменной)
Синтаксис
Имя переменной, которая подозревается в том, что она является массивом.
IsArray обрабатывает данные любого типа без генерации ошибки.
Пример
Проверим, является ли переменная А массивом.
Dim a ‘Тип переменной А не определён, т.е. Variant
Dim test As Boolean
test = IsArray(a) ‘ проверка, является А массивом
MsgBox test ‘Ответ будет равен False
a = Array(8, 56, 7) ‘Определяем А как массив
test = IsArray(a) ‘ проверка, является А массивом
MsgBox test ‘Ответ будет равен True
• IsArray не позволяет выявить массив элементов управления на форме - он всегда возвращает False. Чтобы определить, является ли данный элемент управления массивом, можно воспользоваться тем обстоятельством, что элемент управления, являющийся массивом, имеет тип Object, в то время как одиночный элемент специфицирован.
• Всё это не относится к объектному типу элементов при их перечислении в семействе Controls с помощью For Each... Next, поскольку там переменной-указателю цикла присваиваются значения отдельных элементов массива, а не самого массива.
IsDate (функция)
Назначение
Проверяет, является ли данное выражение корректной датой/временем.
Возвращает логическое значение (Boolean). Если выражение является корректной датой/временем, возвращается True, в противном случае - False..
Применение
Обычно IsDate используется для проверки корректности ввода даты пользователем или при других вариантах передачи данных программе извне.
Синтаксис
IsDate (expression)
Expression- выражение, которое требуется проверить на "календарность".
• IsDate обрабатывает данные любого типа без генерации ошибки.
• IsDate использует национальные системные установки даты/времени машины, на которой запущена программа, поэтому "правильная" дата, полученная на другой машине, может оказаться некорректной на той машине, где она обрабатывается.
Пример
В текстовое поле с именем Поле1 введёно некоторое значение.
Проведём проверку: дата это или нет?
Dim x
Dim test As Boolean
x = Поле1.Value ‘ В переменную х записываем значение Поля1
test = IsDate(x) ‘ Проверка на “календарность”
MsgBox test ‘ Ответ –True, если введена дата
