如何在使用MS-Access和VBA时确定SharePoint是否在线

问题描述 投票:0回答:2

我正在使用Office 365与MS-Access绑定到SharePoint列表。我有一些VBA代码,用户点击命令按钮运行。部分代码将数据附加到表中。不幸的是,一个用户一直试图使用命令按钮而没有意识到与SharePoint的连接(由于某种原因)丢失了。每次她点击命令按钮时,它都会附加相同的数据。我需要一些vba代码来检查SharePoint是否在线进行MS-Access。如果是,则运行查询。如果不是编码退出以及消息。它会发现SharePoint是否在线访问我需要帮助的MS-Access。

ms-access access-vba sharepoint-online
2个回答
0
投票

好吧,如果你处于离线模式,并且你打开了缓存,那么该用户应该能够自由添加记录。 PK将从-1开始,然后是-2,依此类推。

您可以检查互联网连接,但如果它们被转换为离线模式,则Access通常会保持在离线模式。

所以,你可以有一个虚拟表,并添加一条记录 - 如果PK <0则你离线(并删除那个虚拟记录)。我不知道有一些命令会告诉你实际上你是在线的。我想你也可以使用shell()命令“ping”服务器,但正如我所说,你实际上可以脱机使用有效的连接,所以要确定负面的PK技巧会告诉你肯定是否Access“认为“并且”表现“好像处于离线模式。

目前尚不清楚按钮失败的原因,但是如果选中“使用SharePoint 2010或更高版本缓存”复选框,则用户可以自由编辑,查看和添加记录。当您重新连接时,访问将同步所有更改和更新(双向同步)。


0
投票

伟业。谢谢,您的建议很有帮助。我通过断开计算机与Internet的连接然后运行附加到命令按钮的代码进行了一些测试。就像你说的那样,在SharePoint表中,(不是临时表),导入的所有记录都有PK <0,即-1,-2,-3等。我写了一个简单的DCount查询,寻找PK小于零。有趣的是,查询无法计算任何小于零的PK,只有PK> 0。我在标准方面的工作是放置,喜欢(“ - *”)并且有效。很奇怪PK是一个自动编号字段,一个数字,但小于零不起作用。使用DCount标准,我创建了一个MsgBox,它解释了正在进行的操作以及如果Internet连接仍然存在,如何让SharePoint恢复运行。并且,不要再次导入相同的电子表格(这是代码的一部分。所以,谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.