#excel #vba #connection-string #ado #adodb
#excel #vba #строка подключения #ado #adodb
Вопрос:
Как я могу заставить это работать? Если в пути к рабочей книге нет пробелов или запятых, он работает просто отлично, но внедрение OneDrive испортило путь к рабочей книге, который должен работать как адрес базы данных.
Я заключил ее в кавычки, но это тоже не сработало.
Я получаю эту ошибку:
Внешняя таблица не в ожидаемом формате.
Dim cnn As ADODB.Connection
Set cnn = New ADODB.Connection
With cnn
.Provider = "Microsoft.ACE.OLEDB.12.0;"
.ConnectionString = "Data Source=C:UsersabcOneDrive - My Company, IncDesktopForm_v.0.996.xlsm;Extended Properties='Excel 8.0;HDR=No;IMEX=1'"
.Open
End With
Комментарии:
1. Просто для ясности, вы пробовали
Data Source='C:UsersabcOneDrive - My Company, IncDesktopForm_v.0.996.xlsm';Extended Properties='Excel 8.0;HDR=No;IMEX=1'"
?2. @Profex да, я пробовал
3. Если я укажу неверный путь, в ошибке будет указано: «недопустимый путь», но, поскольку ваша ошибка связана с внешней таблицей / форматом. Я думаю, что с файлом что-то не так.
4. да, файл был открыт только для чтения
Ответ №1:
Я выяснил, в чем проблема: я открывал рабочую книгу ReadOnly:=True
, которая ADO не принимает в качестве правильного формата для базы данных