Чтение онлайн

на главную - закладки

Жанры

VBA для чайников

Каммингс Стив

Шрифт:

В данный момент компания Microsoft настоятельно рекомендует использовать библиотеку объектов ADO. Эта библиотека предлагает простую в использовании объектную модель, которая одинаково хорошо подходит для работы как с локальными, так и удаленными данными.

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

Библиотека ADO поставляется в составе Office XP и Office 2000, в то время как DAO поставлялась с ранними версиями Office, включая Office 97,

а также другими VBA приложениями. Если на вашем компьютере не установлена ни одна из этих библиотек объектов, вы можете загрузить их с Web-узла компании Microsoft, что, помимо всего прочего, гарантирует наличие на вашем компьютере самых последних версий этих библиотек.

После того как вы установили необходимую библиотеку объектов баз данных, вы должны указать ее наличие в VBA-проекте, прежде чем сможете использовать ее объекты. Для того чтобы это сделать, воспользуйтесь командой Tools = References, чтобы открыть диалоговое окно References (см. главу 12), в котором вам следует добавить необходимые сведения.

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

Возможность связывания элементов управления с данными представляет собой ключевое отличие Access от большинства других VBA-приложений. Однако, если вы используете приложение, например Word, которое не содержит элементы управления соответствующих типов, вы можете добавить их, отдельно приобретя специальные наборы инструментальных средств ActiveX. В состав пакета Microsoft Office Developer входит большое количество элементов управления для связывания данных, которые можно использовать в любом приложении Office, а также целый ряд других инструментов и утилит, значительно упрощающих создание программ управления базами данных на VBA. Кроме того, свои разработки предлагают многие сторонние поставщики.

Несколько связанных технологий баз данных

При программировании баз данных в Office вы столкнетесь еще с целым рядом терминов, поэтому вам стоит ознакомиться с ними заранее. ODBC (Open DataBase Connectivity- Открытый интерфейс доступа к базам данных) - это старый стандарт программирования от компании Microsoft, предназначенный для организации доступа к структурированным данным любого типа с помощью SQL. ODBC проектировался в те времена, когда в мире программирования царили функции C/C++, что вам совершенно не нужно при работе с VBA.

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

OLE DB (OLE для баз данных) - это новая спецификация Microsoft для доступа к данным, которая постепенно должна вытеснить стандарт ODBC. Чисто теоретически, OLE DB обеспечивает более простой и гибкий доступ к информации любого типа, которая может представляться в табличной форме. Эта информация сохраняется в обычной настольной базе данных, в базе данных на основе SQL на сервере, в виде набора сообщений электронной почты и т.д. Для представления объектов базы данных программисту используется OLE DB, а не ODBC. Однако еще не каждый поставщик баз данных написал соответствующее средство доступа OLE DB Provider, позволяющее "упаковать" информацию базы данных в форму объектов для дальнейшего их использования с помощью ADO. По этой причине ADO поставляется с дополнительным средством доступа OLE DB Provider, способным подключить любую ODBC-базу данных к ADO.

Программирование баз данных: доступные варианты выбора

Как известно, Access представляет собой приложение для работы с базами данных, входящее в состав Microsoft Office, поэтому использование Access для построения пользовательских программ для работы с базами данных кажется вполне логичным. Однако приведенные

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

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

Мое личное мнение таково: поскольку пользовательский интерфейс и ядро базы данных •- это разные части программного обеспечения, вы можете использовать инструменты, отличные от Access, для того чтобы сообщить ядру базы данных, что же именно вы от него хотите, Именно это вы и делаете, когда создаете программу для работы с базами данных, используя VBA. Даже если вы создаете код в рамках Access, полученный VBA-код взаимодействует с ядром базы данных как с независимым программным компонентом, таким как ADO, а не посредством Access.

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

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

* Другое приложение Office, такое как Word или Excel. В многих пользовательских программах доступ к базам данных представляет собой лишь часть функциональных возможностей. Если программа, которую вам необходимо написать, будет выполнять такие функции, как обработка текста или математические и статические расчеты, создание ее в среде Word или Excel позволит вам напрямую воспользоваться преимуществами соответствующего приложения. С помощью ADO ваша VBA-программа все равно будет обладать возможностью получать, отображать данные и манипулировать ими из баз данных. А программа окажется еще и небольшая, быстрая и менее сложная, чем если вы использовали бы модель СОМ для автоматизации доступа к данным Access из, скажем, Word (или автоматизации доступа к данным Word из Access).

Сами по себе формы и отчеты VBA не способны взаимодействовать с базами данных, но написать код для связывания формы данных вручную не так уже сложно. Кроме а того, вы можете приобрести Office Developer или другие инструментальные средства от сторонних производителей, которые позволят связать формы и элементы управления с данными. Вы можете также переслать результаты своей работы непосредственно в другие VBA-приложения, так как они не зависят от форм Access.

* Visual Basic (не VBA). Visual Basic- это восхитительный инструмент для разработки баз данных. Написанный вами код на Visual Basic может через ADO подключаться к базам данных, как и при использовании VBA, однако формы Visual Basic напрямую поддерживают работу с базами данных, точно так же, как и формы Access. Программа, созданная с помощью Visual Basic, обладает двумя значительными преимуществами перед программой, созданной с помощью VBA-приложения, такого как Word или Excel. Во-первых, она быстрее работает, так как программы, написанные на Visual Basic, компилируются, а не интерпретируются при каждом выполнении, как программы, созданные с помощью VBA. Во-вторых, вы можете свободно распространять программы: конечным пользователям не понадобится базовое VBA-приложение с помощью которого оно было создано.

Поделиться:
Популярные книги

Черный маг императора 3

Герда Александр
3. Черный маг императора
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Черный маг императора 3

Повелитель механического легиона. Том VIII

Лисицин Евгений
8. Повелитель механического легиона
Фантастика:
технофэнтези
аниме
фэнтези
5.00
рейтинг книги
Повелитель механического легиона. Том VIII

Пипец Котенку! 3

Майерс Александр
3. РОС: Пипец Котенку!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Пипец Котенку! 3

Разбуди меня

Рам Янка
7. Серьёзные мальчики в форме
Любовные романы:
современные любовные романы
остросюжетные любовные романы
5.00
рейтинг книги
Разбуди меня

Боги, пиво и дурак. Том 6

Горина Юлия Николаевна
6. Боги, пиво и дурак
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Боги, пиво и дурак. Том 6

Болотник 2

Панченко Андрей Алексеевич
2. Болотник
Фантастика:
попаданцы
альтернативная история
6.25
рейтинг книги
Болотник 2

Ты всё ещё моя

Тодорова Елена
4. Под запретом
Любовные романы:
современные любовные романы
7.00
рейтинг книги
Ты всё ещё моя

S-T-I-K-S. Пройти через туман

Елисеев Алексей Станиславович
Вселенная S-T-I-K-S
Фантастика:
боевая фантастика
7.00
рейтинг книги
S-T-I-K-S. Пройти через туман

Имя нам Легион. Том 4

Дорничев Дмитрий
4. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 4

Сводный гад

Рам Янка
2. Самбисты
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Сводный гад

Я князь. Книга XVIII

Дрейк Сириус
18. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я князь. Книга XVIII

Королевская Академия Магии. Неестественный Отбор

Самсонова Наталья
Любовные романы:
любовно-фантастические романы
8.22
рейтинг книги
Королевская Академия Магии. Неестественный Отбор

Последняя Арена 6

Греков Сергей
6. Последняя Арена
Фантастика:
рпг
постапокалипсис
5.00
рейтинг книги
Последняя Арена 6

Жребий некроманта. Надежда рода

Решетов Евгений Валерьевич
1. Жребий некроманта
Фантастика:
фэнтези
попаданцы
6.50
рейтинг книги
Жребий некроманта. Надежда рода