2014-01-13 34 views
0

我正在使用visual studio 2010来开发我的桌面应用程序和ms访问数据库。我已经在访问数据库中设计了报告,并且他们正在完美地工作。现在我担心的是,在我的Vb.Net应用程序中是否可以使用这些访问报告? 我需要这样做,因为分发软件而不是使用水晶报告要容易得多,因为我需要为水晶报告安装运行时计算机。谢谢Vb.Net来自访问数据库的预览报告

回答

2

这是可能的,但这是一个可怕的实现。您基本上必须启动Access,在Access中打开数据库文件,然后向下导航并启动报告。没有办法在应用内查看报告。它只会在Access内显示。

我想你最好的选择是使用ReportViewer控制,如果你不想使用水晶报表。

+0

现在没问题。我需要的只是代码,然后看看它是否是需要的。 –

+0

我试图使用微软报表查看器,但我不知道如何设计报表,因为它相当复杂。 –

+0

在这里您可以找到关于如何设计报告的完整指南。 http://msdn.microsoft.com/en-us/library/bb522712.aspx – equisde

0

我发现这一点:https://support.microsoft.com/kb/317113?wa=wsignin1.0

要预览或打印Access报表,可以调用DoCmd对象的OpenReport方法。当你打电话的OpenReport中,你通过确定是否该报告是在屏幕上预览,或是否发送到打印机的参数之一:

' Preview a report named Sales: 
oAccess.DoCmd.OpenReport(ReportName:="Sales", View:=Access.AcView.acViewPreview) 
' Print a report named Sales: 
oAccess.DoCmd.OpenReport(ReportName:="Sales", View:=Access.AcView.acViewNormal) 

但我一直没能找到多少有关OpenReport方法或DoCmd对象的信息/帮助。

-1

下面的代码:

Preview a report named Sales: 
oAccess.DoCmd.OpenReport(ReportName:="Sales", View:=Access.AcView.acViewPreview) 
Print a report named Sales: 
oAccess.DoCmd.OpenReport(ReportName:="Sales", View:=Access.AcView.acViewNormal) 

但我一直没能找到有关OpenReport方法或DoCmd对象太多信息/帮助。

这只有在您使用VB.Net自动执行Access应用程序时才有效。这将打开Access应用程序并允许您查看或打印报告,就像直接运行Access一样。但是,您需要在运行VB.Net应用程序的计算机上安装Access应用程序(而不仅仅是.mdb或.accdb文件)。

我还没有找到任何方式来利用访问报告,而无需在运行VB.Net应用程序的计算机上访问。我正在研究将Crystal Reports用于我正在处理的应用程序。