- •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
ВВЕДЕНИЕ
Microsoft Access — один из компонентов широко распространенного семейства офисных приложений Microsoft Office 2000. Microsoft Access на сегодняшний день является одним из самых популярных настольных приложений для работы с базами данных. Это связано с тем, что Access обладает очень широким диапазоном средств для ввода, анализа и представления данных. Эти средства являются не только простыми и удобными, но и высокопродуктивными, что обеспечивает высокую скорость разработки приложений. Изначально Access обладала рядом уникальных возможностей, таких как умение сводить воедино информацию из самых разных источников (электронных таблиц, текстовых файлов, других баз данных), представление данных в удобном для пользователя виде с помощью таблиц, диаграмм и отчетов, интеграция с другими компонентами Microsoft Office.
Графический интерфейс, которым Microsoft удалось так удачно оснастить свою среду, упрощает изучение и применение эффективных средств Access.
Совершенствуясь от версии к версии. Access стала инструментом, который может удовлетворить самые разные категории пользователей от новичка, которому нравится дружественный интерфейс системы, позволяющий ему справиться с его задачами, до профессионального разработчика, который имеет весь необходимый инструментарий для построения готового уникального решения для конкретного предприятия среднего бизнеса.
Visual Basic for Applications (VBA) представляет собой эффективное средство разработки приложений для автоматизации баз данных в Microsoft Access 2000. Корпорация Microsoft включила VBA в комплект Access 2000 для придания этой СУБД большей эффективности и гибкости, благодаря чему Access стал еще более соответствовать нуждам разработчиков к пользователей программного обеспечения.
Разработчикам программ очень пригодятся дополнительные возможности и средства для обработки ошибок, предусмотренные в VBA. С помощью VBA разработчик может управлять пользовательским интерфейсом и оперировать событиями, что позволяет создать функциональную, эффективную базу данных с дружественным интерфейсом.
В этой книге изложены основы программирования на языке Access VBA. Описано создание процедур для трех основных типов операций с базами данных: перемещения в рамках приложения, работы с объектами и выбора групп записей для тех или иных целей.
Предполагается, что читатель знаком с основными принципами и методами интерактивного Access, включая создание простых баз данных Access, в состав которых входят связанные таблицы, запросы, формы, отчеты и страницы доступа к данным. В книге освещаются вопросы автоматизации работы с базами данных средствами Access VBA.
1. Операторы, процедуры, типы данных vba
Оператор представляет собой комбинацию ключевых слов, констант, переменных, символов, действий, объектов, свойств и методов.
Язык VBA допускает компоновку одного или нескольких операторов в единый блок, называемый процедурой.
Типами данных называются типы значений, которые могут содержать переменные.
Основные типы данных в vba
Основные типы данных
Наименование |
Размер |
Описание |
Byte |
1 байт |
Целые числа от 0 до 255 |
Integer |
2 байта |
Целые числа от –32768 до 32767 |
Long |
4 байта |
Целые числа от –2 147 483648 до 2 147 483 647 |
Single |
4 байта |
Вещественные числа одинарной точности |
Double |
8 байт |
Вещественные числа двойной точности |
Decimal |
12 байт |
Целые без знака, умноженные на степень числа 10 |
Currency |
8 байт |
Масштабированные целые с фиксированной точкой |
String (перемен- ной длины) |
10 байт +длина строки |
Строка от 0 до 2 млрд. символов |
String (постоянной длины) |
Длина строки |
Строка от 1 до 65400 символов. Переменная должна быть объявлена Private |
Boolean |
2 байта |
Имеет два значения: False и True |
Date |
8 байт |
Дата и время |
Object |
4 байта |
Хранит адрес любого объекта |
Variant число строка |
16 байт/ 22 байта + длина строки |
Универсальный тип данных для числа как Double, для строки- от 0 до 2 млрд. символов |
Преобразование типов данных
В состав Access входит набор функций преобразования типов, которые можно использовать для преобразования строк и числовых выражений к конкретному типу данных.
Функции преобразования данных
Функция |
Описание |
Asc(выражение) |
Возвращает ANSI-код первой буквы в строке |
Cbool(выражение) |
Возвращает False. если значение =0 |
Cbyte(выражение) |
Преобразует к типу Byte. |
Ccur(выражение) |
Преобразует выражение к типу Currency. |
Cdate(выражение)
|
Преобразует литералы даты и времени и некоторые числа к типу Date. |
CDbl(выражение) |
Преобразует выражение к типу Double. |
CDec(выражение) |
Преобразует выражение к типу Decimal. |
CInt(выражение) |
Преобразует выражение к типу Integer. |
CLng(выражение) |
Преобразует выражение к типу Long. |
CSng(выражение) |
Преобразует выражение к типу Single. |
CStr(выражение) |
Преобразует выражение к типу String. |
CVar(выражение) |
Преобразует выражение к типу Variant. |
CVErr |
Преобразует номер ошибки к типу Variant. |
Fix
|
Отбрасывает дробную часть числа и возвращает ближайшее большее число. |
Int
|
Отбрасывает дробную часть числа и возвращает ближайшее меньшее число. |
Значения NULL и EMPTY
Данные типа Variant могут приобретать два значения Null и Empty.
Null означает, что данные отсутствуют, неизвестны или неприменимы. Можно определить, содержит ли значение поля или элемент управления значение Null. Для этого можно использовать функцию IsNull.
Значение Empty служит для резервирования памяти под переменную типа Variant, которой не присвоено значение. При создании переменной типа Variant её значение равно Empty до тех пор, пока ей не будет присвоено конкретное значение. Для определения содержания переменной значения Empty служит функция IsEmpty. Значение Empty -это не нуль, не строка нулевой длины и не Null, но так VBA автоматически преобразует переменные типа Variant к типу, необходимому для дальнейшей обработки; значение Empty преобразуется в нуль, если требуется числовое значение, и в строку нулевой длины, если требуется строковое значение.