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