1

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

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

Web 服务器是 Windows 2003 上的 IIS。

欢迎任何指示或想法。我不精通 IIS 管理或 ASP 页面。

4

3 回答 3

1

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

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

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

这不是一个好的解决方案,因为每个请求启动一个 Access 副本并不是真正可取的。

另一种选择是使用在打开时启动的 VBA 子程序在服务器上启动 Access。该子程序可以轮询一个目录以查找由您的 Web 服务器编写的请求。然后在收到请求时运行报告并将其写入某处。同样,您必须以唯一的请求 ID 为基础。

我不确定哪个“解决方案”会更好.... Access 作为命令行报告生成器或 Access 作为批处理报告服务。两者都会令人讨厌,但会让您度过难关,直到您可以迁移到报告服务。

于 2008-10-17T07:48:55.507 回答
0

这是一种实现您所要求的方法的回合。您可以使用包含报告服务组件的 sql server express 2005 或 2008 高级版的免费版本。使用报告生成工具,您可以将您的 access 2007 报告转换为 sql server 报告,并让这些报告从 access 数据库中获取。如果您想走这条路,您也可以将数据库迁移到 sql server。报告服务将生成 pdf、xls、csv 和 xml 格式作为报告的输出,您只需将 url 中的参数传递给服务器,服务器就会以请求的格式返回您的报告。

sql server 2008 express 高级版链接:

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

于 2008-10-17T07:17:39.393 回答
0

如果您不想在 .Net 中重写,那么 Classic ASP 和 VBScript 怎么样?VBScript 与 VBA 有很多共同之处,因此创建可用的东西应该不会花很长时间,并且 Internet 上有很多关于 ASP 和 VBScript 的帮助。例如,一个简单的搜索返回了这种使用 Adob​​e 从 ASP 创建 PDF 的方法:

使用 ASP 创建 PDF

于 2008-10-17T09:05:05.853 回答