- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
VBA для чайников - Стив Каммингс
Шрифт:
Интервал:
Закладка:
Все об объектах баз данных
Сам по себе язык VBA не предоставляет никаких средств для доступа к базам данных и манипулирования содержащейся в них информацией. Однако после объединения с библиотекой объектов баз данных VBA тотчас превращается в инструмент для программирования баз данных с очень широкими возможностями.
Основная задача, выполняемая библиотекой объектов базы данных,- представление базы данных и всех ее компонентов (таблицы, запросы, отчеты и т.д.) в объекты, по своему проявлению мало отличающиеся от других объектов, используемых в VBA. Благодаря этому вы получаете возможность манипулировать ими, используя их свойства, методы и события (подробности в главе 12). Поскольку база данных представляется в виде набора объектов, ее библиотека объектов избавляет вас от необходимости беспокоиться о деталях сложной структуры базы данных. Кроме того, вы можете использовать тот же набор объектов для манипулирования базами данных других типов.
Вы можете выбирать среди нескольких библиотек баз данных; чаще других пользуются предложения компании Microsoft. Сюда относятся ADO (ActiveX Data Objects- Объекты данных ActiveX), текущий стандарт, и DAO (Data Access Objects - Объекты доступа к данным), старая библиотека объектов, но все еще широко используемая. Другие поставщики предлагают свои собственные библиотеки объектов баз данных. Например, если вы работаете исключительно с файлами dBase, вам следует подумать об использовании CodeBase (продукт компании Sequiter Software).
В данный момент компания 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.

