1

まず、私は VB が初めてで、これが OleDBConnection を使用する最初のプロジェクトです。

わかりましたので、oleDbConnection を使用して最も単純なことを試みています (私はそう思います)。Access DB のテーブルからデータを読み取り、その情報を winForm のドロップボックス (または何か) に表示したいだけです。

Public Class QueManger
Dim dbConnection As OleDbConnection
Dim dbCommand As OleDbCommand
Dim dbDataAdapter As OleDbDataAdapter
Dim ConnectString As String = "Provider = Microsoft.Jet.OLEDB.4.0;" & "Data Source = \\atrts10\F:\Applications\ATRTaxCert\Development\mtaylor\TaxCert_be_test.accdb"
Dim dtMain As DataTable

Private Sub QueManger_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    StatusName()
End Sub

Private Sub StatusName()
    Dim taxconn As OleDbConnection
    Try

        taxconn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\atrts10\F:\Applications\ATRTaxCert\Development\mtaylor\TaxCert_be_test.accdb")
        Dim taxcmd As OleDbCommand = taxconn.CreateCommand
        taxcmd.CommandText = "SELECT StatusName FROM Status ORDER BY StatusName"
        Dim rdr2 As OleDbDataReader
        If taxconn.State = ConnectionState.Closed Then
            taxconn.Open()
        End If
        rdr2 = taxcmd.ExecuteReader

        'boxStatus.Items.Add("All")
        While rdr2.Read()
            boxClient.Items.Add(rdr2.Item("StatusName"))
        End While
    Catch ex As Exception

    Finally
        taxconn.Close()
    End Try
End Sub

「taxconn.Open()」関数を実行しようとすると、エラーが発生します。

エラーには、「Microsoft Access データベース エンジンは、ファイル '\atrts10\F:\Applications\ATRTaxCert\Development\mtaylor\TaxCert_be_test.accdb' を開くことも書き込むこともできません。別のユーザーによって排他的に開かれているか、アクセス許可が必要です。そのデータを表示して書き込みます。」

何かご意見は?

4

1 に答える 1

1

開いているテーブルを編集している場合は、最初にアクセスで閉じて、パスを使用する文字列の前に「@」を追加してみてください。次に、この接続文字列を使用してみてください。

string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + yourDataBasePath + ";Persist Security Info=False;";
于 2013-02-25T21:14:17.087 に答える