错误-2147467259(80004005).net mdb

时间:2015-11-18 08:38:12

标签: vb.net vba ms-access mdb2

我从MDB中的VBA代码下面调用dll的vb.net函数。 我从即时窗口调用Get_GDW_data_final sub。

Public Sub Get_GDW_data_final()
Dim r As New Get_GDW_Data.GDW
MsgBox r.DetailedWork()
End Sub

我已在MDB中创建了Get_GDW_Data.dll添加的引用。

课程编码如下。

Public Class GDW
    Public Function DetailedWork()
        Dim lastrow As Long
        Dim ADODBcnn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Access8\W156_RocketOffset_Backup.mdb;Persist Security Info=False;Mode=read")
        Dim ADODBcmd As New OleDb.OleDbCommand
        Dim ADODBcmd1 As New OleDb.OleDbCommand
        Dim ADODBrst As OleDb.OleDbDataReader
        ADODBcnn.Open()
        ADODBcmd.CommandText = "select count(*) from input"
        lastrow = ADODBcmd.ExecuteScalar()
        ADODBcnn.Close()
        Return lastrow.ToString()

    End Function
End Class

我在这里收到错误

运行时错误-2147467259(80004005) 管理员或机器“Rachit”将数据库置于某种状态,以防止其被打开或锁定。

2 个答案:

答案 0 :(得分:1)

我发现了问题所在:

访问限制是指您无法使用调用该函数的dll访问数据库表: - )

答案 1 :(得分:0)

INPUT是保留字,请尝试:

ADODBcmd.CommandText = "select count(*) from [input]"