投稿者 ロト君  (社会人) 投稿日時 2021/12/19 14:06:50
>ComboBox_Set を通ると発生するのであれば、Connection_DB クラスはどうなんでしょう?
>.NET のコンポーネントをそのまま使ってるのであれば、AccessViolationException が起きる可能性は低>いと思います。
>DllImport で API をコールしているところがあったりしませんか?

Connection_DBは、下記のモノです。




Imports System.Data.OleDb

Public Class Connection_DB

    Public Property Sql = New System.Text.StringBuilder
    Public Property resultDt As New DataTable
    Public Property Connection_Name As String
    Public Property Record_Id As Long

    Sub New()

        Connection_Name = DB_connect
        Record_Id = 0

    End Sub

    Public Sub Selecter()

        'Access接続準備
        Dim command As New OleDbCommand
        Dim da As New OleDbDataAdapter
        Dim cnAccess As OleDbConnection = New OleDbConnection
        cnAccess.ConnectionString = Connection_Name

        'Access接続開始
        cnAccess.Open()

        Try

            command.Connection = cnAccess
            command.CommandText = Sql.ToString
            da.SelectCommand = command

            'SQL実行 結果をデータテーブルに格納
            da.Fill(resultDt)


        Catch ex As Exception
            Throw
        Finally
            command.Dispose()
            da.Dispose()
            cnAccess.Close()
        End Try

    End Sub

    Public Sub Updater()

        'Access接続準備
        Dim command As New OleDbCommand
        Dim da As New OleDbDataAdapter
        Dim cnAccess As OleDbConnection = New OleDbConnection
        cnAccess.ConnectionString = Connection_Name

        'Access接続開始
        cnAccess.Open()

        Dim tran As OleDbTransaction
        tran = cnAccess.BeginTransaction

        Try

            command.Connection = cnAccess
            command.Transaction = tran

            command.CommandText = Sql.ToString
            command.ExecuteNonQuery()

            tran.Commit()

        Catch ex As Exception
            tran.Rollback()
            Throw
        Finally
            command.Dispose()
            cnAccess.Close()
        End Try

    End Sub

End Class