我从 MDB 中的 VBA 代码下面调用 dll 的 vb.net 函数。我正在从即时窗口调用 Get_GDW_data_final 子。
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”置于阻止它被打开或锁定的状态。