MDB の VBA コードの下から dll の vb.net 関数を呼び出しています。私は Get_GDW_data_final サブを直接 Window から呼び出しています。
Public Sub Get_GDW_data_final()
Dim r As New Get_GDW_Data.GDW
MsgBox r.DetailedWork()
End Sub
Get_GDW_Data.dll を作成し、MDB に参照を追加しました。
クラスのコーディングは以下の通りです。
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' によって、開いたりロックしたりできない状態になっています。