MS-Access 表中的超链接(指向 Sharepoint)未按预期运行
Hyperlinks (to Sharepoint) in MS-Access tables not behaving as expected
你好 Whosebug 社区,
我刚开始遇到存储在 MS-Access table 中的 hyperlinks 没有按预期运行的问题。
我有一个小型数据库,除其他外,它记录 link 到公司 Sharepoint 网站上托管的文档。直到几天前,数据库和 hyperlinks 都运行良好。
出于某种原因,在过去的几天里,每当我(或我的任何用户)通过访问表单单击这些 hyperlink 时(或者我直接从 table s),我的行为很奇怪:
单击 link 会根据需要打开默认浏览器的新实例。该浏览器确实导航到公司的 Sharepoint 站点。但是 link 中的 none 实际上打开了它们要指向的特定文档。
相反,所有 link 都在 Sharepoint 站点中调出一个通用 file/folder 菜单。就好像这些 link 指向现有文件夹中不存在的文件。
非常奇怪的是,如果我 "edit" 我数据库中的任何一个 hyperlink,然后简单地 select 并从中复制 "address" 文本编辑 hyperlink window,如果直接将地址粘贴到新浏览器中,我总是会立即调出正确的所需文档 window.
我原以为这种类型的 cutting/pasting 必然等同于简单地单击 link。但显然不是这样。
我觉得我可以安全地排除对 Sharepoint 网站本身的任何更改会导致我的问题的可能性,只需单击 links(否则 cutting/pasting 地址不会带来上正确的文档),但我不得不承认,我很困惑为什么直接点击 hyperlinks 就可以工作,但现在却不再工作了。
我认为没有任何代码或其他相关信息可能对我有所帮助而被我忽略了,但如果有人知道什么可能会很乐意提供 clarifications/etc在这里发生。
提前感谢您的任何想法或建议!
~JQN
- 编辑:我删除了这个问题,因为上面描述的问题已经停止发生了。我无法解释原因,但也无法在制作原始 post.
的一两天内的某一点后再次重现该问题
从那时起,这个问题就被 return 编辑了。我已经能够确定以下内容:
正如我在下面的注释中所述,当我遇到这种奇怪的 link 行为时,我没有从 MS-Access 收到指示 hyperlinks 的标准警告可能有害等
奇怪的是,只需打开一个文件 dialog/file 选择器,然后通过该对话框导航到(已同步的)Sharepoint 站点上的任何位置似乎就能解决问题。我不需要实际 select 或打开 Sharepoint 上的任何位置,只需在同步的文件夹结构中导航似乎就可以了。
一旦发生这种情况,所有 link 将再次按预期运行(即,它们直接打开正确的 linked 文件,而不是登陆根文件夹页面)。他们还对 MS-Access hyperlink 发出警告 return。 file/link 行为将保持该状态数天。只有在我估计自文件对话框上次 运行 以来一周或更长时间不活动后,问题才会 return.
- 进一步编辑:新更新...已经过去了足够的时间,因此问题再次出现。正如所怀疑的那样,link 到 Sharepoint 之外的页面不受影响,并且按预期打开没有问题。再一次,标准的 Microsoft hyperlink 警告对话框不会出现任何 links。
显然,现在我已经找到了文件对话框的解决方法,当问题出现时我很容易解决它。不过,我希望这能引起某些人的注意,也许你们中的某个人可以为我的用户指出正确的方向,以便为我的用户提供更完整的修复。
再次感谢您对此的任何帮助!
- 又一次编辑:好的....根据我在过去几周学到的所有东西(如 post 和下面的评论中所述),我正要删除这个问题并重新 post 它作为 "Why is Sharepoint redirecting my URL requests from MS-Access?" 当我试图搜索论坛以确保 that 问题还没有被问到时,我偶然发现了一些信息我认为解决了根本问题:
看起来这与 Office 处理 URL 请求的(非常不透明的)方式有关。它显然不只是在指定的 link 打开文档,它首先 "pre-tests" (我想这是正确的词) URL 通过首先发送 "Microsoft Office Protocol Discovery" 请求。
显然,Sharepoint 可能不喜欢该 MOPD 请求的细节,如果发生这种情况,Sharepoint 将重定向到文件目录页面——而该目录页面最终会在浏览器中打开预期的 link/document.
同样,这种情况有时会发生,其他时候不会。当它确实发生时,我发现了一个笨拙的解决方法,可以在大约一周左右的时间内解决问题。那一周我无法重现这个问题,我只能等待解决方法过期(我显然不完全理解为什么我笨拙的解决方法有效)。
似乎无法操纵 MOPD 请求的细节。如果可能的话,我希望能够完全免除 MOPD,因为我想要 我通过 Access link 访问的所有文件都以已读方式打开-无论如何。不幸的是,我也不认为这是可能的。
我在另一个 SO 线程 HERE 中找到了一些关于此的信息。我还没有完全准备好提交这个问题的答案,但我对什么样的事情可以作为 acceptable 解决方法有一些想法。
如果有人对我如何能够按需重现问题有任何想法,而不是简单地再等一周 keys/cookies/settings/etc 再次过期,那将很有帮助。 如果可能的话,我需要完全在事物的访问端实施任何可能的解决方案,而不是在 Sharepoint/server 端。再次感谢您的任何建议!
我现在将此作为答案发布,但在我有机会验证它确实有效.
之前,我会避免接受它
我正在插入一些将在数据库启动时 运行 的代码。它将打开一个(不可见的)表单,其中包含一个 Access WebBrowser 控件。我会让该控件导航到 Sharepoint 站点上的特定文件。我相信正是这一行动以某种方式导致 link 问题在一周内得以解决。
此表单将 运行 在后台静默地导航到 sharepoint 文件位置,然后关闭。这应该有望刷新 links 正常工作时存在的 MODP 请求的任何特征(并且在它们不能正常工作时不存在)。
本质上,我希望这种方法能够在每次打开数据库时重置我(大约)一周 window 所需的 link 功能,从而重新开始。换句话说,我认为这会起作用,尽管我仍然不完全理解为什么。
祝我好运!
;)
你好 Whosebug 社区,
我刚开始遇到存储在 MS-Access table 中的 hyperlinks 没有按预期运行的问题。
我有一个小型数据库,除其他外,它记录 link 到公司 Sharepoint 网站上托管的文档。直到几天前,数据库和 hyperlinks 都运行良好。
出于某种原因,在过去的几天里,每当我(或我的任何用户)通过访问表单单击这些 hyperlink 时(或者我直接从 table s),我的行为很奇怪:
单击 link 会根据需要打开默认浏览器的新实例。该浏览器确实导航到公司的 Sharepoint 站点。但是 link 中的 none 实际上打开了它们要指向的特定文档。
相反,所有 link 都在 Sharepoint 站点中调出一个通用 file/folder 菜单。就好像这些 link 指向现有文件夹中不存在的文件。
非常奇怪的是,如果我 "edit" 我数据库中的任何一个 hyperlink,然后简单地 select 并从中复制 "address" 文本编辑 hyperlink window,如果直接将地址粘贴到新浏览器中,我总是会立即调出正确的所需文档 window.
我原以为这种类型的 cutting/pasting 必然等同于简单地单击 link。但显然不是这样。
我觉得我可以安全地排除对 Sharepoint 网站本身的任何更改会导致我的问题的可能性,只需单击 links(否则 cutting/pasting 地址不会带来上正确的文档),但我不得不承认,我很困惑为什么直接点击 hyperlinks 就可以工作,但现在却不再工作了。
我认为没有任何代码或其他相关信息可能对我有所帮助而被我忽略了,但如果有人知道什么可能会很乐意提供 clarifications/etc在这里发生。
提前感谢您的任何想法或建议! ~JQN
- 编辑:我删除了这个问题,因为上面描述的问题已经停止发生了。我无法解释原因,但也无法在制作原始 post. 的一两天内的某一点后再次重现该问题
从那时起,这个问题就被 return 编辑了。我已经能够确定以下内容:
正如我在下面的注释中所述,当我遇到这种奇怪的 link 行为时,我没有从 MS-Access 收到指示 hyperlinks 的标准警告可能有害等
奇怪的是,只需打开一个文件 dialog/file 选择器,然后通过该对话框导航到(已同步的)Sharepoint 站点上的任何位置似乎就能解决问题。我不需要实际 select 或打开 Sharepoint 上的任何位置,只需在同步的文件夹结构中导航似乎就可以了。
一旦发生这种情况,所有 link 将再次按预期运行(即,它们直接打开正确的 linked 文件,而不是登陆根文件夹页面)。他们还对 MS-Access hyperlink 发出警告 return。 file/link 行为将保持该状态数天。只有在我估计自文件对话框上次 运行 以来一周或更长时间不活动后,问题才会 return.
- 进一步编辑:新更新...已经过去了足够的时间,因此问题再次出现。正如所怀疑的那样,link 到 Sharepoint 之外的页面不受影响,并且按预期打开没有问题。再一次,标准的 Microsoft hyperlink 警告对话框不会出现任何 links。
显然,现在我已经找到了文件对话框的解决方法,当问题出现时我很容易解决它。不过,我希望这能引起某些人的注意,也许你们中的某个人可以为我的用户指出正确的方向,以便为我的用户提供更完整的修复。
再次感谢您对此的任何帮助!
- 又一次编辑:好的....根据我在过去几周学到的所有东西(如 post 和下面的评论中所述),我正要删除这个问题并重新 post 它作为 "Why is Sharepoint redirecting my URL requests from MS-Access?" 当我试图搜索论坛以确保 that 问题还没有被问到时,我偶然发现了一些信息我认为解决了根本问题:
看起来这与 Office 处理 URL 请求的(非常不透明的)方式有关。它显然不只是在指定的 link 打开文档,它首先 "pre-tests" (我想这是正确的词) URL 通过首先发送 "Microsoft Office Protocol Discovery" 请求。
显然,Sharepoint 可能不喜欢该 MOPD 请求的细节,如果发生这种情况,Sharepoint 将重定向到文件目录页面——而该目录页面最终会在浏览器中打开预期的 link/document.
同样,这种情况有时会发生,其他时候不会。当它确实发生时,我发现了一个笨拙的解决方法,可以在大约一周左右的时间内解决问题。那一周我无法重现这个问题,我只能等待解决方法过期(我显然不完全理解为什么我笨拙的解决方法有效)。
似乎无法操纵 MOPD 请求的细节。如果可能的话,我希望能够完全免除 MOPD,因为我想要 我通过 Access link 访问的所有文件都以已读方式打开-无论如何。不幸的是,我也不认为这是可能的。
我在另一个 SO 线程 HERE 中找到了一些关于此的信息。我还没有完全准备好提交这个问题的答案,但我对什么样的事情可以作为 acceptable 解决方法有一些想法。
如果有人对我如何能够按需重现问题有任何想法,而不是简单地再等一周 keys/cookies/settings/etc 再次过期,那将很有帮助。 如果可能的话,我需要完全在事物的访问端实施任何可能的解决方案,而不是在 Sharepoint/server 端。再次感谢您的任何建议!
我现在将此作为答案发布,但在我有机会验证它确实有效.
之前,我会避免接受它我正在插入一些将在数据库启动时 运行 的代码。它将打开一个(不可见的)表单,其中包含一个 Access WebBrowser 控件。我会让该控件导航到 Sharepoint 站点上的特定文件。我相信正是这一行动以某种方式导致 link 问题在一周内得以解决。
此表单将 运行 在后台静默地导航到 sharepoint 文件位置,然后关闭。这应该有望刷新 links 正常工作时存在的 MODP 请求的任何特征(并且在它们不能正常工作时不存在)。
本质上,我希望这种方法能够在每次打开数据库时重置我(大约)一周 window 所需的 link 功能,从而重新开始。换句话说,我认为这会起作用,尽管我仍然不完全理解为什么。
祝我好运!
;)