ADODB.Connection和ADODB.Recordset-未定义用户定义类型

时间:2018-07-04 16:08:53

标签: excel vba ms-access

使用VBA连接Access DB时遇到一个奇怪的错误。 VBA代码如下所示:

Sub DBC()
    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset

    Set cn = New ADODB.Connection

    cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\Bmcstr01\grp\SRV\Allsrv\Resource Planning\Forecasting & MI\MI\backup DM\HH Complaints\Database (TCS Version)\Complaints DB.accdb;"

    Set rs = New ADODB.Recordset

    rs.Open "Access_Log", cn, adOpenKeyset, adLockOptimistic, adCmdTable

    rs.Filter = "ID='335266' AND Work='Test'"
    rs("Login").Value = "02/07/2018"
    rs.Update
    rs.Close
    Set rs = Nothing
    cn.Close
    Set cn = Nothing

End Sub

给出的错误是:“编译错误:用户定义类型未定义”,它指向子项的第一行。

我的表存在于数据库中。其结构如下:

ID  Login   Work
335266  04/07/2018  Test
335266  03/07/2018  Test2

有人可以帮助我为什么它不接受ADODB以及如何解决这个问题吗?

1 个答案:

答案 0 :(得分:5)

转到VBE的工具,参考,然后找到“ Microsoft ActiveX数据对象6.1库”并在其旁边打勾,以将该库包含在您的项目中。

enter image description here