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

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

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

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

Добавлен: 21.10.2020

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

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

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

Новый термин

Синтаксис —

 это набор правил, устанавливающих структуру высказыва-

ний языка программирования.

Каждый язык характеризуется тем или иным синтаксисом, или множеством пра-

вил, которые его определяют. Access VBA охватывает несколько категорий языковых
объектов.

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

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

Первым делом человек с помощью компьютера решает задачу на соответствующем

языке программирования. Язык программирования часто выглядит неким подмножеством

английского языка с собственными грамматическими правилами. (Существует ряд исклю-

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

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

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

Текст, написанный в соответствии с правилами синтаксиса языка программирова-

ния, обычно называют

 кодом.

 После того как код создан, Access проверяет его правиль-

ность и преобразует в такую форму, в которой он становится понятным компьютеру.

Вот почему мы причисляем компьютеры к разряду пользователей второго эшелона.

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

или человеко-машинных систем — состав конкретного сочетания пользователей зависит

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

Windows 98 — это набор программ, используемых и компьютерами, и людьми. Предло-

жим другой пример: как-то мне пришлось создавать программную систему для Access,

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

с внешнего сервера. Процесс был автоматизирован целиком. Операционная система

Windows NT с помощью программы Task Scheduler (Планировщик заданий) запускала

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

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

Access "знает", как обращаться с написанным вами кодом. Если правила програм-

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

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

получно донести до сведения Access свои мысли и намерения. В оставшейся части

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

граммы для Access.

Служебные слова Access VBA

Access оперирует рядом служебных слов. Следует отметить, что объем словаря сис-

темы не очень велик. Если сравнивать Access с живым человеком, то уместным — с

точки зрения богатства языка — окажется сопоставление с пятилетним ребенком.

Хорошая новость — чтобы успешно общаться с Access, не понадобится заучивать

слишком много слов. Но есть и плохая — число сочетаний этих слов безгранично, и

программисты все еще движутся вперед, пытаясь развивать словарь системы.

 термин

Служебное слово —

 это слово, воспринимаемое Access строго определен-

ным образом и обозначающее некоторую сущность или действие.

Наилучший источник, перечисляющий все служебные слова Access, — оперативная

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

лицу, содержащую описание наиболее употребительных служебных слов VBA.

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


background image

Таблица

 Служебные слова VBA

Слово

Значение

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

пами в объявлениях переменных и аргументов функций

Binary Используется для того, чтобы задать тип сравнения строк в операторе Option

Compare и тип доступа к файлу в операторе Open

 Указывает, что переменная передается в процедуру по ссылке

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

Call Обозначает вызов подпрограммы
Dim Используется с целью выделения памяти для хранения переменной
DO Используется совместно со словами while и Loop для организации циклов
End Обозначает команду завершения программы

Else Применяется для обозначения альтернативного условия в условных операторах
Error Выявляет возникающие ошибки. Это функция, которая выдает сообщение, сообщая

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

Exit Используется в конструкциях

 For, Exit Sub, Exit Function и т.п.

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

 Имеет значение

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

For Используется совместно со словом Next для организации циклов
Function Применяется для объявления или определения функции

Get Используется для чтения файла с диска или получения отдельной записи

I f Используется совместно со словосочетанием End

 f и необязательным выраже-

нием Else для построения условного оператора, проверяющего истинность выра-

жения булевой логики

Let Префикс при присвоении переменной или записи оператора
Loop Употребляется в качестве завершающей фразы цикла DO while
Me Способ ссылки на объект. Эквивалентен оператору This в C++ и Self в Object

Pascal

Next Употребляется в качестве завершающей фразы цикла For

 Применяется для повторного выделения памяти для элементов массива

Set Используется с целью присвоить объект переменной
step Определяет значение, на которое увеличивается переменная-счетчик на каждом ша-

ге циклов For Next и For Each

stop Обозначает команду приостановки работы, используемую при тестировании про-

граммы. (Затем выполнение программы может быть возобновлено)

Sub Употребляется при объявлении или определении подпрограммы

Then Используется в составе условного оператора I f

 Имеет значение

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

Туре Применяется при определении нового типа

While Употребляется в составе конструкции Do

 для организации цикла

2-й час. Познакомимся с VBA

41


background image

При наборе в окне текстового редактора модуля Access служебное слово

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

Несмотря на то, что в табл.

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

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

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

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

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

Служебные слова сами по себе нельзя назвать особенно полезными. Применять их

следует лишь в определенном контексте.

Операторы и операнды Access

Служебные слова — только часть общей картины. Другое необходимое множество

объектов — операторы и их операнды. Оператор обычно выглядит в виде единствен-
ного символа. Например, символом + обозначается оператор сложения. В табл. 2.2
приведен перечень операторов VBA, воспринимаемых Access.

Новый термин

Оператор —

 это средство языка, обозначаемое определенным символом и

служащее для выполнения единой операции. Например, оператор умно-
жения * применяется для умножения чисел.

Таблица 2.2. Операторы VBA

Обозначение

Наименование

Описание

# Фунт Применяется для построения условных директив ком-

пилятора

$ Доллар Используется для указания на возвращение функцией

текстовой строки

& Амперсанд Оператор конкатенации ("склеивания") строк

Знак умножения Оператор умножения

() Круглые скобки Используются для группирования членов арифмети-

ческого или условного выражения либо в операциях

над массивами

Минус Оператор вычитания

+ Плюс Оператор сложения
\ Знак деления Оператор целочисленного деления

/ Знак деления Оператор вещественного деления

Апостроф Оператор комментария

Двойные кавычки Используются в паре для обозначения строки текста

42

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


background image

Окончание табл. 2.2

Обозначение

Наименование

Описание

<=

>=

Символ присваивания

Точка
Меньше

Меньше или равно
Больше
Больше или равно
Равно
Не равно

Оператор присваивания левой части выражения зна-

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

части выражения по сравнению со значением правой

части
Оператор сравнения
Оператор сравнения
Оператор сравнения
Оператор сравнения
Оператор сравнения

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

операндами. Большинство операторов предполагает наличие двух операндов — левого,

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

ются

 бинарными.

 Существуют

 унарные

 операторы, воздействующие на единственный

операнд. Операторы других типов в Access VBA не применяются (хотя в языке C++,

например, используются и

 тернарные

 операторы, работающие с тремя операндами).

Равенство — великолепный пример оператора, действие которого зависит

от контекста. В некоторых случаях это оператор присваивания, а в

других — оператор сравнения. Если знак = появляется там, где

производится проверка, например в операторе Do While, он выполняет

тест на эквивалентность. А если слева от знака равенства стоит перемен-

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

присваивает этой переменной значение, находящееся справа от знака.

Новый термин

Операнд

 — это объект воздействия оператора. Например, арифметическое

выражение 5+3 содержит два операнда — 5 и 3 — и оператор сложения +.
Оператор осуществляет сложение двух заданных операндов.

Оператор отрицания — Не (Not) — пример унарного оператора, который требует

наличия единственного операнда. Оператор целочисленного деления, обозначаемый с

помощью символа \, относится к разряду бинарных. (Таков же и оператор вещест-
венного деления /.)

Язык Access VBA обладает тем неоспоримым преимуществом, что многие из ис-

пользуемых в нем операторов уже давно и хорошо вам знакомы — еще со школьной

скамьи. Арифметические операторы, например, действуют совершенно так же, как вы

и предполагаете. Если вам известно, как пользоваться калькулятором, с арифметиче-

скими операторами VBA вы несомненно справитесь.

Данные:

 известные программе

Довольно образна такая аналогия: служебные слова и операторы языка програм-

мирования подобны атомам физического мира. Служебные слова и операторы — это

мельчайшие части кода. Стоит присовокупить к ним данные, и вы получите выраже-

ние языка. Выражения подобны предложениям человеческого языка — они схожи с

молекулами, состоящими из атомов.

2-й час. Познакомимся с VBA

43


background image

Новый термин

Выражение —

 это аналог предложения естественного (например, англий-

ского или русского) языка. Мы с вами можем оперировать простыми
предложениями (скажем, "Подай книгу") или более сложными — напо-

добие того, которое вы сейчас читаете: Выражения, написанные в соот-

ветствии с правилами VBA, также могут быть короткими и простыми ли-
бо пространными и сложными.

Данные, которыми оперирует программа, хранятся в памяти компьютера в виде

переменных.

 Переменные —

 это именованные фрагменты памяти, предназначенные

для хранения данных определенного типа.

 Тип

 данных указывает на род информации,

которую следует хранить, и диапазон изменения ее значений. • Чтобы написать выра-

жение, потребуются, как минимум, переменная (т.е. имя, обозначающее место хране-

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

В табл. 2.3 описаны типы данных, поддерживаемые Access VBA.

Таблица 2.3. Типы данных VBA

Наименование

Byte

Boolean

Currency

Date

Decimal

Double

Integer

Long

Single

String

Type

Variant

Объем

1 байт

2 байта

8 байт
8 байт

 байт

8 байт
2 байта

4 байта
4 байта

4 байта

Произвольный

Произвольный

 байт

Интервал допустимых значений

От

 0 до 255

True (истина) ИЛИ False (ложь)

От -922337203685477.5808 до 922337203685477.5807
От 1 января

 г. до 31 декабря 9999 г.

79228162514264337593543950335 без десятичной точ-

ки; либо

 и 28 десятичных разрядов после точки

От -922337203685477.5808 до 922337203685477.5807
От -32768 до 32767

От -2147483648 до 2147483647
Ссылка на любой объект

От -3.402823Е38 до

 для отрицательных

величин и от

 до 3.402823Е38 для положи-

тельных величин

Длина строки — приблизительно до 2 млрд символов

Пользовательский тип данных

Любое числовое или символьное значение

: О

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

| программе, следует объявить соответствующую переменную. Ниже показан

 пример синтаксической

 для объявления переменной.

 Dim

 As ТипДанных

Объявление переменной начинается со служебного слова Dim (обратитесь к

табл. 2.1). За ним следует наименование (или как еще говорят — идентификатор) пе-
ременной. В качестве наименования переменной может использоваться любая после-

44

Часть

 \.

 Азбука программирования в Access