Одной из основных задач публикации является преобразование объектов базы данных в Web-страницы.
При публикации БД в Интернете с помощью Microsoft Access 2000 можно создавать следующие три разновидности Web-страниц:
• статические станицы HTML;
• динамические (серверные) страницы HTML;
• страницы доступа к данным.
Статические страницы HTML создаются из таблиц, запросов, форм и отчетов. Они не требуют подключения к источнику данных (то есть к самой БД), содержат в себе всю необходимую информацию для отображения, при этом нет никакой необходимости в дополнительной настройке при публикации на Web-сервере в сети Интернет. Чтобы сделать статические файлы HTML доступными в Интернете, следует опубликовать их в папках Web или на Web-сервере.
Однако такие страницы содержат лишь те данные, которые существовали в базе данных на момент публикации, и, конечно, эти данные доступны только для просмотра в браузере, а не для редактирования (пример статической страницы представлен на рис.27.1).
Подключение базы данных Access к приложению Visual Studio
Рис. 27.1. Таблица «Поставщики», экспортированная в формат HTML
Использование статических страниц целесообразно только в тех случаях, когда данные в БД изменяются очень редко. При изменении БД нужно вновь экспортировать статические страницы на Web-сервер для просмотра новых данных в обозревателе.
На рис. 27.2 представлена принципиальная схема публикации БД с помощью статических страниц.
Рис. 27.2. Принципиальная схема публикации БД с помощью статических страниц.
Динамические страницы HTML создаются из таблиц, запросов и форм. Они используются, когда информация в БД часто изменяется. При этом связь с БД организуется с помощью ODBC-интерфейса или ADO-интерфейса.
Замечание: ODBC – широко распространенная технология форматно
независимого доступа к данным из прикладных программ. Она предусматривает, что
программа непосредственно взаимодействует с диспетчером драйверов, посылая ему
ODBC-вызовы; диспетчер драйверов отвечает за динамическую загрузку нужного
ODBC-драйвера, через который обращается к СУБД (серверу баз данных).
Чтобы постоянно предоставлять пользователям Web актуальную информацию, достаточно один раз создать страницу и экспортировать ее на Web-сервер. И каждый раз после изменений в источнике (в БД) новые данные будут попадать в нее автоматически. Иными словами, заполнять (динамически генерировать) страницу будет Web-сервер по запросу обозревателя любого пользователя Интернет. При этом пользователи Интернет могут только просматривать эти страницы, Однако редактировать данные содержащиеся на динамической странице (как и на статической) нельзя.
Таким образом, эти страницы являются динамическими в смысле их содержимого, но не их структуры. Изменять структуру страниц (например, число полей или их типы), как и их состав (то есть их количество), пользователи также, естественно, не могут.
Готовая база данных Access Автосалон за 20 минут
Поясним основную идею генерации динамических страниц более подробно. Она состоит в следующем. При (первоначальном преобразовании объектов, то есть до экспорта динамической страницы) объекты БД преобразуются не в файлы с расширением htm, а в файлы с расширением htx (то есть создается шаблон отображения данных; на рис. 27.3 представлен вид окна на стадии создания шаблона).
Рис. 27.3. Диалоговое окно Настройка вывода файлов НТХ и IDC (для формирования шаблонов динамических страниц)
Кроме того создаются файлы IDC (команды для извлечения данных из базы). Файл с расширением idc содержит запрос в форме инструкции SQL и данные, используемые Internet Information Server для связи с источником данных ODBC, то есть с базой данных Microsoft Access. Данные о связи включают название источника данных (БД), а также имя пользователя БД и пароль для входа.
При обращении к объекту базы данных, опубликованному в описываемом формате (то есть по запросу любого пользователя Интернет), Web-сервер (Internet Information Server) открывает базу данных Microsoft Access с помощью драйвера Microsoft Access и данных в файле с расширением idc, запускает запрос из файла IDC для доступа к данным. После выполнения запроса полученный результат объединяется с данными из файла НТХ в один файл с расширением html, который затем отправляется программе просмотра пользователя (приславшего запрос на страницу), где отображается в виде Web-страницы.
На рис.27.4 представлена принципиальная схема публикации БД с помощью динамических страниц.
Рис. 27.4 Принципиальная схема публикации БД с помощью динамических страниц.
Страницы доступа к данным представляют собой полноценный интерактивный интерфейс к данным в базе. Это специальный тип Web-страниц, предоставляющий пользователям Web интерфейс форм и отчетов Access для доступа к данным из базы данных Microsoft Access. Страницы доступа к данным представляют собой текстовые файлы с исходным кодом, соответствующим расширенному стандарту HTML — XML (Extended Markup Language).
Как уже отмечалось выше, формат динамических страниц HTML, генерируемых сервером, позволяет получать актуальные данные, но не позволяет редактировать их.
Страницы доступа к данным дают возможность делать и то и другое. И еще с их помощью можно добавлять, удалять, сортировать и группировать записи. Каждый раз после изменений в базе данных новые данные автоматически попадут на страницу доступа к данным. А если отредактировать данные на странице доступа к данным, изменения автоматически попадут в присоединенную базу данных.
Внешний вид страницы доступа к данным обычно практически не отличается от внешнего вида исходного объекта. Небольшие отличия состоят в том, что на страницах доступа к данным могут появиться дополнительные элементы управления, позволяющие работать с записями. Например, на странице доступа к данным, полученной из отчета «Счет», есть элементы управления, позволяющие переходить между записями и сворачивать или разворачивать уровни группировки (рис. 27.5).
Вообще говоря, интерфейс базы данных обычно включает достаточно сложные формы и отчеты: многостраничные и с подчиненными формами и отчетами, со связанными объектами. К сожалению, точных аналогов многостраничных форм, подчиненных форм и отчетов и связанных объектов в страницах доступа к данным Access 2002 не существует, однако с помощью программирования можно реализовать все необходимое для работы с данными.
Кроме того, программирование позволяет снабдить страницу доступа к данным процедурами реакций на события, такие как нажатие кнопки, получение страницей фокуса и многие другие. То есть страницы обладают всеми необходимыми возможностями, которые предоставляют формы и отчеты Access (пример страницы доступа представлен на рис 27.5).
Рис. 27.5. Отчет «Счет», преобразованный в страницу доступа к данным
Страницы доступа к данным поддерживаются программой просмотра Internet Explorer версии 4.0 или более поздней. Полная поддержка всех
возможностей реализована в версии 5.0.
Страницы доступа к данным появились как новый тип объектов базы данных в Access 2000. Но в отличие от других объектов, они не хранятся в файле базы данных, а хранятся в виде отдельных файлов HTML. В базе данных содержатся только ярлыки, указывающие на эти файлы. Список ярлыков страниц доступа к данным отображается в окне базы данных (рис. 27.6).
Рис. 27.6. Ярлык для доступа к странице Личная карточка
Работать со страницей доступа к данным можно, открыв ее либо в программе просмотра Интернета, такой как Internet Explorer, либо в приложении Access 2002.
Возможности страницы доступа к данным зависят от того, для чего она предназначена. Существуют три основных типа страниц доступа к данным, обеспечивающмх:
- Составление отчетов в интерактивном режиме. Страницы доступа к данным этого типа часто используются для объединения и группировки сведений, хранящихся в базе данных, а также для публикации сводок данных. Например, страница может публиковать сводки по продажам для каждого региона, в котором проводятся операции. С помощью маркеров развертывания можно перейти от общей сводки данных, такой как список всех регионов и общий объем продаж по ним, к подробностям по продажам отдельных товаров в каждом регионе. Страница может также содержать кнопки панели инструментов, позволяющие сортировать и фильтровать данные, однако редактировать данные на страницах этого типа невозможно.
- Ввод данных и редактирование данных. Этот тип страниц доступа к данным используется для просмотра, добавления и редактирования записей или только для добавления записей.
- Анализ данных. Страницы доступа к данным этого типа могут включать сводные списки (аналог сводных таблиц Excel), которые позволяют реорганизовывать данные для их анализа различными способами. Страница может содержать диаграммы для анализа тенденций, закономерностей и выполнения сравнений между данными в базе данных или электронные таблицы, в которые можно вводить и редактировать данные, а также использовать формулы для выполнения некоторых вычислений, выполняемых в Microsoft Excel.
Страница доступа к данным непосредственно связана с базой данных. При просмотре в Internet Explorer отображается копия страницы. Поэтому любой отбор данных, сортировка и другие изменения способа отображения данных, включая изменения в сводном списке или электронной таблице, влияют только на копию страницы. Однако изменения в самих данных — изменение значений, добавление или удаление данных — сохраняются в базе данных и впоследствии доступны всем, кто просматривает страницу.
При публикации страниц доступа к данным необходимо помнить о том, что база данных также должна быть опубликована на Web-сервере (например, как источник ODBC). В противном случае страница не получит доступа к объектам базы данных.
На рис. 27.7 представлена принципиальная схема публикации БД с помощью страниц доступа к данным.
Рис. 27.7. Принципиальная схема публикации БД с помощью страниц доступа к данным.
Преобразование объектов базы данных в форматы публикуемых страниц (HTML) производится с помощью одной и той же команды Файл/Экспорт (Export), которая может быть выбрана из окна БД Access.
Экспортировать любую созданную страницу или саму БД на Web-сервер проще всего при помощи Проводника Windows (рис. 27.8).
Рис. 27.8. Диалоговое окно Экспорт объекта
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Источник: studopedia.ru
Выгрузка данных из Access в шаблон Word и Excel
Всем привет, сегодня мы поговорим о том, как можно выгрузить данные из Access в такие приложения как Word и Excel. Но не о стандартном способе, который есть в Access (связь с Office), а о способе, который позволяет выгружать данные в заданный шаблон как в Word, так и в Excel.
Другими словами, это нужно тогда, когда создать отчет в Access по шаблону, который уже существует, например, в Word, невозможно или слишком трудоемко. Как Вы знаете, отчет в Access может выводиться просто коряво или, самый распространенный вариант, это когда много текста, который в отчете Access не так хорошо форматируется как в Word, а данных не так много, но отчет необходимо автоматизировать, например это какие-то договора, заявления и так далее.
Использование слияния из самого Word-а не очень удобно, поэтому сегодня я расскажу, как можно заполнять такие шаблоны напрямую из Access, путем нажатия на одну кнопку.
Кроме выгрузки в шаблон Word, иногда возникает и необходимость выгрузки в шаблон Excel, и этот способ мы тоже сегодня рассмотрим.
Экспорт данных из Access в шаблон Word
Вся разработка делится на две части, это:
- Настройка шаблона Word;
- Настройка выгрузки данных в шаблон.
Суть настройки шаблона заключается в том, чтобы проставить необходимые поля в тех местах шаблона, где нужно выводить те или иные данные. Это делается с помощью полей формы.
Примечание! Я использую Microsoft Word 2003.
Открываем шаблон Word, для начала добавим необходимую панель инструментов, для этого нажимаем «Вид -> Панель инструментов» и ставим галочку «Формы». Теперь у Вас отобразилась панель инструментом «Формы». Все, что осталось сделать — это вставить в местах, в которых необходимо выводить данные, элементы «Текстовое поле», которые доступны на только что добавленной панели инструментов.
После добавления поля, у Вас появится серая область, которая свидетельствует о том, что поле добавлено. Теперь необходимо задать имя этого поля, для того чтобы потом из access вставлять в него значения (стандартное названия не очень удобное). Для этого щелкните правой кнопкой мыши по полю и нажмите «Свойства». В поле закладка напишите желаемое имя этого поля, я в примере назвал его MyTestPole.
Создайте столько полей, сколько Вам нужно.
На этом настройка шаблона закончена, рекомендую сделать этот шаблон только для чтения, а то пользователь возьмет, сформирует документ и сохранит его, и шаблон тем самым потеряется, а если сделать его только для чтения, то у него такой возможности не будет, только сохранять через «Сохранить как».
Переходим к более интересной задачи, это к реализации самой выгрузки из Access в этот шаблон на VBA.
Примечание! Я использую Access в связке с MS SQL 2008, поэтому и данные буду брать от туда.
Код VBA для выгрузки данных в шаблон Word
Допустим, у Вас есть форма, сделайте на ней кнопку (я назвал ее testbutton) и в событие нажатие кнопки вставьте следующий код VBA:
Экспорт данных из Access в шаблон Excel
В шаблоне Excel уже не нужно создавать поля как в Word, так как здесь мы уже будем ориентироваться по адресам ячеек.
Существует несколько способов, как заполнять Excel шаблон, я опишу два, первый — это тогда, когда Вам просто необходимо проставить несколько полей, т.е. в источнике данных будет всего одна строка с несколькими столбцами. Второй — это когда строк будет уже несколько, причем Вы не знаете, сколько именно (в зависимости от каких то условий). В шаблоне по умолчанию отведено для этого все пару строк, поэтому мы будем нужные нам строки добавлять, для того чтобы наши данные не накладывалась на строки ниже (допустим там примечание, подпись руководителя и т.д.). И совет, я здесь, для примера, использую всего один источник данных, а Вы, если Вам необходимо заполнить шапку, примечание и некое количество строк (т.е. область данных), можете использовать несколько источников (Recordset).
Код VBA для выгрузки данных в шаблон Excel
Сначала добавьте кнопку на форму (я ее назвал testexcel) и вставьте следующий код в событие «Нажатие кнопки».
Здесь я также все подробно прокомментировал, но если есть вопросы, то задавайте их в комментариях к данной статье.
Для сведения, я здесь при создании объекта и Word.Application и Excel.Application использовал позднее связывание, для того чтобы не добавлять необходимые библиотеки и обеспечить совместимость.
Надеюсь, мои примеры Вам помогут!
Источник: info-comp.ru