Файл: Освой самостоятельно программирование для MS Access 2002 за 24 часа [П.Киммел].pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 21.10.2020
Просмотров: 7864
Скачиваний: 25

Создание таблицы с помощью SQL
В нашей учебной базе данных, CONCORDANCE, должны быть построены две табли-
цы. Первая таблица, DOCUMENT, будет содержать два столбца, а вторая,
CONCORDANCE, — четыре. Чтобы построить таблицу DOCUMENT, достаточно выполнить
следующую команду на языке SQL:
CREATE TABLE DOCUMENT (DOCUMENTID AUTOINCREMENT CONSTRAINT
PRIMARY
KEY, FILENAME
Таблицу CONCORDANCE необходимо создать с помощью такой команды:
CREATE TABLE CONCORDANCE (ID AUTOINCREMENT CONSTRAINT Cl PRIMARY KEY,
DOCUMENTID LONG, WORD TEXT, COUNT
Чтобы построить таблицу с помощью конструкции CREATE TABLE языка SQL, вы-
полните следующие действия.
1. Создайте новую базу данных.
2. В окне базы данных выберите элемент Запросы (Queries) списка Объекты (Objects).
3. Щелкните на кнопке Создать (New) панели инструментов.
4. В списке режимов диалогового окна Новый запрос (New Query) выберите элемент
Конструктор (Design View) и щелкните на кнопке ОК.
5. Закройте диалоговое окно Добавление таблицы (Show Table).
6. Выберите в строке меню команду
SQL
View).
7. В окне редактора Запрос на выборку введите текст команды создания таблицы
DOCUMENT, приведенный выше. Повторите операцию, введя ниже команду по-
строения таблицы CONCORDANCE.
8. Выберите в строке меню команду
Таблицы DOCUMENT и CONCORDANCE (именно в этом порядке) связаны соотношени-
ем типа
Это означает, что каждой записи таблицы DOCUMENT может
соответствовать несколько (нуль или более) записей таблицы CONCORDANCE.
Более подробные сведения о синтаксисе команды CREATE TABLE и при-
мерах ее использования вы сможете почерпнуть в оперативной справоч-
ной системе Access, адресовав Помощнику Office ключевую фразу
CREATE TABLE.
Ниже приведено описание синтаксиса конструкции
' CREATE TABLE.
CREATE TABLE
ТипДанных
[,
После слов CREATE TABLE следует наименование таблицы и список описаний ее
столбцов, заключенный в круглые скобки. Количество столбцов произвольно. Описа-
ния столбцов разделяются символом запятой.
Ниже представлена исправленная версия команды создания таблицы DOCUMENT, в
которой для столбца FILENAME явно указана его размерность:
CREATE TABLE DOCUMENT (DOCUMENTID AUTOINCREMENT CONSTRAINT Cl PRIMARY
KEY, FILENAME
В последующих примерах мы будем ссылаться на таблицы, построенные в базе
данных
CONCORDANCE.
Часть III. Использование ресурсов Access

Создание макроса
Макросы сохраняются в виде объектов базы данных. Чтобы создать макрос, в окне
базы данных выберите элемент Макросы (Macros) списка Объекты и щелкните на
кнопке Создать панели инструментов. Откроется окно Макрос (Macro), позволяющее
ввести текст нового макроса с именем
предложенным системой по умолча-
нию
(рис. 9.1).
. . . .
' '
P. /.
Так выглядит окно макроса
Макрос определяется во многом так же, как структура таблицы базы данных. Ле-
вый столбец окна Макрос — Макрокоманда (Action) — позволяет выбрать из раскры-
вающегося списка требуемую макрокоманду, а правый — Примечание (Comment) -
предназначен для ввода комментариев.
После того как макрокоманда выбрана, в левой нижней части окна появляются
поля ввода
аргументов макрокоманды.
Они играют примерно ту же роль, что и пара-
метры процедуры или функции. Аргументы снабжают макрокоманду данными, необ-
ходимыми для ее корректного выполнения.
В первой ячейке столбца Макрокоманда введите либо выберите с помощью рас-
крывающегося списка значение ЗапускМакроса (RunMacro). При этом откроется три
поля ввода аргументов — Имя макроса (Macro Name), Число повторов (Repeat Count) и
Условие повтора (Repeat Expression). Введя значения аргументов, вы сможете выпол-
нить макрос, указанный в поле Имя макроса (рис. 9.2).
9-й час. Работа с макросами

a
г
а
•. а V
1
1
2. Окно
макроса с выбранной макрокомандой
После определения макроса его можно выполнить, щелкнув на кнопке Запуск
(Run) панели инструментов Конструктор макросов (кнопка снабжена пиктограммой в
виде восклицательного знака) либо выбрав в строке меню команду
Задание имени и условия выполнения макроса
Окно Макрос позволяет отобразить еще два столбца для задания дополнительных
свойств макроса — Имя макроса (Macro Name) и Условие (Condition). Увидеть их на
экране можно, выполнив последовательно две команды строки меню —
макросов
Name) и
Если необходимо,
чтобы система всегда отображала эти столбцы, выберите команду
перейдите на вкладку Вид (View) диалогового окна Параметры
(Options), обратитесь к группе элементов Конструктор макросов (Show in Macro), уста-
новите флажки Столбец имен (Name Column) и Столбец условий (Conditions column),
а затем щелкните на кнопках Применить (Apply) и ОК (рис. 9.3).
Столбец Условие весьма полезен, так как позволяет задать логическое условие вы-
полнения макроса. Если результат вычисления условия равен True, макрокоманда
выполняется; в противном случае она действовать не будет.
Отдельные строки макрокода можно на время отключить, введя в полях
столбца Условие литеральные значения False.
162
Часть III. Использование ресурсов Access

ВД*М-
::
-- д.*
:
|
--.
]
•
.
. •
V
•
8 окне базы данных -
:
|
• •
;
j
Рис. 9.3. Диалоговое окно Параметры позволяет изменить
ния параметров работы
принятые по умолчанию
В ячейки столбца Условие могут быть помещены самые разнообразные логические вы-
ражения. Рис. 9.4 иллюстрирует использование команды отрицания результата вызова
функции TableExists. Далее мы будем тестировать результат выполнения команды
CREATE TABLE языка SQL. Эта команда рассматривалась выше, в разделе
таб-
лицы с помощью SQL". Цель тестирования — проверить, существует ли таблица, которую
мы предполагаем построить. Логическое выражение выглядит следующим образом:
Not
( "DOCUMENT" )
.
Рис. 9.4. Столбец Условие позволяет задать логическое выражение, управляющее
процессом выполнения макрокоманды
9-й час. Работа с макросами
163

Просмотрите рис. 9.4 и текст листинга
содержащий код функции TableExists.
Листинг
Функция проверки наличия таблицы
1: Function
As String) As Boolean
2 : On Error GoTo Except
TableExists = True
4: Call
TableName)
Exit Function
6:
Except:
8: TableExists = False
9:
10: End Function
Анализ
Код листинга
будет работать независимо от того, существует ли
открываемая таблица, если в редакторе Visual Basic включена опция
Break On All Error Checked (ее можно установить на вкладке General
диалогового окна
Опция Break On All Error Checked очень удобна в процессе разработки.
Безусловно, она не нужна при распространении базы данных конечным
пользователям — ведь вы не хотите посещать своих пользователей
каждый раз при возникновении ошибки в базе данных. Приложение
должно остановиться, если нельзя обработать ошибочное условие, и нет
смысла продолжать работу.
Щелчок правой кнопкой мыши в пределах столбца Условие приводит к
появлению контекстного меню. При выборе элемента Построить (Build)
открывается диалоговое окно Построитель выражений (Condition
Builder), облегчающее задачу создания условных выражений и обеспе-
чивающее доступ к различным объектам базы данных — таблицам,
запросам, формам, отчетам, функциям, константам, операторам и
общим выражениям. Инструменты окна Построитель выражений хорошо
документированы в файлах оперативной справочной системы Access.
Оно всегда в вашем распоряжении.
Строка 1 листинга 9.1 содержит заголовок функции TableExists. В стро-
ке 2 определяется код обработки ошибок (подробнее см. главу
час.
Обработка ошибок во время выполнения
компилятор полу-
чает инструкцию перехода на метку Except в случае возникновения любой
ошибки выполнения кода функции. Оператор строки 3 — в предположе-
нии, что ошибок не будет (мы
— присваивает возвращаемому
аргументу функции литеральное значение True. В строке 4 с помощью ко-
манды DoCmd. SelectObject осуществляется попытка открыть таблицу с
заданным именем. (К сожалению, функция
не возвращает зна-
чения типа Boolean — иначе вызов ее можно было бы использовать в
столбце Условие непосредственно.) Строка 6 содержит инструкцию завер-
шения функции. Фрагмент кода в строках 8-10 выполняется только в слу-
чаях, когда при выполнении строки 4 возникает ошибка. Если функция
возвращает значение False — это сигнал о том, что таблица не найдена.
В строке 10 выполняется очистка содержимого объекта Err.
164
Часть III. Использование ресурсов Access