|
|||||||||
Авторы: Владимир Рафалович, Создание Web-страниц, связанных с базами данных, обычно требует от программиста значительных усилий. Но даже тогда, когда все коды написаны и запросы к серверу готовы, все еще остается проблема вывода данных на экран броузера. Язык HTML довольно ограничен в представлении данных в презентабельном виде. Один из вариантов преодоления этого ограничения и рассмотрен в нашей статье. Мы опишем способ отображения в броузере документов-отчетов, созданных средствами СУБД MS Access. Следует сразу отметить, что изложенное ниже относится пока лишь к одному броузеру Microsoft Internet Explorer, так как в настоящее время только в нем поддерживается технология ActiveX. Идея метода такова. Сначала с помощью встроенных инструментов ACCESS создается отчет. Затем он сохраняется как отдельный файл в специальном формате. Такую возможность обеспечивает недавно выпущенный компанией MICROSOFT сервис-пакет. Далее сохраненный отчет можно выложить на WEB-сервер и просмотреть с помощью Internet EXPLORER, имеющего специальный ACTIVEX-модуль. Этот модуль единственный раз загружается на компьютер клиента с сервера при первом обращении к соответствующему документу. Для реализации описанного метода разработчику необходимо иметь ACCESS 97 или старше. А кроме того, две дополнительные программы, доступные на WEB-сайте компании MICROSOFT, - MICROSOFT OFFICE 97 SERVICE RELEASE 1 и SNAPSHOT VIEWER KIT. Первая из указанных программ после инсталляции даст возможность ACCESS сохранять отчеты в специальном формате в виде отдельных компактных файлов с расширением .SNP (от английского "SNAPSHOT" - копия, фотография). Дистрибутив этой программы находится по адресу: www.microsoft.com/office/office97/servicerelease. Второй комплект включает в себя программу для просмотра snp-файлов на локальном компьютере, activex-файл, загружаемый броузером в качестве расширения, и help-файлы. Этот комплект можно найти по адресу: www.microsoft.com/accessdev/prodinfo/snapshot.htm. Детальное описание программы с примерами использования содержится в help-файлах. Как воспользоваться новыми возможностями? Например, с помощью CGI-программы, которая по запросу пользователя обратится к базе данных, получит SNP-файл и покажет его пользователю в окне броузера. К сожалению, этот подход применим не всегда, так как CУБД MS ACCESS вполне удовлетворительно работает, когда количество пользователей, обращающихся к ней одновременно, не превышает 3-5 человек. Однако следует заметить, что во многих случаях такого он-лайн - отображения - не требуется, достаточно иметь на WEB-сервере готовые, периодически обновляемые документы. Рассмотрим, как это может быть организовано практически. Начнем с создания базы данных, которая, к примеру, содержит информацию о результатах текущего тура чемпионата России по футболу. Для простоты заведем одну таблицу с данными по 16 командам. Содержание таблицы будет меняться от тура к туру, следовательно, и документы на WEB-сервере должны обновляться с такой же периодичностью. После того как таблица создана и данные по текущему туру введены, мы можем сформировать отчет. Если вы уже установили MICROSOFT OFFICE 97 SERVICE RELEASE 1, то в ACCESS в меню FILE | SAVE AS/EXPORT имеется возможность сохранить отчет в SNP-формате. Теперь надо поместить полученный файл на WEB-сервере и сделать на него ссылку из HTML-файла, например, как здесь:
В результате просмотра этого HTML-файла в броузере вы получите изображение, показанное на рис. 1. Несложно заметить, что оно полностью совпадает с внешним видом обычного отчета MS ACCESS. Значение CLASSID очень важно, и его следует написать без ошибок. Параметр CODEBASE необходим так же, как при любом обращении к ACTIVEX-компонентам. Здесь указывается название OCX-файла, который будет загружаться броузером клиента при первом обращении к SNP-документу. Поэтому файл SNAPVIEW.OCX целесообразно расположить в одной директории с HTML-файлом. Разумеется, он может находиться и в другой директории, но тогда необходимо указать путь к нему (например, CODEBASE="/CONTROLS/SNAPVIEW.OCX"). Обычно при использовании ACTIVEX из HTML-файла делается ссылка на так называемый CAB-файл, а не на сам OCX-модуль. Однако в нашем случае требуется всего один модуль, поэтому нет необходимости в дополнительных ссылках. Другой аспект, на котором хотелось бы остановиться, - безопасность. Поскольку модуль создан компанией MICROSOFT, вам не следует опасаться, что он нанесет вред вашему компьютеру. Если пользователь не сможет загрузить модуль в свой броузер, получив предупреждение о безопасности, необходимо изменить настройку броузера и установить более низкий уровень безопасности. Другими важными параметрами являются WIDTH и HEIGHT, которые определяют размер изображения отчета. Параметр SNAPSHOTPATH определяет расположение самого SNP-файла. В нашем случае файл TEAMS.SNP и HTML-файл расположены в одной директории. Три последних параметра определяют возможности пользователя по управлению отображением отчета непосредственно в окне броузера. В качестве значений они могут иметь два значения: 0 и -1. Если для параметра "ZOOM" выбирается значение -1, то отчет в своем начальном состоянии будет свернут. Выбор -1 для значения параметра SHOWNAVIGATIONBUTTON позволяет отобразить кнопки управления отчетом (см. рис. 2). Важно отметить принципиальное отличие кнопки PRINT в окне отчета от кнопки PRINT самого броузера. Последняя выдает на печать всю WEB-страницу целиком с указанием множества дополнительных параметров (URL, например) и, как составляющую, включает окно ACTIVEX с отчетом, который в зависимости от выбранного масштаба может не поместиться в этом окне целиком. Кнопка PRINT в окне отчета, показанная на рис. 2, позволяет распечатать отчет как таковой. Если для параметра ALLOWCONTEXTMENU выбрано значение -1, то это добавит к окну всплывающее (POPUP) меню, которое представляет собой альтернативный способ управления отображением отчета. Когда значения данных в базе изменятся, файл TEAMS.SNP на WEB-сервере будет необходимо обновить. Этот процесс не сложно автоматизировать, например, средствами VISUAL BASIC, сведя все манипуляции к нажатию одной кнопки. Авторы благодарят читателей за интерес и надеются, что время, потраченное на чтение статьи, не будет бесполезным. Авторы: Владимир Рафалович,
|
|||||||||
![]() |
![]() |