您绝对应该放弃网络驱动器映射的可能性:
- 使用这种技术会迫使您使用您的数据库“物理地”操作每台计算机,您必须在其中为网络驱动器分配一个字母。
- 每个计算机用户都可以轻松更改它
- 与网络的任何断开都可能会迫使用户“手动”重新连接到磁盘驱动器
尽管您在域中,但我不建议您使用名称,因为由于多种原因,计算机可能并不总是“容易”在网络上找到它,特别是当它的 IP 定期更改时。
您绝对应该找到一种为您的磁盘分配固定 IP 的方法:这是您能想到的最稳定和永久的解决方案。请您的域管理员为您安排。
然后可以很容易地测试您的网络磁盘是否存在。有多种解决方案,包括尝试直接打开 mdb 文件。您还可以测试文件的存在(通过我认为的文件对象),甚至可以使用您可以从代码启动的任何外部程序或 Windows API。请在您方便的时候搜索“VB 测试 IP”或类似内容以找到解决方案。
编辑:windows 甚至建议用一些 VB 代码模拟 ping。在这里检查
EDIT2:我在我的一个应用程序中发现了这个 VBA 代码,它允许快速检查文件是否存在(并且可以访问)网络上的某个地方。它基本上是为了测试是否有新版本的用户界面可用。
Function fileIsAvailable(x_nom As Variant) As Boolean
On Error GoTo ERREUR
Application.Screen.MousePointer = 11
Dim fso as object
Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FileExists(x_nom) Then
fileIsAvailable = False
Else
fileIsAvailable = True
End If
Set fso = Nothing
Application.Screen.MousePointer = 0
On Error GoTo 0
Exit Function
ERREUR:
Application.Screen.MousePointer = 0
debug.print Err.Number, Err.description
End Function
您可以通过提供文件的网络名称轻松调用此函数,例如:
if fileIsAvailable("\\192.168.1.110\myFileName.mdb") then ...