- •СервисМакросРедактор Visual Basic
- •СервисМакросРедактор Visual Basic
- •Режимы меню:
- •Меню Edit
- •If условие Then [инструкции] [Else инструкции_Else]
- •If условие Then
- •Инструкция Select Case
- •Цикл For Each…Next
- •Оператор Do Until… Loop
- •Оператор Do … Loop Until
- •Инструкция With
- •Работа с формами и запросами
- •(Библиотека Microsoft dao 3.6 Object Library)
- •FormName – имя формы
Создание стандартных модулей
Insert Module
Подпрограммы
Sub Concat()
Dim strFirstName As String
Dim strLastName As String
Dim strFullName As String
strFirstName = "Access"
strLastName = "VBA"
strFullName = strFirstName & " " & strLastName
Debug.Print strFullName
End Sub
Функции
Function concatFunc() As String
Dim strFirstName As String
Dim strLastName As String
Dim strFullName As String
strFirstName = "Access"
strLastName = "VBA"
strFullName = strFirstName & " " & strLastName
concatFunc = strFullName
End Function
Понятие объектов
Application.CurrentProject.Report (“myReport”)
Объекты DAO и ADO
В VBA Editor меню Tools References
Data Access Objects (DAO)
ActiveX Data Objects (ADO)
Объекты VBA
Объект Interaction
Sub message()
MsgBox "Добро пожаловать !"
End Sub
Объект Me
Me.Кнопка2.Visible = False
Me. Кнопка3.Enabled = True
DoCmd.GoToControl "Поставщик"
Me.Поставщик.SetFocus
Private Sub Form_Open(Cancel As Integer)
Me.AllowEdits = False
Me.SetFocus
End Sub
Объекты Access
Объект DoCmd
DoCmd.GoToRecord , “ ”, acNext
Создание процедур событий
(Sub.. End Sub)
Private
Private Sub Кнопка16_Click()
Public
VBA Editor
СервисМакросРедактор Visual Basic
События при обновлении данных в элементах управления
До обновления После обновления Выход Потеря фокуса
BeforeUpdate AflterUpdate Exit LostFocus
События при удалении записей
Удаление До подтверждения Del После подтверждения Del
Delete BeforeDelConfirm AfterDelConfirm
События при открытии формы
ОткрытиеЗагрузкаИзменение размераВключение После отображения
Open Load Resize Activate Current
События при создании новой записи
После отображения До вставки После вставки
Current BeforeInsert AfterInsert
События при закрытии формы
Выгрузка Отключение Закрытие
Unload Deactivate Close
СервисМакросРедактор Visual Basic
Окна VBA Editor
Окно проекта Project
Окно свойств Properties
Окно непосредственного выполнения Immediate
Окно локальных значений Locals
Окно контрольного значения Watches
Окно для написания ваших процедур и функций Code:
окно списка слева (General – объект),
окно списка справа (Declarations - процедура).
Режимы меню:
Меню File
Import File (импорт файла)
Export File (экспорт файла)
Remove Module (удалить модуль).
Меню Edit
List Properties/ Methods (Список свойств/методов)
List Constants (Список констант)
Quick Info (Вывод синтаксиса)
Parameter Info (Информация о параметрах)
Complete Word (Завершение слова)
Меню View
Code (Код)
Object (Объект)\
Definition (Описание)
Object Browser (Браузер объектов)
Project Explorer (Окно проекта)
Properties Window (Окно свойств)
Immediate Windows (Окно непосредственного выполнения)
Locals Windows (Окно локальных значений)
Watch Windows (Окно контрольного значения)
Меню Tools
References (ссылки)
Macros (Макрос)
Options (Параметры)
Настройка параметров редактора VBA
Вкладка Editor( редактор):
Auto List Members (список компонентов)
Auto Quick Info (краткие сведения)
Auto Data Tips (подсказки значений данных)
Вкладка Editor Format (характеристики шрифтов)
Вкладка General (общие)
Вкладка Docking (закрепление)
Компоненты языка VBA
Объявление переменных
Использование оператора Option Explicit (в разделе Declarations)
DIM имя_переменной [As тип]
DIM number As integer
Dim LastName As String
LastName = “VBA”
Dim ThisDate As Date
ThisDate = #10/04/08#
Типы переменных
Тип переменной |
Размер |
Описание |
Boolean |
2 байта |
Логический тип, возвращает True(Истина) или False(Ложь). 0 (False), -1 (True) |
Byte |
1 байт |
Хранит числа от 0 до 255 |
Currency |
8 байт |
Хранит денежные значения, которые могут иметь до четырех цифр после запятой от -922 337 203 685 477.5808 до 922 337 203 685 477.5807 |
Date |
8 байт |
Хранит значение времени и даты. Годы можно записывать от 1 января 100 г. до 31 декабря 9999 г. |
Integer |
4 байта |
Используется для записи целых чисел. Диапазон от -32 768 до 32 767 |
Long |
|
Используется для записи целых чисел (длинное целое). Диапазон от -2 147 483 648 до -2 147 483 647 |
Single |
|
Используется для записи десятичных дробей (с плавающей точкой обычной точности). От -3 4032823 *1038 до 3 4032823 *1038 |
Dooble |
8 байт |
Используется для записи десятичных дробей (с плавающей точкой двойной точности). Диапазон от -4.940656458411247*10-324 до 4.940656458411247*10-324 |
String (строка переменной длины) |
10 байт + длина строки |
Используется для хранения до 2 миллиардов символов. |
Object |
4 байта |
Любой указатель объекта |
Variant (числовые подтипы) |
16 байт |
Любое числовое значение вплоть до границ диапазона для типа Double |
Variant (строковые подтипы) |
22 байт +длина строки |
Используется как строки String переменной длины |
Префиксы для переменных:
Тип переменной |
Префикс |
Byte |
bin |
Boolean |
byt |
Currency |
cur |
Date |
dat |
Integer |
int |
Long |
lng |
Single |
sng |
Double |
dbl |
Object |
obj |
String |
str |
Variant |
var |
Dim datThisDate As Date
ThisDate = #10/04/08#
Sub addNumbers()
‘Объявление переменных
Dim intNumber1 As Integer
Dim intNumber2 As Integer
Dim intsum As Integer
End Sub
Переменная типа Variant
Dim varMyData
Dim varMyData as Variant
varMyData=12
varMyData= “Текст”
Константы
Const conNumber1 As Integer
Const conDate As Date = #10/04/08#
Модульные переменные
Private
Public
Статические переменные
Sub staticTestProcedure()
Static intcounter As Integer
intcounter = intcounter + 1
Debug.Print intcounter
End Sub
Ввод и вывод
Sub addNumbers()
‘Объявление переменных
Dim intNumber1 As Integer
Dim intNumber2 As Integer
Dim intsum As Integer
intNumber1 = InputBox(‘Введите первое число:’)
intNumber2 = InputBox(‘Введите второе число:’)
intsum = intNumber1+ intNumber2
Debug.print intNumber1 & “+” & intNumber2 & “=”& intsum
End Sub
Управляющие инструкции
Инструкция If… then… else, Elseif