2008-10-17 67 views
1

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

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

Web服务器是在Windows 2003上IIS

任何指针或想法将受到欢迎。我不熟悉IIS管理或ASP页面。

感谢所有回应。

回答

1

第一快速和肮脏的方法我能想到的是打电话从shell访问,并通过它的几个参数打开为已读只能运行一个宏。

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

最后但并非最不重要的你的访问宏/ VBA Sub将需要关闭访问权限。

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

另一种选择是在服务器上启动Access,并启动打开的VBA子文件。这个子集可以轮询一个目录,查找由您的Web服务器写入的请求。然后在收到请求后运行报告并将其写入某处。再次,你必须以一个唯一的请求ID为基础。

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

0

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

连接到SQL Server 2008 Express高级版:

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

+0

感谢您的建议,但同时我们计划在不久的将来迁移到SQL Server这不是真的,此刻的解决方案。 报告的代码已经存在,我们希望使用它。 这仅仅是将请求传递给Access并获取文件的问题。 – 2008-10-17 07:30:45

0

如果你不想在.Net中重写,那么经典ASP和VBScript怎么样? VBScript与VBA有许多共同之处,因此不应该花费太长时间才能创建可用的东西,并且在Internet上有很多ASP和VBScript的帮助。例如,一个简单的搜索返回从ASP创建与Adobe PDF文件的这个方法:

Creating a PDF with ASP