传统报告的升级路径(“嵌入式”Access 2003)?

时间:2010-10-24 07:14:14

标签: c++ sql-server sharepoint ms-access c++-cli

6 个答案:

答案 0 :(得分:6)

答案 1 :(得分:1)

哇,这是一个很好的问题,艾伯特给了你一个很好的答案。

不幸的是,我不相信有任何神奇的子弹来解决你的问题。我使用的是Microsoft Access,因为它是第一个版本,并且始终认为它最强大的功能是作为报表生成器,特别是与SQL Server一起使用时。毫无疑问,人们经常会遇到多用户环境中的Access数据库损坏以及SQL Server地址问题的问题。

以我的方式思考Access的最大问题是微软十年前推出了托管代码(.Net),但Access仍然是本机应用程序。在一个理想的世界中,微软将使用所有最新功能重写使用C#中的Access,例如改进对多处理器的支持等。不幸的是,我不希望这种情况很快发生。

Visual Basic for Applications(VBA)在介绍它时肯定远远超出了“最先进”,但今天我相信大多数人会同意VB.Net中使用Visual Studio进行编码比继续开发更有效率在VBA。

选择一个新的报告生成器是你需要忍受好几年的事情,或许考虑一下未来十年的“理想”报告生成器应该是什么样的?

就我个人而言:

1)Silverlight提供的所有出色图形和易于剥皮和品牌化。

2)出色的多处理器支持(你必须注意到在运行长查询或报告时,Access中的UI线程经常出现“无响应”)。

3)支持许多设备,如手机,iPad等。虽然今天桌面和网络占据主导地位,但这些变得越来越重要(除非出于某些特殊原因,它们对您的客户来说并不重要)。

4)支持现代编程实践,如测试驱动开发,依赖注入等。

请告诉我们您的决定。

答案 2 :(得分:1)

这是一个很长的镜头,但是是否有可能使用Access生成已保存的PDF并在应用程序中以PDF应用程序的形式显示该应用程序,而不是外部的?或导出到XML或其他东西(我不知道哪些XML导出选项可用于最新版本的Access中的报告,如果有的话)?

重点是您不必重写Access报告逻辑,但是您已经消除了伪嵌入并将其替换为实际嵌入应用程序中的内容。

你放弃的可能是Access UI为用户提供的选项,但我不确定它是多么有用(我倾向于想要那些选项可用的!)。

另外,你要将报告保存到磁盘,但我不确定这是一个什么样的重大问题,但它完全取决于上下文(我假设你没有1000) -page报告有大量图形等。)。

答案 3 :(得分:0)

您可以查看Data Dynamics的ActiveReports。我们在我们的应用程序中使用它来处理文书工作类型报告(例如发票),它非常灵活,远远超过您使用MS报告工具所能实现的目标。对于真实报告而非文书工作的报告,我们使用报告服务。我已经有一段时间了,因为我必须将访问报告移植到活动报告中,但在访问中几乎没有什么可以做的,而在活动报告中则无法做到。我也很确定它有一个很好的导入访问报告工具。有一个功能齐全的评估版可供下载,除非他们改变了东西,否则只需在报告页脚中打印水印,而不是在固定的评估期后过期。值得一看,我会说 - Here's a link to their site

答案 4 :(得分:0)

由于我不是Microsoft开发人员,因此我不会涉及任何细节,但我可以回答如何将旧产品集成到当前或新产品中。至于36个月的问题,请参阅本答复的结尾。

  • 使用要求 - 您打算如何在新代码的上下文中使用遗留代码?
  • 识别用例 - 深入了解用法并为新旧代码之间的每个事务创建一个用例。
  • 识别I / O - 深入了解每个用例并确定I / O要求
  • 写入测试 - 针对每个I / O对,编写测试以确定处理该I / O对的最佳方法。
  • 重用 - 重用您的测试为遗留代码创建包装器/ API。
  • 未来 - 当您使用新代码替换旧代码时,请让它与您的包装器/ API匹配,以便您可以将重构保持在最低限度。

如果我有36个月的开发时间,我会花3-6个月编写一个包装器/ API,然后每7到10天使用sprint(scrum / agile)用新代码替换每个单元测试的I / O对)。

对于数据存储,我绝对会从Access转移到某些SQL服务器产品,并优先考虑新代码的要求。

答案 5 :(得分:0)

我使用过Crystal,Access(2 - 2007),SQL报告和现在的DevExpress,我对DevExpress的报告引擎非常满意。它特定于.net,但可以被Windows Forms,ASP.net网页,WPF和Silverlight使用。如果你愿意使用一些.net控件,我高度推荐它。它几乎可以用作任何数据源,并且非常灵活。我目前的项目并不像我过去做过的那些事情那么复杂,但我敢说我宁愿使用DX引擎比我使用的任何其他项目做复杂的报告。

他们拥有最终用户设计师,其中包括脚本功能,DX正在积极添加功能。

我建议您查看:http://devexpress.com/Products/Index/Reporting.xml