我刚刚继承了MS Access 2003系统,需要一些VBA来放置一个命令按钮,在特定文件夹中打开MyComputer来查看那里的文件。 文件夹名称将来自表单上的字段。 我确实有
Application.FollowHyperLink“C:\”&我![参考](参考格式为abcd-1234)
当它的硬编码工作正常时,我似乎无法在从表单中选择foldername时打开它。
任何提示? (除了分级访问权限!) 感谢
答案 0 :(得分:1)
当您将文本提交给FollowHyperlink时,请查看文本的内容。您可以在代码中插入这样的行:
MsgBox "C:\" & Me![ref]
也许这不是你所期望的。检查总是好的。
当它不起作用时会发生什么。您是否看到任何错误消息或任何其他症状可以帮助我们解决这个问题?
我首先想到的是文件夹名称中的空格可能会产生问题。但我不认为这是答案,因为在这个例子中,FollowHyperlink对我来说很好:
Application.FollowHyperlink "C:\Access\spaces in name\"
所以我能提供的最好的就是看看你要求FollowHyperlink使用什么。如果该努力没有引导您得到答案,请添加一个不符合您问题的特定示例。
答案 1 :(得分:1)
此代码始终适用于我:
Dim filePath = <"Insert the path of the directory to open inside of opening and closing parenthesis">
Application.FollowHyperlink filePath, vbNormalFocus
通常,我将一些目录存储在DBMS内的表中,这有助于将数百个图像链接到数据库而不是嵌入。例如,我有一个名为“dbLocations”的表。在此表中,只有两个字段:1)picLocation 2)描述。
字段picLocation具有网络路径的值,即C:\ My Documents或G:\ Whatever Directory或\\ groups1 \ for UNC路径。
字段描述是它所暗示的,picLocation的描述。
我使用表来存储目录位置,因为它们链接到存储在网络驱动器上的文件(.jpg,.png)。随着时间的推移,目录可以更改(我将文件夹移动到另一个位置,或者如果UNC更改,等等)。
如果您对几个子或模块的位置进行硬编码,则需要更改每个子模块或模块;这是非常低效的。因此,为了节省时间和许多麻烦,我使用Domain Lookup功能,它允许我只在一个易于查找的位置(即dbLocations表)中更改文件位置。
本质上,我正在查找picLocation与Alert Pics的描述匹配的表内位置的值。 (我正在创建一个数据库,用于跟踪侵入者和其他流浪汉的工作)
Dim filePath as String
filePath = DLookup("picLocation", "dbLocations", "[Description] = 'Alert Pics'")
Application.FollowHyperlink filePath, vbNormalFocus
使用这三行简单代码,您可以导航到特定目录。