Не удается инициализировать объект подключения - PullRequest
0 голосов
/ 18 апреля 2020
  Private Sub DGVTotalReport_CellMouseDoubleClick(sender As Object, e As DataGridViewCellMouseEventArgs) 
 Handles DGVTotalReport.CellMouseDoubleClick
    Dim ExpForm As New ExpenseEntry
    My.Settings.TranCodeExpOpen = DGVTotalReport.Rows(e.RowIndex).Cells(8).Value


    If My.Settings.ExpenseForm = False Then
        If ExpForm.InvokeRequired = True Then
            ExpForm.BeginInvoke(Sub() ExpForm.Show())
            ExpForm.BeginInvoke(Sub() ExpForm.OpenVoucher())
        Else
            ExpForm.Show()
            ExpForm.OpenVoucher()
        End If


    End If

'' '

  Dim CheckPaymentMode As String = "MY QUERY"

    Dim DACheckPaymentMode As New OleDbDataAdapter(CheckPaymentMode, LocalDatabaseCon)
    Dim DTCheckPaymentMode As New DataTable

    DACheckPaymentMode.Fill(DTCheckPaymentMode)   'The exception is thrown here as the connection fails to initialise

Здесь, если форма уже была загружена ранее, тогда, если я вызываю вышеуказанную подпрограмму из другой формы, используя метод Invoke, объект подключения к данным по-прежнему не может выполнить Initialise. Что я могу сделать, чтобы решить эту проблему?

Редактировать: Кажется, что люди думают, что это происходит в той же форме, но я на самом деле вызываю эту подпрограмму из другой формы, которая, кажется, вызывает ошибку потока .

Халид.

РЕДАКТИРОВАТЬ

LocalDatabaseCon устанавливается с использованием следующего кода в событии загрузки формы:

Private Sub ExpenseEntry_Load(sender As Object, e As EventArgs) Handles Me.Load
    Dim LocalDatabaseCon = New OleDbConnection
    LocalDatabaseCon.ConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0;Data Source=" & My.Settings.LocalDatabasePath
End Sub
...