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

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

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

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

Добавлен: 21.10.2020

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

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

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

5. Указав в списке поле ID, щелкните правой копкой мыши и выберите в контекст-

ном меню элемент

 поле (Primary Key), чтобы добавить в поле ID признак

Primary Key (рис. 6.5).

 6.5. Контекстное меню предоставляет возможность выбора ключевых полей

таблицы

Построенной таблицей мы будем пользоваться на протяжении всего занятия. Владея

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

Создание программного модуля

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

модулей. Модуль — это объект Access, который сохраняется в файле базы данных. Прило-
жение, работающее с базой данных, может использовать любое необходимое число моду-

лей. После создания модуль открывается в окне редактора Microsoft Visual Basic.

Здесь и далее будем ссылаться на программный модуль под названием Main. Что-

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

1. Обратитесь к окну открытой базы данных Contacts и выберите элемент Модули

(Modules) списка Объекты (см. рис. 6.3).

2. Щелкните на кнопке Создать панели инструментов. Откроется окно текстового ре-

дактора Microsoft Visual Basic (далее для краткости называемое

 редактором).

3. В строке меню редактора выберите команду

110

Часть II. Основы конструирования программ


background image

4. В диалоговом окне

 As) замените имя

 1, предложенное по

умолчанию, строкой Main и щелкните на кнопке ОК.

Модуль Main будет служить хранилищем кода всех примеров, которые рассматри-

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

 приведенной выше инструкции. Чтобы открыть окно редактирования

существующего модуля, дважды щелкните на имени модуля в окне базы данных.

Создание таблицы посредством программного

кода

Access предлагает несколько инструментальных средств создания таблиц. Ранее мы

уже пользовались, например, окном конструктора таблицы. Существует и широко
применяется способ создания/изменения объектов базы данных с помощью предло-
жений на языке SQL.

Зачастую возникает необходимость динамического создания таблиц непосредст-

венно с помощью прикладной программы. Листинг 6.2 содержит пример кода, пред-
назначенного для построения таблицы CONTACTS (описание ее структуры приведено в

тексте листинга

Листинг 6.2. Построение таблицы с использованием объекта ADOX

1 Sub

 )

2 Const DatabasePath =
3

 Yourself Access 2002" +

4
5 Const

 +

Data source =

 + DatabasePath

Dim Table As New Table
Dim Catalog As New
Dim Key As New

 = ProviderStr

 = "CONTACTS"

 = Catalog

ID",

 ) = True

 20

 adVarWChar, 20

PHONE NUMBER", adVarWChar, 36

9
10

11
12
13
14
15
16
17
18
19
20
21
22

23
24
25
26

 "ID" )

 Table

 = "ID"

KeyType =

 "ID"

 "CONTACTS"

EMAIL", adVarWChar, 50
W W W " , adVarWChar, 50

 Key, kyPrimary

Set

 = Nothing

End Sub

Листинг 6.2 относится к той разновидности примеров — об этом говорилось в

самом начале главы, — которые не обязательно изучать детально. При первом их
чтении у вас могут возникнуть сложности — не надо паники, это нормально! Лис-
тинг 6.2 содержит текст процедуры CreateTable. В строках 7-9 приведены объяв-

6-й час. Управление базами данных

111


background image

ления переменных Table, Catalog и Key. Воспринимайте новое для вас служебное

слово New как должное — для объявлений объектов специальных типов данных,
классов, требуются дополнительные языковые средства. Соответствующие поясне-

ния вы найдете в главе

 час. Основы программирования классов". ADOX —

это объект ActiveX, разработанный специалистами компании Microsoft. На некото-

рое время мы отложим обсуждение сложных аспектов ADOX — впрочем, если вам

невтерпеж, вы можете, не мешкая обратиться к оперативной справочной системе

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

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

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

в список поиска внешних библиотек и объектов ActiveX соответствующую ссылку.

Для этого выполните следующие действия.

1. Откроите базу данных

2. В списке Объекты окна базы данных выберите элемент Модули.
3. Дважды щелкните на имени модуля

 чтобы открыть окно редактора.

4. Выберите в строке меню команду

 откроется диалоговое окно

References.

5. Пролистайте список Available References и установите флажок Microsoft ADO Ext. 2.7

for DDL and Security (рис. 6.6).

 • •  • '

 Microsoft

 С

Bi

 Microsoft

 Control 2.0

 Server 2.0

 Extensions 2.0

 Type Library

 Microsoft

 For

 2000

1  Microsoft ОАО J.6

 Microsoft Data Access Components

 Version

 Data Formatting

 6.0

 Source

 fr

 fer

 and

 6.6. Диалоговое окно References позволяет

создавать ссылки на внешние объекты ActiveX

6. Щелкните на кнопке ОК.

Выполнив указанные операции, вы получите доступ к объектам ADOX. Строка 5

листинга 6.2 содержат информацию, необходимую для обеспечения возможности под-

ключения к базе данных Contacts.mdb. Если вы набираете рассматриваемый нами

код в окне редактора, в точности повторите весь текст, за исключением фрагмента

DatabasePath

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

ваш собственный экземпляр файла Contacts .mdb.

112

Часть II. Основы конструирования программ


background image

Я нашел!

Это происходило в III веке

 им

рона выполнена не из чистого золота.

 вызвал Архимеда

 того

 которого

называют отцом

 и. попросил либо

 либо опровергнуть правомерность своих

 Архимед должен был установить истину, не причинив ущерба короне, Мудрец раз-

мышлял над проблемой несколько дней, но ответ был

 неожиданно. Во время посещения

общественной бани Архимед заметил, что как только

 в ванну, уровень воды в

резко возрастает. Архимед, словно ошпаренный, выпрыгнул из купели и, забыв про одежду,

несся по

 оглашая город криками: "Эврика! Эврика!" ("Я

Мыслитель нашел решение. Принцип, известный теперь как закон Архимеда, гласит: "На тело,

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

 равная весу

 вытесненной

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

личества золота, Архимед доказал,

 подозрения Сиракуза не были напрасны.

По мнению

 Буча (Grady Booch), главного исследователя компании Rational Corporation и

 ведущего редактора отдела литературы по объектно-ориентированному программированию

издательства

 в наше время подобные вспышки

 обычно

даются восклицаниями

 Как бы то ни было, со времен Архимеда человеческая природа

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

 и постижения новых таин-

ственных горизонтов

Сейчас вам вовсе не обязательно всецело и доподлинно разбираться в том, что именно напи-

сано в тексте листинга 6.2, —

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

последующих главах книги вы постепенно ознакомитесь со всей необходимой информацией.

Вернемся к листингу 6.2. Строки 13-19 содержат определения столбцов таблицы -

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

 Инструкция строки 20 добавляет соз-

данную таблицу в

 (catalog). Каталог ссылается на объекты таблиц, имено-

ванных курсоров, учетных карточек пользователей и групп пользователей. Строки 21-
24 служат примером определения первичного ключа (Primary Key) и добавления его
в таблицу. Строка 25 закрывает текущее соединение с каталогом.

Хотя код листинга 6.2, возможно, не до конца вам понятен, воспринимайте неяс-

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

1. В строке

 замените имя "CONTACTS" новым.

2. В строках

 содержащих определения столбцов, введите новые значения имен

столбцов, их типов и дополнительных признаков.

3. В строках

 выберите в качестве ключевых требуемые столбцы.

4. Замените имя таблицы в строках

 и 24.

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

ми, вы создадите в базе данных новую таблицу. Сейчас достаточно выявить те эле-

менты кода, которые для вас очевидны. Внимательно просмотрите текст процедуры и

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

вершающей главы нашей книги.

6-й час. Управление базами данных


background image

 таблицей из среды

приложения

Ваш жизненный опыт подсказывает — и это правильно! — что таблица состоит из

столбцов и строк. Таблица Access позволяет сохранять данные в промежутках между

сеансами работы программных приложений.

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

ных терминов. Одни из них вам уже известны, а другие вы просто могли забыть. Я

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

таблицей посредством прикладного программного кода. Если рассматриваемая система

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

Базы данных: основные понятия

Чтобы получить возможность использования таблицы,

 в базе данных,

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

базе данных. Затем с помощью соответствующих инструкций программного кода вы

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

ными и закрыть таблицу. Перед завершением работы программы необходимо выпол-

нить операции по очистке памяти.

Каталог

Каталог

 (catalog) — это объект, служащий синонимом имени файла базы дан-

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

групп пользователей.

Соединение

Соединение

 (Connection) — это объект, осуществляющий связь прикладной про-

граммы с файлом базы данных. При создании соединения необходимо указать место-

положение файла. Соединение указывает Access, с какой базой данных будет работать

ваше приложение. Наиболее важный параметр соединения — наименование файла

базы данных.

Набор данных

Набор данных

 (Recordset) — это общий термин, применяемый при обращении к

таблице, запросу или курсору. Объект Recordset применяется для получения инфор-

мации, хранящейся в группе записей (строк) данных. Термин Recordset в Access

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

использованием программных серверов Oracle, DB2 или Microsoft SQL Server.

 столбцы и поля

Набор данных (Recordset), вероятно, легче всего представить в виде страницы

привычной электронной таблицы.

 Запись

 (ROW) — это одна горизонтальная строка

страницы, а

 столбец

 (Column) — набор данных, упорядоченных по вертикали. Эле-

мент данных на пересечении строки и столбца называют

 полем

 (Field). (В электрон-

ных таблицах принят термин

 ячейка.)

 Открыв таблицу базы данных в среде Access, вы

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

таблицы.

 Часть II. Основы конструирования программ