我构建了一个MS Access 2007应用程序,可以创建各种格式的报告文件(PDF,XLS,CSV,XML)。
我想允许从网页访问这些报告的创建,用户只需点击链接并下载我的Access应用程序生成的报告。

我想保持简单,我对这个阶段重写.Net中的数据处理不感兴趣。我只是想找到一种方法来自动创建用户报告以返回可以下载的文件 从本质上讲,我的Access应用程序将充当某种Web服务。

Web服务器是Windows 2003上的IIS。

欢迎提出任何指示或想法。我不熟悉IIS管理或ASP页面。

有帮助吗?

解决方案

我能想到的第一个快速而脏的方法是从shell调用Access并将其传递给一些参数以打开为只读并运行宏。

该宏必须从某个地方(可能是env变量)提取它的报告参数,运行报告并将其保存为Excel,PDF或其他任何名称。为此,您需要传递报告名称,唯一的请求ID和param数组来处理多个(或没有)参数。

最后但并非最不重要的是,您的Access宏/ VBA Sub需要关闭访问权限。

这不是一个很好的解决方案,因为尽管不建议每个请求启动一个Access副本。

另一种选择是在服务器上启动Access,其中VBA sub在打开时启动。此子点可以轮询目录以查找Web服务器写入的请求。然后在收到请求时运行报告并将其写入某处。同样,您必须以独特的请求ID为基础。

我不确定哪个“解决方案”会更好....作为批处理报告服务访问命令行报告生成器或Access。两者都是讨厌的,但是在你可以迁移到报告服务之前会让你超过驼峰。

其他提示

这是一种实现你所要求的方式。您可以使用免费版本的sql server express 2005或2008高级版,其中包括报告服务组件。使用报告生成工具,您可以将访问2007报告转换为SQL Server报告,并将这些报告从访问数据库中提取出来。如果你想要去那条路线,你也可以转到将数据库迁移到sql server的程度。报告服务将生成pdf,xls,csv和xml格式作为报告的输出,您只需将URL中的参数传递给服务器即可生成这些报告,服务器将以请求的格式返回报告。

链接到sql server 2008 express高级版:

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top