Использование MS Access для возврата отчетов по требованию на веб-сервере? - PullRequest
1 голос
/ 17 октября 2008

Я создал приложение MS Access 2007, которое может создавать файлы отчетов в различных форматах (PDF, XLS, CSV, XML).
Я хотел бы разрешить создание этих отчетов с веб-страницы, где пользователи просто щелкают ссылку и получают отчет, созданный моим приложением Access.

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

Веб-сервером является IIS в Windows 2003.

Любые указатели или идеи приветствуются. Я плохо разбираюсь в администрировании IIS или страницах ASP.

Ответы [ 3 ]

1 голос
/ 17 октября 2008

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

Этот макрос должен извлекать параметры своего отчета откуда-то (возможно, переменные env), запускать отчет и сохранять его в формате Excel, PDF или любого другого под уникальным именем. Для этого вам нужно передать имя отчета, уникальный идентификатор запроса и массив параметров для обработки нескольких (или ни одного) параметров.

И последнее, но не менее важное: ваш макрос Access / VBA Sub должен будет закрыть доступ.

Это не хорошее решение, так как запуск одной копии Access на запрос не очень рекомендуется.

Другим вариантом является запуск Access на сервере с сабвуфером VBA, который запускается при открытии. Эта подпрограмма может опрашивать каталог для запросов, написанных вашим веб-сервером. Затем при получении запроса запустите отчет и напишите его куда-нибудь. Опять же, вам придется основывать это вокруг уникального идентификатора запроса.

Я не совсем уверен, какое "решение" было бы лучше .... Доступ в качестве генератора отчетов из командной строки или Доступ в качестве службы пакетных отчетов. И то, и другое было бы неприятно, но заставило бы вас преодолеть все трудности, пока вы не сможете перейти на службу отчетов.

0 голосов
/ 17 октября 2008

Если вы не хотите переписывать в .Net, как насчет Classic ASP и VBScript? VBScript имеет много общего с VBA, поэтому не нужно много времени, чтобы создать что-то пригодное для использования, и в Интернете для ASP и VBScript доступна большая помощь. Например, простой поиск вернул этот метод создания PDF с Adobe из ASP:

Создание PDF с ASP

0 голосов
/ 17 октября 2008

Это своего рода раунд о том, как добиться того, что вы просите. Вы можете использовать бесплатную версию SQL Server Express 2005 или 2008 Advanced Edition, которая включает в себя компонент служб отчетов. Используя инструменты генерации отчетов, вы можете конвертировать отчеты Access 2007 в отчеты SQL Server и получать эти отчеты из базы данных доступа. Вы также можете перейти на уровень миграции базы данных на сервер SQL, если вы хотите пойти по этому пути. Службы отчетов будут генерировать форматы pdf, xls, csv и xml в качестве выходных данных для ваших отчетов, и вы можете создавать эти отчеты, просто передавая параметры в URL на сервер, который вернет ваш отчет в запрошенном формате.

Ссылка на SQL Server 2008 Express Advanced Edition:

http://www.microsoft.com/express/sql/download/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...