错误 -2147467259 (80004005) .net mdb
error -2147467259 (80004005) .net mdb
我正在从 MDB 中的 VBA 代码下面调用一个 dll 的 vb.net 函数。
我正在从直接 Window.
调用 Get_GDW_data_final sub
Public Sub Get_GDW_data_final()
Dim r As New Get_GDW_Data.GDW
MsgBox r.DetailedWork()
End Sub
我已经创建 Get_GDW_Data.dll 在 MDB 中添加了对它的引用。
class的编码如下
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' 设置为防止打开或锁定的状态。
INPUT
是保留字,所以试试:
ADODBcmd.CommandText = "select count(*) from [input]"
我发现了问题所在:
这是一个访问限制,您不能使用从中调用函数的 dll 访问数据库的 table:-)
我正在从 MDB 中的 VBA 代码下面调用一个 dll 的 vb.net 函数。 我正在从直接 Window.
调用 Get_GDW_data_final subPublic Sub Get_GDW_data_final()
Dim r As New Get_GDW_Data.GDW
MsgBox r.DetailedWork()
End Sub
我已经创建 Get_GDW_Data.dll 在 MDB 中添加了对它的引用。
class的编码如下
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' 设置为防止打开或锁定的状态。
INPUT
是保留字,所以试试:
ADODBcmd.CommandText = "select count(*) from [input]"
我发现了问题所在:
这是一个访问限制,您不能使用从中调用函数的 dll 访问数据库的 table:-)