Проблема здесь в том, что вы пытаетесь использовать oleDB для подключения к локальной базе данных Access, но эта база данных НЕ ТОЛЬКО локальная, но подключена и синхронизирована с SharePoint. И вход в систему по частям, syn c частей и автономный режим, он-лайн режим является ВСЕ ЧАСТЬ доступа, а не просто oleDB.
Другими словами: вам нужно написать свое приложение в Access, если вы хотите бесплатно загрузить все эти модные дополнительные части, такие как вход в SharePoint, и Access синхронизировать c с таблицами и всеми этими модными компонентами Access.
Если вы собираетесь использовать. net? Затем приложение. net должно обращаться к веб-службам SharePoint и использовать + для непосредственного использования списков SharePoint, а не для того, чтобы Access выполнял всю эту дополнительную работу. . net обладает всеми возможностями для попадания в SharePoint, и вызовы веб-службы могут быть REST, но я думаю, что большинство из них на самом деле SOAP. (но SOAP и WSDL для SharePoint хорошо документированы и поддерживаются).
Если вам нужен автономный режим, то какая система syn c онлайн? Затем вы должны свернуть свой собственный или использовать устаревшую среду syn c для. net (она устарела, но все еще может использоваться. И есть / есть поставщики syn c для SharePoint. Итак, вы можете по-прежнему есть локальный accDB (файл данных Access), но таблицы данных не будут связаны с SharePoint. Ваше. net приложение должно будет выполнить syn c.
Вы пытаетесь нажать таблиц через oleDB, но вы ТОГДА хотите, чтобы все эти входы в SharePoint и все эти ОЧЕНЬ СПОСОБЫ ОХЛАЖДЕНИЯ SharePoint syn c были встроены в Access (который НЕ является просто частью механизма базы данных и oleDB, а представляет собой биты и части, принадлежащие Access .).
Вы могли бы рассмотреть и попытаться автоматизировать ВЕСЬ работающую копию Access. Но опять же, вы больше не будете использовать oleDB, а на самом деле, точно так же, как вы можете создать экземпляр Word или Excel. или произнесите Outlook в. net? Таким образом, вы будете создавать полную работающую копию Access.
Имейте в виду, что Access как COM-объект не совсем корректен. Вы можете использовать опции off-line, on-line и syn c с хорошим набором чистых методов и свойств. Я знаю, что это так, поскольку даже из VBA вы не можете реально контролировать автономный режим по сравнению с онлайн-режимом. Что вы можете сделать, это «проверить» и «знать», если вы в данный момент отключены. Затем вы можете выполнить команду refre sh tables.
VBA:
DoCmd.RunCommand acCmdRefreshSharePointList
Тем не менее, приведенное выше попытается обновить sh, и если пользователь отключен, приложение останется в автономном режиме, но Скажу пользователю. Затем пользователю предоставляется эта опция:
![enter image description here](https://i.stack.imgur.com/2uSdu.png)
Таким образом, они должны нажать на эту опцию. После повторного подключения они увидят следующее:
![enter image description here](https://i.stack.imgur.com/FVTSl.png)
Итак, приведенный выше acCmdRefreshSharePointList действительно запускает полный refre sh (и syn c) данных ПОСЛЕ того, как пользователь нажал на пользовательский интерфейс выше. К сожалению, насколько мне известно, пользовательский интерфейс является ЕДИНСТВЕННЫМ способом для пользователя иметь дело с подключенным SharePoint или нет (вы можете тестировать / проверять в VBA, но вы не можете его контролировать). После повторного подключения пользователя, как указано выше, вы можете вызвать команду refre sh, как указано выше, но это не очень помогает, так как вы не можете переключать, управлять выключенным / включенным или включенным / line mode из VBA (и, следовательно, с помощью автоматизации COM-объектов из. net, вы тоже не можете).
Таким образом, мясо и детали, необходимые для управления входом в систему et c. является частью Access, а НЕ частью объектной модели oleDB.
Как уже отмечалось, даже модель Access не предоставляет возможности управления автономным / онлайн-режимом и онлайн-режимом. Но это лучше, чем то, что у вас есть. net.
Если вы используете. net? Как уже отмечалось, нажмите веб-службы SharePoint, чтобы взаимодействовать со списками, и, если вам нужен локальный автономный режим, вам придется развернуть собственную систему syn c или использовать. net syn c рамки.