创建 UI 以在 Access 2013 中打印报表

本文关键字:打印 报表 2013 Access UI 以在 创建 | 更新日期: 2023-09-27 18:37:11

我在 Access 2013 中有一个格式经过仔细的报表,我正在尝试创建一个 UI,该 UI 将在单击按钮时打印此报表。 我会对 C# WPF 或窗体应用程序或可能包含此按钮的 HTML 页面开放。

有谁知道这是否可能,如果是的话,代码是什么?

我的最终目标是让用户能够打印此报表,而无需直接访问数据库。 我对其他语言/平台持开放态度。

创建 UI 以在 Access 2013 中打印报表

归根结底,您仍然需要安装 Access,在一天结束时,您仍然需要启动 Access,最终您仍然 100% 依赖 Access。

因此,要打印访问报告,您仍然必须启动访问。完全不清楚为什么您无法在 Access 中构建所需的 UI,因为您仍然 100% 依赖 Access 来生成此报告。

因此,您必须自动化访问并依赖访问。可以使用支持 COM 对象自动化的任何系统或语言。

所以在Windows脚本中,你可以去:

Dim app        As Object
Set app = CreateObject("access.application")
app.OpenCurrentDatabase ("path to database")
app.DoCmd.OpenReport ("ReprotName")
app.CloseCurrentDatabase
app.Quit

上述相同的代码可以在 vb.net 中工作。请注意,打开报表的"默认"将发送到打印机而不进行预览。

另请记住,由于您正在创建 Access 应用程序的实例,因此所有启动代码和窗体都将启动并运行。如果这样的启动代码和正在运行的启动表单需要任何用户交互,那么上述操作将不起作用。由于上述"许多"问题,您可能最好创建一个应用程序,该应用程序已将表链接到数据,并包含所需的报告。因此,此方法将避免运行所有现有的应用程序代码和启动表单。

因此,无论如何,您都必须启动应用程序并处理所有启动表单等。如前所述,通常,将报表复制到具有链接表的单独应用程序中是有意义的。

另请记住,Access 运行时(与完整版本相对)不支持也不允许使用 CreateObject - 您必须求助于 shell() 和启动参数来启动 + 运行报告。

最后但并非最不重要的一点是,您可以从 Access UI 将报表拖到桌面上。结果是桌面上的一键式按钮,将启动相关报告。