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

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

Если приемы, о которых было рассказано, войдут в ваш арсенал, то профессио-

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

новое качество. Минутку, не надо бросаться в погоню за качеством прямо сейчас —
уделите время изучению разделов "Вопросы и ответы" и "Задания", которые с нетер-
пением ожидают вашего внимания.

Вопросы и ответы

Вопрос. Существует ли единый рецепт "правильного" программирования?
Ответ.

 К сожалению, нет. Вот почему программирование в чем-то сродни искусст-

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

Вопрос. Необходимо ли пытаться реализовать все ваши советы сразу, на первом же

этапе работы над программой?

Ответ.

 Нет. Если настойчиво их применять, они станут привычными и естествен-

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

Вопрос. Существуют ли другие приемы или стандарты, которые стоит изучить?
Ответ.

 Лучшие стратегии работы формируются на практике — творите, выдумы-

вайте, пробуйте!

Задания

Ниже приведены тестовые задания и упражнения, которые помогут вам самостоя-

тельно проверить уровень освоения материала, изложенного в этой главе. Ответы на

вопросы вы найдете в приложении.

Тесты

1. Назовите удобный способ именования процедур и функций.

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

граммного кода?

3. Смысл префиксной, или венгерской, нотации состоит в разработке

 сокра-

щенных названий типов, используемых для именования переменных. Верно ли это?

4. Термин

 процедура

 используется для обозначения и подпрограмм, и функций. Верно

ли это?

5. Назовите важное эмпирическое правило, которое обусловливает приемлемый раз-

мер кода процедуры или функции.

1. Задайте имя функции, предназначенной для вычисления полной и частичной сумм.

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

другая выполняет проверку корректности выполнения этой операции.

3. Задайте названия переменной, предназначенной для хранения номера открытого

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

250 Часть V. Программирование и базы данных Access

background image

 час

ADODB — ваш

верный помощник

Технологии управления базами данных

 стремительно. История их раз-

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

Одним из серьезных промежуточных достижений на долгом пути совершенствова-

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

 Open DataBase Connectivity,

 ODBC. ODBC оп-

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

 ADO.

 Это также несомненная заслуга Microsoft. Поскольку

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

именно ему.

Доступ к библиотеке ADODB в среде Microsoft Visual Basic осуществляется из диа-

логового окна

 Класс ADODB содержит объекты классов для пред-

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

Основные темы занятия.

• Соединение с базой данных и использование наборов данных.
• Операции добавления, обновления и удаления записей.
• Сохранение информации из баз данных в коллекциях.

• Атрибуты объектов ADODB, предназначенные для управления базами данных.
• Использование информационных ресурсов и поиск готовых решений.
• Использование методов

 em и Remove

 для управления элементами

коллекций.

background image

Соединение с базой данных

Задача программирования для Access в немалой степени упрощается за счет того,

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

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

 редактора Visual Basic содержится

список всех доступных библиотек ActiveX. Это библиотеки скомпили-
рованных программ, которые можно вызывать из собственного VBA-
кода. ADODB доступны в проекте по ссылке

 Название

текущей версии ADO — Microsoft ActiveX Data Objects 2.7. Library. ADO -
это название протокола, a ADODB - название объекта в библиотеке.

В составе ADODB имеется класс Connection. Среда Microsoft Visual Basic по умол-

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

1. Определите процедуру.

2. Объявите в ней переменную-объект класса ADODB. Connection.
3. Задайте информацию о провайдере OLE DB (соответствующая структура подробно

рассмотрена ниже).

4. Откройте соединение.

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

Новый термин

Данные о

 провайдере

 (provider)

 OLE DB

 (очередной протокол, разрабо-

танный Microsoft и призванный заменить ODBC) — это новая версия

источника данных.

 Поскольку OLE DB, помимо традиционных средств,

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

 источник

данных

 было решено заменить термином

 провайдер.

 Говоря привычным

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

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

тинга 15.1.

Листинг

 Пример использования объекта

1 Sub

 )

2 Const Provider =
3 Const DataSource

 "Data

4 Dim Connection As New
5 On Error GoTo Finally
6 Call

 & DataSource)

7
8 Finally:

9 If

 <> 0) Then

10: MsgBox
11: End If

12 : Set Connection = Nothing

 Sub

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

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

252

Часть V. Программирование и базы данных Access

background image

Анализ

В строках 2 и 3 определяются именованные константы, содержащие описа-

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

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

 . О

Далее указывается наименование базы данных и путь к ней. В нашем конкретном

случае выражение таково:

Data

Применение метода Open класса

 — это, вероятно,

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

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

ственным, реальным.) Обратите внимание, что строка соединения — это единое це-

лое,

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

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

 Новый термин

Свойства и методы класса принято называть обобщенным термином

 ин-

терфейс.

 Исчерпывающие сведения по этим вопросам вы найдете в главе

"21-й час. Основы программирования классов".

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

 иллюстрирует прием единовременного объявления и созда-

ния объекта класса ADODB. Connection. Помните о том, что Connection — это не-

 часть интерфейса класса ADODB, поэтому для ссылки на нее необходимо

указывать наименование "внешнего" класса, ADODB, отделяя его оператором точки

 Поскольку ADODB. Connection — это, в свою очередь, также класс, в конструкции

создания его объекта следует использовать служебное слово New. Строка 5 определяет
выражение обработчика ошибок (подробнее см. главу "18-й час. Обработка ошибок во
время выполнения программы"), который при возникновении ошибки обеспечивает
автоматический переход к строке кода, содержащей указанную метку.

В строке 6 осуществляется обращение к процедуре-методу открытия базы данных.

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

лано в строке 7.

В строках

 9—

 выполняется анализ допущенной ошибки и отображается содер-

жимое одного из свойств объекта Err. (Подробнее о классе Err см. главу 18.) Инст-

рукция строки 12 освобождает память, выделенную объекту Connection.

Аргументы процедуры открытия базы данных

Метод Open класса

 требует задания аргумента, содержащего

строку соединения. В строке соединения объектом ADO распознаются

 па-

раметры, представленные в формате

 и разделенные символом

ТОЧКИ С запятой: Provider, File Name, Remote Provider И Remote Server (их
описание приведено в табл. 15.1). Строка соединения может содержать и другие аргу-
менты (например, имя и пароль пользователя), но они не обрабатываются ADO и
должны следовать правилам, которые регламентируются конкретным провайдером.

 час. ADODB - ваш верный помощник 253

background image

Таблица 15.1. Параметры соединения, поддерживаемые объектом ADO

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

Описание

Provider

File Name

Remote Provider

Remote Server

Наименование провайдера
Файл провайдера, содержащий данные

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

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

программами

Параметры, перечисленные в табл.

 обрабатываются ADO, а все остальные

(скажем, имя и пароль пользователя) драйвером OLE DB. Листинг 15.2 демонстрирует
код, аналогичный предыдущему. Соединение обеспечивается не с помощью провай-

дера OLE DB, а средствами протокола ODBC.

Листинг

 Открытие базы данных с использованием ODBC

Sub

 )

Const ConnectionString =
Dim RecordSet As New

Dim Connection As New

On Error GoTo Finally

Call

Finally:
If

 <>

 0) Then

End If

Set RecordSet = Nothing

Set Connection = Nothing

9
10:

11:

14:
15:

18:
19:

 Sub

21:

I Единственное принципиальное различие между двумя рассмотренными

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

меняются средства ODBC. Стандарт ODBC, верой и правдой служивший

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

строения так называемых источников данных (об этом рассказано в сле-

дующем разделе).

Но с ростом популярности Web и соответствующих средств программирования возни-

кают задачи обработки данных, которые поступают из источников новых типов. Спрос
рождает предложение, и поэтому Microsoft разработала расширенный стандарт средств со-

единения с базами данных, назвав его

 OLE DB.

 Наиболее полная информация об OLE DB

находится по Internet-адресу

254

Часть V. Программирование и базы данных Access

Источник: https://files.student-it.ru/previewfile/12301