MS Access 报告 - 可以很漂亮吗?

Posted

技术标签:

【中文标题】MS Access 报告 - 可以很漂亮吗?【英文标题】:MS Access Reporting - can it be pretty? 【发布时间】:2008-09-04 13:31:53 【问题描述】:

我正在进行一个将“电子表格应用程序”转换为数据库解决方案的项目。编写了一个宏,对每个页面进行屏幕截图并将它们粘贴到 PowerPoint 演示文稿中。由于 Excel 中有很好的格式选项,演示文稿看起来非常漂亮。

我遇到的问题是,我从未见过足够漂亮的访问报告,可以显示给高层管理人员。我认为输出仍然必须是 PowerPoint 演示文稿。它需要看起来尽可能接近原始输出。

我目前正在尝试编写一些代码来使用 .pot(演示模板)并以编程方式填写数据。将数据放入 PowerPoint 表格中一直很棘手,因为表格不易操作。例如,如果一个特定的描述太长,我需要进入下一个单元格(不允许自动换行,因为我每页只能有 n 行)。

有没有办法让 Access 报告变得漂亮,我是否走在正确的道路上,还是应该尝试以编程方式填写 Excel 电子表格并使用那里已经存在的代码来生成演示文稿? (我仍然需要弄清楚在使用非等宽字体时如何知道何时换行,因为用户目前在电子表格中输入数据时手动执行此操作)

杰森 Z: 如果我将其设置为换行,并且我已经有 n 行,它会使幻灯片上的 n+1 或 2 行,这是不可接受的。

丹尼斯: 那篇文章看起来很不错,我应该可以从中收集到一些东西。谢谢!

【问题讨论】:

【参考方案1】:

Access 能够创建精美绝伦的报告。问题是它不能使电子表格看起来比 Excel 更好。您必须知道何时使用每种工具。

当您有类似电子表格的格式、需要大量框和线或想要绘制图表时,请使用 Excel。

当您将报告输出为 PDF 时,请使用 Access。它对于每页一条记录的详细报告非常有用,它可以格式化您需要非常精确地定位事物的位置,以及您需要在其中嵌入包含相关或不相关数据的子报告。

想想那些在 Excel 中会令人讨厌的报表,因为您必须在整个地方合并单元格,并在位置上做一些有趣的事情,而布局将永远无法正常工作。这就是 Access 的亮点。

【讨论】:

【参考方案2】:

Joel,(您在这里的共同主持人)在几年前就使用访问报告来制作运输标签做了一件事……也许这对您有启发?

http://www.joelonsoftware.com/articles/HowToShipAnything.html

【讨论】:

【参考方案3】:

我已经实现了足够“漂亮”的 Access 报告。缺点是需要大量时间和精力,以及反复试验才能产生所需的输出。

你绝对可以到达那里,但这需要圣人的耐心。

【讨论】:

【参考方案4】:

我想这取决于你所说的漂亮是什么意思。例如,我发现在 Access 中生成带有交替线阴影的合理图形和表格并不是特别困难。也可以使用 MS Word 并填写书签或邮件合并。如果当前系统使用 VBA 来创建 PowerPoint 演示文稿,也许其中大部分可以转移到 Access 中? Microsoft 有一篇关于 Access to Powerpoint 的文章:http://msdn.microsoft.com/en-us/library/aa159920(office.11).aspx

最后,从 Access 构建 HTML 输出并非不可能。

【讨论】:

【参考方案5】:

我们创建多色、有条件格式的报告,为上市公司每月的合作伙伴会议打印。他们真的很漂亮。

【讨论】:

【参考方案6】:

我建议您遇到的问题是因为要求以完全相同的方式复制旧方法是一个非常糟糕的主意。

您不再使用 Excel。

您正在使用具有不同功能的不同工具。

因此,您将使用不同的方法来获得结果。

重新评估原始要求,看看它们是否仍然有意义(例如,究竟为什么要涉及 PowerPoint?PowerPoint 可以从 Access 报告快照查看器中导入吗?PowerPoint 可以从 Access 报告生成的 PDF 中导入吗?) ,或者如果它们与旧工具的联系过于紧密,然后确定什么是重要的,什么不重要,那么只有那么你才应该开始设计你的解决方案。

【讨论】:

【参考方案7】:

我个人不会尝试在这里重新发明***。如果您已经有一个具有所需格式的 Excel 工作表,只需将数据从 Access 导出到 Excel 以生成报告。现在,如果您一开始就没有原始 Excel 表格,那将是完全不同的故事。

至于非等宽字体的断行,您是否尝试过将单元格格式设置为换行?

【讨论】:

【参考方案8】:

听起来阻力最小的路径是填写 Excel 电子表格。我们有一个承包商负责我们的 Access 工作,而对于更复杂的报告,他使用 Excel。我想复杂 == 很难看起来不错。

【讨论】:

【参考方案9】:

您可能希望使用 Excel 和 Access 的外部数据功能,而不是以编程方式填写 Excel 电子表格。通常我在每个选项卡上都放一个查询,当然这可能是隐藏的。 “全部更新”会导致更新所有查询。然后摘要选项卡显示所有单个查询的漂亮结果。

对于一个特别复杂的系统,一些 excel vba 以编程方式更改了一个查询,然后遍历更新每个选项卡。

最后,Excel 有一个“将单元格复制为图像”副本,它使用可调整大小的图像填充复制缓冲区,而不是屏幕截图。这可以为您提供比纯屏幕截图更好看的结果,因为屏幕截图可能有各种缺陷,具体取决于像素密度。

【讨论】:

【参考方案10】:

只是一个更新: 经过几个小时的工作,我能够从 Access 中获得一份不错的报告(几乎是 excel 版本的精确副本)。这并不像我想象的那么难,我只需要弄清楚子报表和分页符的正确组合。

使用 Excel/Powerpoint 的自动换行功能是一条死胡同,因为每页只能有固定的行数,句号;另外,我懒得自己确定所有与 VBA 代码问题有关的分页。正如 Shelley 所说,Access 在报告生成方面大放异彩。

最终输出为 PDF(使用 Adob​​e Acrobat Professional)。我留下的问题是将所述 PDF 的选定页面放入 Powerpoint 中,而 Powerpoint 没有为我对结果进行抗锯齿处理,并使生成的幻灯片的文本变得模糊。我发现了几篇关于将 .snp 输出转换为 .wmf 的文章,这听起来像是在这方面的方法。

【讨论】:

以上是关于MS Access 报告 - 可以很漂亮吗?的主要内容,如果未能解决你的问题,请参考以下文章

MS Access:突出显示 MS Access 报告中的特定字段

MS 访问报告

将 MS Access 报告导入 C#

通过 VBA 自动使用查询从 Ms Access 2007 生成报告

使用 VB.NET 打印 MS Access 报告

MS Access 报告中的重复小计