Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MS Access/Sharepoint到数据库的联机链接是否允许多个用户/VBA?_Vba_Sharepoint_Ms Access_Ms Access 2007 - Fatal编程技术网

MS Access/Sharepoint到数据库的联机链接是否允许多个用户/VBA?

MS Access/Sharepoint到数据库的联机链接是否允许多个用户/VBA?,vba,sharepoint,ms-access,ms-access-2007,Vba,Sharepoint,Ms Access,Ms Access 2007,好的,我们当前的问题是经典的“尝试允许多个用户访问一个fe文件(当前处于运行时)”-这无法处理(至少在AC2007中),最好通过在使用它的每台计算机上安装fe来解决 这给我们带来了另一个问题,我们有许多员工希望能够访问该文件,但该程序可能不会让我们的技术人员使用“补丁”将该文件的更新推送到每台计算机上(此外,为我们这样做可能会增加成本) 我们真的希望用户能够打开从我们的内部门户到文件的链接,这是目前可以实现的。我们正在考虑是否可能在共享文件夹中推出4或5个FE应用程序副本,并创建一个Access

好的,我们当前的问题是经典的“尝试允许多个用户访问一个fe文件(当前处于运行时)”-这无法处理(至少在AC2007中),最好通过在使用它的每台计算机上安装fe来解决

这给我们带来了另一个问题,我们有许多员工希望能够访问该文件,但该程序可能不会让我们的技术人员使用“补丁”将该文件的更新推送到每台计算机上(此外,为我们这样做可能会增加成本)


我们真的希望用户能够打开从我们的内部门户到文件的链接,这是目前可以实现的。我们正在考虑是否可能在共享文件夹中推出4或5个FE应用程序副本,并创建一个Access程序,该程序将基本上检查FE应用程序是否打开(如FE1),如果是,它将打开FE2(等等),然后关闭进行检查的sharepoint链接数据库,以便新用户可以打开该数据库。这将允许多个用户使用相同的FE程序访问相同的BE信息。。。。这样行吗?你知道怎么做吗

是的,它可以工作,其思想是创建一个函数来检查打开的文件,如果它找到打开的文件,它会返回一个错误,对于错误,您可以移动到以下数据库。下面是一个示例代码:

 Option Explicit


Function FileLocked(strFileName As String) As Boolean
   On Error Resume Next
   Open strFileName For Binary Access Read Write Lock Read Write As #1
   Close #1
  If Err.Number = 0 Then
  Application.FollowHyperlink "c:\MasterMAX.accdr"
  DoCmd.CloseDatabase
  End If

   If Err.Number <> 0 Then
Application.FollowHyperlink "c:\MasterMAX2.accdr"
   End If
End Function
选项显式
函数FileLocked(strFileName为字符串)为布尔值
出错时继续下一步
打开二进制访问读写锁定读写为#1的strFileName
关闭#1
如果Err.Number=0,则
Application.FollowHyperlink“c:\MasterMAX.accdr”
DoCmd.CloseDatabase
如果结束
如果错误号为0,则
Application.FollowHyperlink“c:\MasterMAX2.accdr”
如果结束
端函数
免责声明:我对SharePoint一无所知,所以我不能说我提出的解决方案在涉及SharePoint时是否仍然可行

如果您的问题只是如何将文件分发到所有计算机,为什么不让用户启动一个批处理文件,将访问前端从网络共享复制到每台计算机并启动它

我们在工作中也在做类似的事情(尽管没有SharePoint),我在这里描述了我们的设置:

我们也将批处理文件放在网络共享上。用户只需在桌面上通过快捷方式访问网络共享上的批处理文件,因此更新批处理文件也很容易。
也许您可以做类似的事情(让用户从SharePoint运行批处理文件,该文件复制并启动Access前端)