0

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' によって、開いたりロックしたりできない状態になっています。

4

2 に答える 2

1

問題が何であるかを発見しました:

関数を呼び出しているdllを使用してデータベースのテーブルにアクセスできないのは、アクセスの制限です:-)

于 2016-03-10T08:51:13.097 に答える