1
6
好吧,好吧,没有其他人插手,我试试。 有趣的是,你如何谈论一个15岁以上的报告作者。当时,访问报告编写器已经超出了技术水平。这是一个领先于其他行业的国家。即使在今天,许多相互竞争的报表编写者也没有子报表的概念,因为子报表允许在不使用代码甚至SQL的情况下对关系数据进行建模。然后,加入可编程的vba,结果是非常独特和强大的。 对于Access2007,报告作者在布局控件方面收到了一些更好的升级,但在这里没有什么帮助。 而且,对于2010年,我们现在可以在子表单控件中显示报表。添加此功能是为了方便使用新的访问导航控件。Access2010有一个新的Web浏览器控件(在窗体或报表中工作),还有一个新的导航控件。您的文章提示新的导航控件和Web控件在某种程度上是相互关联的,但它们完全不同。 新的Web浏览器控件和导航控件都可以在Web应用程序或100%客户端专用应用程序中使用。导航控件很不错,因为您可以通过将报告拖放到导航控件上来构建导航控件,从而建立一个可供选择的报告列表(它既流畅又简单又美观)。使用这个导航控件,我们实际上可以为报表构建一些很好的向下钻取类型的接口。 正如您在Access 2010中提到的,我们现在有了访问报告的Web发布,此功能基于SQL Server Reporting Services(它们是RDL报告)。然而,这里的两个重要问题是不允许在Web报表中使用vba。而且,我还指出,没有内置到Access中的自动转换实用程序可以将现有报表转换为基于Web的报表。因此,要构建一个将被指定并发布到Web的报告,您必须特别选择创建一个Web报告来实现这个目标。因此,这将回答并清除您的一个问题,这是否有助于您将现有报表转换为SQL Server,答案是“否”。因此,Access将不帮助您将现有报表转换为基于Web的RDL报表(如前所述,Access对这些Web报表使用RDL和SQL报表-这些报表也在访问客户端呈现,而不使用conv埃里森) Access通过SharePoint为基于Web的报表提供了一条很好的路径,而且Access Web也将进入Office 365。但是,请记住,此功能对您现有的报告没有太大帮助。 事实上,如果您要使用WinForms报表查看器,我将看到的一件事情是,现有的VBA报表代码将移动到何处?你没有提到这个问题。如前所述,这些报告的一个真正有趣和伟大的特性是嵌入了VBA代码。通常使用VBA是因为SQL和类似RDL的东西都不起作用,因为这两种语言(SQL和RDL)都不是过程代码。 我不能强调这个概念有多重要。因此,这非常意味着任何报表编写器替换都意味着代码现在必须在报表之外,并移动到应用程序中。因此,请记住这个问题,就像现在发布新报告一样,您也在发布那些报告中没有包含的新过程代码。此代码必须成为应用程序的一部分(因此,要发布新报告,您还将发布软件的新版本)。 您不太可能找到允许过程代码嵌入到报表中的方法,就像访问一样。因此,报表代码和逻辑现在必须在主应用程序内部和报表外部构建和维护。 一天结束的时候,我应该指出这句古老的格言,如果它不坏,那就不要改变它。访问已经存在很长时间了,但是在过去的几年里,我们看到雷德蒙的人们对这个产品进行了大量投资,因此它没有显示出任何死亡的迹象。 因此,一个可能的建议是保持现状,继续按现在的方式工作。我的意思是你说无论如何你必须继续支持喷气式飞机,这样你就不必离开使用一个主要部分的通道。所以,无论如何,你还是要使用喷气式发动机。所以,您只需转储报告端,就仍然可以使用jet数据引擎。 但是,假设已经做出了这个决定,我不能真正建议您应该用什么报告编写器替换访问报告编写器。显然,对于下一个报表编写器的考虑应该具有到Web的无缝路径,即使它们现在将呈现在桌面上。如果今天不考虑网络因素,以某种方式进行大规模投资是没有意义的。 我认为SQL Server Reporting Services是一个不错的选择,因为它具有Web功能。而且,作为一个Access开发人员,我们还可以选择创建基于Web的报告,但它们在桌面端的Access客户端中也表现得非常完美(当您没有服务器,并且在将这些报告发布到Web或在客户端上本地使用它们时,不存在转换问题时,这项功能也会发挥作用)。因此,即使您不使用Access,也要选择一些允许报表同时呈现桌面和类似Web的Access 2010允许的内容。 我将考虑围绕一些.NET工具构建报表系统。这可能不会像在现有应用程序中嵌入报表系统那样发挥太好的作用,但它允许您发布新的报表,并且您不必为发布的每个新报表触摸现有的代码库。需要解决发布具有过程代码的新报告的问题。您现在很可能无需修改主应用程序就可以发布新的报告,因为这些报告中可以包含代码。我希望使用一些可以生成和发布新报告的工具,但您不必发布主软件的新版本。您可能不再将代码嵌入到报告中,但是您需要在某个地方处理它,并且希望在主应用程序之外。 |
2
1
哇,这是一个很好的问题,艾伯特给了你一个特瑞夫的答案。 不幸的是,我不相信有什么神奇的子弹可以解决你的问题。我从第一个版本开始就使用了Microsoft Access,我一直觉得它最强大的功能是作为报表生成器,尤其是在与SQL Server一起使用时。毫无疑问,您知道,在多用户环境中,经常会遇到访问数据库损坏的问题,而SQL Server很好地解决了这一问题。 在我看来,Access最大的问题是微软十年前推出了托管代码(.net),但Access仍然是一个本机应用程序。在理想的情况下,微软将使用所有最新的功能(如对多处理器的改进支持等)在C语言中重写访问权限。不幸的是,我预计这种情况不会很快发生。 当引入Visual Basic for Applications(VBA)时,它确实远远超出了“最先进”的水平,但今天我相信大多数人都会同意,在VB.NET中使用Visual Studio进行编码要比在VBA中继续开发更有效率。 由于新报表生成器的选择是您将需要使用几年的内容,因此考虑未来十年的“理想”报表生成器应该是什么样子可能会有所帮助? 我个人希望: 1)Silverlight提供的所有伟大的图形和易剥皮和品牌。 2)强大的多处理器支持(您必须注意到,在运行长查询或报告时,Access中的UI线程经常出现“无响应”的情况)。 3)对许多设备的支持,如手机、iPad等。虽然现在台式机和网络占主导地位,但这些设备越来越重要(除非出于某些特殊原因,它们对您的客户未来并不重要)。 4)支持现代编程实践,如测试驱动开发、依赖注入等。 请让我们知道你的决定。 |
3
1
这是一个很长的过程,但是是否有可能使用Access生成一个保存的PDF并将其显示在应用程序中作为应用程序的一部分而不是外部的PDF查看控件中?或者导出到XML或其他东西(我不知道在最新版本的Access中,如果有的话,哪些XML导出选项可用于报表)? 重点是,您不必重写访问报告逻辑,但您已经消除了假嵌入,并用真正嵌入到应用程序中的东西替换了它。 你要放弃的可能是访问用户界面提供给用户的选项,但我不确定这有多有用(我倾向于 不 希望这些选项可用!). 另外,您将把报告保存到磁盘上,但我也不确定这是否是一个重要的问题,但这完全取决于上下文(我假设您没有1000页带有大量图形的报告,等等)。 |
4
0
您可以通过数据动态查看ActiveReports。我们在我们的应用程序中使用它进行书面工作类型的报告(如发票),它非常灵活,远远超过了使用MS报告工具可以实现的功能。对于真实报告而非文书工作的报告,我们使用报告服务。我已经有一段时间没有将访问报告移植到活动的报告了,但是在访问中,您可以做的很少,或者什么都做不到,而在活动的报告中您不能做。我也相当肯定它有一个导入访问报告的合适工具。有一个功能齐全的评估版本可供下载,除非修改了内容,否则只需在报表页脚中打印水印,而不是在固定的评估期后过期。很值得一看,我想说- Here's a link to their site |
5
0
因为我不是微软的开发人员,所以我不会透露任何细节,但我可以回答如何将旧产品集成到当前或新产品中。关于36个月的问题,请参阅此答案的结尾。
如果我有36个月的开发时间,我将花费3-6个月编写一个包装器/API,然后使用Sprints(Scrum/Agile)每隔7-10天用新代码替换每个单元测试的I/O对。 对于数据存储,我将绝对从访问某些SQL Server产品转移到新代码的优先级要求。 |
6
0
我使用过Crystal、Access(2-2007)、SQL Reporting,现在使用的是DevExpress,我对DevExpress的报告引擎非常满意。它特定于.NET,但可以由Windows窗体、ASP.NET网页、WPF和Silverlight使用。如果您愿意使用一些.NET控件,我强烈建议您使用它。它几乎可以将任何东西用作数据源,并且非常灵活。我目前的项目并没有我过去做过的那么复杂,但是我敢说,我宁愿用dx引擎做复杂的报告,而不是用其他引擎。 他们有一个包含脚本功能的最终用户设计器,而DX正在积极地添加功能。 |
Stormer · 从Access格式化Excel单元格无效 2 年前 |
schalld · 从ms access中执行URL 2 年前 |
Lando · 希望更正我的更新后事件(MS Access) 6 年前 |
MStudz · 从VBA查询访问权限 6 年前 |
Roland · 简单Case语句中的语法错误 6 年前 |
JZeig1 · 如何以编程方式在组合框中选择值? 6 年前 |