创建 UI 以在 Access 2013 中打印报表
本文关键字:打印 报表 2013 Access UI 以在 创建 | 更新日期: 2023-09-27 18:37:11
我在 Access 2013 中有一个格式经过仔细的报表,我正在尝试创建一个 UI,该 UI 将在单击按钮时打印此报表。 我会对 C# WPF 或窗体应用程序或可能包含此按钮的 HTML 页面开放。
有谁知道这是否可能,如果是的话,代码是什么?
我的最终目标是让用户能够打印此报表,而无需直接访问数据库。 我对其他语言/平台持开放态度。
归根结底,您仍然需要安装 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 将报表拖到桌面上。结果是桌面上的一键式按钮,将启动相关报告。