Не используйте системные объекты MS Access.В большинстве случаев у вас будут проблемы с разрешениями.Вы можете получить доступ к информации базы данных (например, к таблицам, представлениям и т. Д.), Используя OleDbConnection.GetSchema
.
Вот функция, которую я использую, чтобы проверить, существует таблица или нет:
Public Shared Function TableExists(tableName As String) As Boolean
Using conn As New OleDbConnection(ConnectionString)
conn.Open()
Dim dt As DataTable = conn.GetSchema("Tables")
Dim tables As String() = dt.AsEnumerable().Select(Function(dr) dr.Field(Of String)("TABLE_NAME")).ToArray
Return tables.Contains(tableName)
End Using
End Function
Использование:
If Not TableExists("LEDGER_FULL") Then
' The table doesn't exist. Do something about it.
End If
Надеюсь, это поможет.