Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на вопросы экзамена / вопросы к экзамену 2017 — копия.docx
Скачиваний:
56
Добавлен:
09.12.2018
Размер:
498.33 Кб
Скачать
  1. Область действия переменных и процедур vba

Ответ:

Существует 3 области видимости переменных, констант, массивов:

  1. Уровень процедуры – переменная описывает в конкретной процедуре или функции.

  2. Уровень модуля – поместить описание переменной в секции объявлений модуля (перед текстом каких-либо процедур или функций). При этом можно использовать и явное описание области действия, т. е. вместо ключевого слова Dim использовать в этом случае ключевое слово Private.

  3. Уровень проекта - необходимо расположить описание переменной в секции объявлений одного из модулей проекта и при этом обязательно использовать ключевое слово Public. Описанные таким образом переменные могут использоваться в любом модуле проекта.

Переменные могут быть статическими, т.е. переменные, использующие описатель Static, т.е.

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

Обыкновенные (не статические) переменные всякий раз инициализируются заново и получают при входе в процедуру пустые значения.

Процедуры и функции имеют 2 уровня области видимости:

  • Уровень модуля – применятся ключевое слово Private. Такое описание не только сужает область действия для процедуры, но и запрещает ее использование как самостоятельной, т. е. эту процедуру можно вызвать только из другой процедуры.

  • Уровень проекта (по умолчанию) – может использоваться слово применятся ключевое слово Public.

При описании процедур или функций может использоваться и ключевое слово Static. Оно никак не влияет на область действия процедуры, но воздействует на все переменные, описанные внутри этой процедуры или функции. В этом случае все локальные переменные получают статус Static и тем самым сохраняются в памяти после завершения такой процедуры и при повторном ее вызове сохраняют свои прежние значения.

  1. Работа с формами, отчетами, запросами и таблицами в vba

Ответ:

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

Для работы с формами, отчетами, запросами и таблицами можно использовать объект AccessObject, который представляет собой конкретный объект MS Access, содержащийся в одной из коллекций:

Коллекция

Тип объекта

Объект MS Access

AllForms

Form

Формы

AllReports

Report

Отчеты

AllMacros

Macro

Макросы

AllModules

Module

Модули

AllDataAccessPages

Data access page

Страницы доступа к данным

AllTables

Table

Таблицы

AllQueries

Query

Запросы

AllViews

View

Представления

AUStoredProcedures

Stored procedure

Хранимые процедуры

AllDatabaseDiagrams

Database diagram

Схемы данных

Свойство IsLoaded показывает, является ли загруженным в данный момент объект AccessObject. Значение этого свойства доступно только для чтения.

Свойство Name задает строковое выражение, которое представляет собой имя объекта AccessObject, элемента управления или объекта Reference.

Свойство Properties возвращает ссылку на коллекцию AccessObject Properties объектов AccessObject, CurrentProject или CodeProject. Эта коллекция содержит все свойства перечисленных

объектов.

Свойство Туре объекта AccessObject возвращает тип объекта NTS Access. Константы данного свойства:

Константа

Описание

acDataAccessPage

Страница доступа к данным

acForm

Форма

acMacro

Макрос

acModule

Модуль

acQuery

Запрос

acReport

Отчет

acServerView

Представление