2010-09-01 96 views
1

我刚刚继承了一个MS Access 2003系统,需要一点点的VBA放在一个命令按钮打开我的计算机在特定的文件夹以查看那里的文件。 文件夹名称将来自表单上的字段。 我确实有VBA打开我的电脑在一个特定的文件夹

Application.FollowHyperLink “C:\” &君[参考](参考格式为ABCD-1234)

时,其硬编码它工作正常,但我不能似乎!在从表单中选择文件名时打开它。

任何提示? (除binning访问!) 谢谢

回答

1

看到你正在提交给FollowHyperlink的文本看起来像什么。你可以在你的代码中插入这样一行:

MsgBox "C:\" & Me![ref] 

也许这不是你所期望的。检查总是很好的。

当它不起作用时会发生什么。你看到任何错误信息或任何其他症状可以帮助我们指出这一点吗?

我的第一个想法是文件夹名称中的空格可能会产生问题。但我不认为这是答案,因为FollowHyperlink工作正常,我在这个例子中:

Application.FollowHyperlink "C:\Access\spaces in name\" 

因此,我可以提供最好的是看你在问什么FollowHyperlink使用。如果这种努力没有引导您回答问题,请添加一个不符合您的问题的具体示例。

+1

我的第一个猜测是参数需要用引号括起来,例如Chr(34)&“C:\”&Me![ref]&Chr(34)。 – 2010-09-01 19:56:59

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具有网络路径的值,即对于UNC路径,C:\ My Documents或G:\ Whatever Directory或\\ groups1 \。

该字段描述是什么意思,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  

有了这三个行简单的代码,您可以导航到一个特定的目录。

相关问题