Краткие теоретические сведения

 

Хотя макросы являются мощным средством, все-таки есть задачи, которые невозможно выполнить с помощью макросов.

 

1.1 База данных может содержать 2 вида модулей:

─ общие модули, являющиеся объектами базы данных (используются для хранения процедур, которые будут выполняться из нескольких запросов, форм и отчетов приложения. Создаются по нажатии кнопки Создать в то время, когда в окне базы данных выбраны Модули);

─ модули форм и отчетов, которые являются частью этих объектов (встроенные процедуры обработки событий, возникающих в форме или отчете. Чтобы отредактировать связанный модуль, нужно открыть соответствующий объект в режиме конструктора, щелкнуть кнопку Модули на панели инструментов или выполнить Вид/Модули).

1.2 Чтобы увидеть общие модули БД, щелкните по корешку Модули в окне БД и нажмите кнопку Вставить модуль.

1.3 В Microsoft Access для работы с модулями имеется специальная панель инструментов. Чтобы открыть окно модуля для выбранной формы, откройте базу данных STUD, щелкните по корешку Формы, выберите форму "Задолженность" и щелкните по кнопке Конструктор, затем по кнопке Программа (или выполните команду Вид/Программа). ВЫ сможете посмотреть модуль, написанный Access. Чтобы вернуться в окно базы данных, закройте окно модуля и форму.

Кнопки панели инструментов перечислены слева направо:


Вставить модуль ─ вставляет в текущую базу данных новый модуль и открывает в окне модуля его раздел описаний;

Сохранить сохраняет макет объекта в режиме таблицы, структуру таблицы, запроса, формы или отчета, а также структуру и содержимое макроса или модуля;

Печать ─ печатает выделенную форму, отчет, таблицу, запрос или модуль, не открывая диалогового окна Печать;

Найти ─ выполняет поиск строкового значения (например, фамилии) в объекте в режиме таблицы или в форме, а также поиск ключевого слова Visual Basic в окне модуля;

Перейти/продолжить ─ возобновляет выполнение программы после прерывания, за исключением случая прерывания, после которого выполнение невозможно (например, при ошибке деления на нуль). Также выполняет выделенную процедуру, не содержащую аргументов;

Завершить ─ прекращает выполнение процедур Visual Basic и очищает все локальные переменные, но сохраняет значения всех общих переменных. Используется для инициализации процедуры в модуле перед ее запуском после изменения;

Сброс ─ прекращает выполнение процедур Visual Basic и очищает все локальные и общие переменные. Используется для инициализации всех программ в модуле перед его запуском после изменения;

Окно отладки ─ открывает окно отладки для тестирования и отладки программы;

Просмотр объектов ─ открывает окно, в котором отображаются все методы и свойства, определенные в текущей базе данных, в других доступных базах данных и в доступных приложениях, поддерживающих Visual Basic. используется для вывода на экран и вставки синтаксиса выбранных методов и свойств;

Контрольное значение ─ отображает значение выделенного выражения

(например, переменной, свойства или функции). Также позволяет добавить выбранное выражение на панель контрольных значений окна отладки для продолжения наблюдения за изменением значения контрольного выражения;

Стек вызова ─ выводит перечень вызывавшихся процедур начиная с вызывавшейся последней, позволяя проследить последовательность вызовов процедур. Данная кнопка активизируется только при открытом окне модуля или окне отладки и только в режиме прерывания программы;

Компилировать загруженные модули ─ компилирует все процедуры в открытых модулях и модули открытых форм и отчетов. Используется для поиска ошибок при компиляции и ошибок синтаксиса;

Точка останова ─ устанавливает и снимает точку останова. На точке останова выполнение программы Visual Basic прекращается и программа входит в режим прерывания (Microsoft Access выделяет строку, содержащую точку останова, полужирным шрифтом);

Шаг с заходом ─ выполняет инструкции по одной, в том числе инструкции в вызываемой процедуре;

Шаг с обходом ─ выполняет инструкции по одной, причем вызов процедуры рассматривается как один шаг;

Шаг с выходом ─ запускает все строки программы и вложенные процедуры в пошаговом режиме, начиная с текущей выполняемой инструкции, и переходя к следующей выполняемой инструкции в следующей процедуре цепочки вызовов. Используется с целью избежания прохождения по всем строкам программы в вызываемых процедурах;

Окно базы данных ─ выводит на передний план окно базы данных, содержащее списки всех объектов текущей базы данных. Используется, например, для переноса объектов с помощью мыши из окна базы данных в текущее окно.

 

1.4 При открытии окна модуля в режиме конструктора оно содержит раздел описания с переменными, общими для всех процедур данного модуля. Находясь в разделе описаний, с помощью клавиши PgDn мож­но перейти к первой

процедуре модуля. Можно выбрать нужную процедуру, пользуясь списком Процедуры на панели инструментов.

Для создания новой процедуры выполните команду Вставка\Процедура. Появится окно:

 
 

выберите инструкцию Функция или Подпрограмма и введите имя.

 

1.5. Если вы находитесь в открытом окне модуля, для отладки щелкните по кнопке Debug на панели инструментов или выберите команду VIEW/Debug. Объект, используемый для отладки, называется Debug. Его метод Print используется для вывода данных в окне от­ладки. Чтобы вывести текущее значение переменной, в окне отладки нужно ввести:

Debug.Print <переменная>

или

<переменная>

а затем нажать Enter. Аналогично запускаются процедуры-функции в окне отладки.

1.6. Microsoft Access Basic поддерживает следующие типы данных:

 

Тип данных Размер (байт) Обозначение Может содержать
Integer % Целые числа от – 32 768 до 32764 или True/False
Long & Целые числа от – 2 147 483 648 до 2 147 483 647
Single ! Числа с плавающей точкой от - 3.4*1038 до 3.4*1038
Double # Числа с плавающей точкой от -1.79*10308 до 1.79*10308
Currency @ Масштабированное целое плюс 4 десятичных разрядов в дробной части
String на указатель   $ Любой текст или символ. Двоичная строка длинной до 65 535 байтов, включая текстовые данные, примечания и части OLE – объекта.
Variant 1~ 65 535 Нет Любые данные (используйте функцию VarType для определения текущего типа данных переменной)
User defined Зависит от определяемых элементов   Нет Любое число переменных любого из перечисленных выше типов