答案 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个月的问题,请参阅本答复的结尾。
如果我有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正在积极添加功能。