Файл: Освой самостоятельно программирование для MS Access 2002 за 24 часа [П.Киммел].pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 21.10.2020

Просмотров: 7945

Скачиваний: 25

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

В практике программирования часто возникают неприятные ситуации, связанные

с непредвиденными изменениями значений переменных. Но константы не подверже-

ны подобной опасности, поскольку в ходе выполнения программы их значения — по

определению — остаются постоянными. Константы — это величины, на которые

всегда можно положиться. Применяйте их настолько активно, насколько это возмож-

но и целесообразно. Только оставив за плечами сложные программные проекты, вы

сможете по-настояшему оценить, что такое надежность кода.

Глобальные переменные

Переменные, объявленные посредством служебного слова Global, могут
адресоваться в любом месте кода программы. Синтаксис объявления гло-

бальных переменных таков:

Global

 As ТипДанных

Объявляя собственную глобальную переменную, дайте ей

имя и укажите нужный тип данных. Значение переменной Global может

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

большое число глобальных переменных, становится трудной для воспри-

ятия, поэтому имеет смысл использовать их только в тех случаях, когда

это действительно необходимо.

В ходе программирования конкретного участка кода вы задумываетесь над теку-

щими значениями переменных. Если переменная глобальна, ее значение может быть

изменено командами другого блока кода. Поэтому ваши исходные предположения

подвержены угрозе непредсказуемого нарушения. Чтобы уменьшить вероятность слу-

чайного искажения содержимого глобальных переменных, вы как программист долж-

ны предпринять дополнительные меры.

Присваивание данных и вычисления

Переменные в программе могут использоваться в качестве обоих операндов

(левого или правого) различных операторов, а также параметров функций и подпро-

грамм. Если переменная находится слева (справа) от символа оператора, ее называют

левым (правым) операндом.

Новый термин

Новый термин

Функция —

 это содержащий одну или несколько команд блок кода, кото-

рый адресуется по имени. Функция обычно возвращает значение опреде-

ленного типа.

Подпрограмма

 (или

 процедура) —

 это также блок кода, который содержит

одну или несколько команд. Однако подпрограмма не может возвращать

значения.

Параметр

 (или

 аргумент) —

 это переменная, которая передается в функ-

цию или процедуру. Параметр может принимать участие в вычислениях

и изменяться командами функции (процедуры).

Оператор присваивания обозначается символом равенства

 и заносит в левый

операнд-переменную значение правого операнда-выражения. В тексте листинга 3.1

приведено пять примеров операторов присваивания и вычислений.

3-й час. Как программа работает с данными 55


background image

Листинг

 Примеры операторов присваивания и вычислений

1: Dim

 As Double

 Dim Radius As Double

3: Const PI

 3.14159

4: Radius = 10
5:

 = PI * Radius  2

Строка кода — это буквально одна строка текста, но выражение может
быть простым или составным, т.е., другими словами, оно может
содержать более одной строки текста.

Строка 1 листинга

 служит для объявления переменной

 типа

Double. В строке 2 объявляется переменная Radius того же типа. Строка 3 содержит

объявление константы PI, равной числу

 л.

 В строке 4 переменная Radius инициали-

зируется значением 10. В строке 5 вычисляется значение площади круга заданного
радиуса (PI * Radius  2), и результат присваивается переменной SquareOfCircle.
(Символ  (знак вставки, или, как его называют в обиходе, крышки) — это обозначе-
ние оператора возведения в степень.)

Можно объявить несколько переменных одного типа посредством

единственного выражения, в котором имена переменных отделяются
запятыми. Например, Dim SquareOfCircle, Radius As Double.
Часто полагают, что все переменные, объявленные таким образом,

имеют один и тот же тип, но это неверно. В предыдущем примере
можно предположить, что и SquareOfCircle, и Radius имеют тип

Double. На самом деле переменная Radius имеет тип Double, a

 — тип Variant.

Объявление постоянной величины с помощью служебного слова Const,
сопровождаемое присваиванием ей исходного значения, называют

инициализацией.

Многие такие термины способны ввести в заблуждение, но они

изобретены программистами с целью ясного и лаконичного выражения
мыслей. Хотя вы не обязаны освоить всю терминологию, все же лучше
ее знать — особенно в том случае, если приходится часто общаться с
коллегами-профессионалами.

Строки 3, 4 и 5 листинга 3.1 иллюстрируют операции присваивания. Элементы

строки 5 — переменные PI, Radius и константа-литерал 2 — это члены вычисляемого
выражения.

Будьте точны и до конца откровенны

Очень важно, чтобы написанный вами код в процессе выполнения "вел себя"

именно так, как вы предполагали. Существуют два правила, которым необходимо сле-

довать: старайтесь не применять переменные типа Variant и не пользоваться неявно

определенными переменными.

56

Часть I. Азбука программирования в Access


background image

Тип данных Variant

О типе данных Variant вкратце рассказывалось в главе 2. Variant — встроенный

тип данных, применение которого приведет к лишним накладным расходам. Встретив

в тексте программы объявление переменной типа Variant, компилятор присоединяет

дополнительный код, который во время исполнения программы должен определить

действительный тип объекта данных. Переменные Variant находят применение в ко-
де стандартных библиотек Microsoft и объектов СОМ. Впрочем, в большинстве случае

предпочтительно избегать использования переменных variant и употреблять точные
и однозначные объявления. В этом случае ваши намерения будут выражены наиболее

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

данных и допустимым диапазонам их изменения.

I Новый термин

СОМ

 (сокращение от Common Object Model — общая модель объек-

тов) — это стандарт построения составных типов данных, которые могут

быть оформлены в виде отдельных самостоятельных блоков исполняе-

мого кода. Часто объекты СОМ называют компонентами.

Неявное определение переменных

Access допускает использование переменных, определенных неявно. Неявное оп-

ределение подразумевает, что переменная просто, без дополнительных объявлений,

вводится в точке ее использования. Листинг 3.2 представляет собой исправленный ва-

риант листинга

 — все переменные теперь определяются неявно.

Листинг 3.2. Пример неявного определения переменных

1: Const PI = 3.14159
2: Radius = 10
3:

 = PI

* Radius

Обратите внимание, что в тексте листинга отсутствуют какие бы то ни было выра-

жения объявлений. Переменные Radius и SquareOfCircle вводятся в действие без
дополнительных разъяснений относительно их типов. На первый взгляд, ничего нега-

тивного в таком подходе нет — программа, как и прежде, справится с задачей вычис-

ления площади круга. Но если код приобретет более внушительные размеры — ска-

жем, до нескольких сотен строк, — ситуация может резко измениться к худшему. Вы

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

райтесь избежать ее использования.

В первой строке модуля программы, как правило, должна содержаться команда

Option Explicit. Пользуйтесь ею всегда. Она гарантирует вам и коллегам, рабо-

тающим с вашим кодом, невозможность введения в обращение неявно определенных

переменных.

Новый термин

Модуль —

 это отдельный файл, содержащий текст на языке программи-

рования Access VBA.

Если, введя в начало текста программы команду Option Explicit, вы затем по-

пытаетесь воспользоваться неявно определенной переменной, Access откроет окно со-

общения об ошибке, показанное на рис.

3-й час. Как программа работает с данными

57


background image

 x %

В*

- - Я х

Ч

Option

c.

 При попытке неявного задания переменной система отображает окно сообще-

ния об ошибке

Конечно, легко воздержаться от использования неявно определенных переменных

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

ние типов переменных.

Всплывающие подсказки в окне
редактора модуля Access

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

чем перейти к более сложным темам, рассмотрим один важный инструмент среды
программирования Access, который поможет вам в управлении переменными.

 среда разработки

 Access (Integrated Development Environment, или IDE)

имеет в своем составе механизм

 всплывающих подсказок.

 Всплывающая подсказка — это

небольшое окно сообщения, которое автоматически появляется на экране всякий раз, ко-
гда курсор мыши

 над фрагментом текста с наименованием переменной. Ме-

ханизм доступен только в режиме отладки. Итак, некоторые краткие пояснения.

Код сохраняется в файле модуля.

 Модуль

 — это файл Access, содержащий закон-

ченный блок текста на языке

 Почти весь код программы — за исключением вы-

ражений, подобных Option Explicit, — размещается внутри функций или подпро-

58

Часть I. Азбука программирования в Access


background image

грамм. (Более подробно функции и подпрограммы будут рассмотрены в главе "8-й
час. Декомпозиция

 Сразу после написания хотя бы одной функции или под-

программы можно подвергнуть проверке текст строка за строкой.

Тестирование кода

Режим отладки

 — это способ выполнения программы с возможностью одновремен-

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

покидая окна редактора Microsoft Visual Basic. Поскольку

 помимо Access, находит

применение в составе других офисных продуктов компании (например Excel), Microsoft
предлагает единый интерфейс

 и отладки кода (рис. 3.2). В окне ре-

дактора Visual Basic — значительное количество заслуживающих внимания компонен-
тов — немудрено и растеряться, — но несколько примеров вам наверняка помогут.

 X

 т

 )

 :

Option

Option

 (}

A - 5

 Sub

• • '

Я

 .

 .

 •

 :

.

 программ для Access набирается в окне редактора Microsoft Visual Basic

Чтобы открыть окно редактора, выполните следующие действия.

1. Запустите Access 2002 на выполнение.

2. Выберите в строке меню

 или щелкните на ссылке Новая база

данных (Blank Database) на панели задач.

3. В диалоговом окне Файл новой базы данных (File New Database) задайте название

базы данных и щелкните на кнопке Создать (Create).

4. Выберите в списке

 (Objects) окна База данных элемент Модули (Modules).

3-й час. Как программа работает с данными

59