ネットワーク ドライブ マッピングの可能性は確実に放棄する必要があります。
- この手法を使用すると、データベースを使用して各コンピューターを「物理的に」操作する必要があり、ネットワークドライブに文字を割り当てる必要があります。
- すべてのコンピュータ ユーザーは簡単に変更できます
- ネットワークからの切断により、ユーザーはディスクドライブに「手動で」再接続する必要がある場合があります
あなたはドメインにいますが、名前を使用することはお勧めしません。コンピューターは、さまざまな理由から、特に IP が定期的に変更されている場合、ネットワーク上で「簡単に」見つけられるとは限らないからです。
ディスクに固定 IP を割り当てる方法を確実に見つける必要があります。これは、考えることができる最も安定した永続的なソリューションです。ドメイン管理者に手配を依頼してください。
ネットワーク ディスクの存在をテストすることは、非常に簡単に行うことができます。mdb ファイルを直接開こうとするなど、複数の解決策があります。ファイルの存在をテストすることもできます (ファイル オブジェクトを使用すると思います)。コードから起動できる外部プログラムや Windows API を使用することもできます。「VB test IP」などをググって、都合のよい解決策を見つけてください。
編集: windows には、いくつかの VB コードで ping をシミュレートする提案さえあります。ここで確認してください
EDIT2: 私のアプリの 1 つで、この 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 ...