从VS 2013 Express调用访问报告引发ActiveX错误

时间:2015-12-23 19:19:01

标签: visual-studio-2013 ms-access-2010 ms-access-2013

我有一个使用Access数据库的VS 2013 Express系统。在使用值填充db之后,我打开在Access中创建的报表对象。这一切都在大约1年前完美运作。现在,在开发或生产中,尝试打开报告会引发错误。

表单背后的代码是:

Imports Access = Microsoft.Office.Interop.Access

Public Class frmReports

    Public db_path As String

    Dim oAccess As Access.application

打开报告的按钮背后的代码是:

Private Sub btnSumByPlan_Click(sender As Object, e As EventArgs) Handles btnSumByPlan.Click

    oAccess = CreateObject("Access.Application")
    oAccess.visible = True
    oAccess.opencurrentdatabase(db_path)
    oAccess.docmd.openreport(ReportName:="rptSumByPlan", view:=Access.AcView.acViewPreview)

End Sub

然而,代码在CreateObject行上失败,并出现以下错误:

  

未处理的类型' System.Exception'发生在Microsoft.VisualBasic.dll。

     

其他信息:无法创建ActiveX组件。

我选择了以下COM引用:

  • Microsoft Access 12.0对象库
  • Microsoft ActiveX数据对象2.8库
  • Microsoft Office 12.0对象库
  • Microsoft Visual Basic for Applications Extensibility 5.3

我尝试过选择不同版本的Access,Office和ActiveX库,但仍会遇到同样的错误。

我不是肯定的,但我认为我在一年前运行Office 2010,现在是Office 2013.

你能告诉我我做错了什么吗?

提前致谢。

0 个答案:

没有答案