Check, ob Netzverbindung steht

13/07/2009 - 09:53 von Bjoern | Report spam
Moin!

Ich habe eine Datenbank gebastelt, die auf Netzlaufwerke zugreift, was auch
wunderbar funktioniert. Ich möchte nun aber gerne checken, ob die
Netzverbindung steht oder nicht, weil ich mit dem Notebook auch außerhalb des
Netzwerkes unterwegs bin.

OK, ich habe mir also eine Prozedur gebaut, die nachsieht, ob eine Datei auf
dem netzlaufwerk zugreifbar ist oder nicht. Ist die Datei zugreifbar, dann
ist die Netzverbindung vorhanden, wenn nicht, dann halt nicht.

Und so sieht meine Prozedur aus:
Public Function istNetzOKJN() As Boolean
Dim erg
On Error Resume Next
erg = Dir("r:\check.txt")
If erg = "" Then
istNetzOKJN = False
Exit Function
Else
istNetzOKJN = True
End If
End Function

Das funktioniert auch super, sofern die Netzverbindung steht. Aber wenn
nicht, dann braucht die Funktion ewig (ca. 30 Sekunden), bis sie merkt, dass
sie die Datei nicht findet.
Das ist für meinen Anwendungszweck nicht akzeptabel.

Die Zeile, in der sie hàngenbleibt, ist diese hier:
erg = Dir("R:\Check.txt")


Was mache ich denn falsch?

Ich habe mal die Laufwerksverbindung zum Netzlaufwerk komplett entfernt
(rechte Maustaste -> Trennen), dann geht es schnell.
Aber wenn das Laufwerk noch im Explorer zu sehen ist, dauert es halt sehr
lange.

Gibt es nicht eine elegantere Methode, als meine?

Danke für Eure HIlfe und viele Grüße,

Björn
 

Lesen sie die antworten

#1 Mark Doerbandt
13/07/2009 - 10:01 | Warnen spam
Hallo, Bjoern,

Bjoern:

OK, ich habe mir also eine Prozedur gebaut, die nachsieht, ob eine Datei auf
dem netzlaufwerk zugreifbar ist oder nicht. Ist die Datei zugreifbar, dann
ist die Netzverbindung vorhanden, wenn nicht, dann halt nicht.

Und so sieht meine Prozedur aus:
Public Function istNetzOKJN() As Boolean
Dim erg
On Error Resume Next
erg = Dir("r:\check.txt")
If erg = "" Then
istNetzOKJN = False
Exit Function
Else
istNetzOKJN = True
End If
End Function

Das funktioniert auch super, sofern die Netzverbindung steht. Aber wenn
nicht, dann braucht die Funktion ewig (ca. 30 Sekunden), bis sie merkt, dass
sie die Datei nicht findet.



Du machst nix falsch - Windows sucht halt das verbundene Netzlaufwerk.
Alternativ könntest Du vorher ein Ping auf den Server machen und nur
wenn das erfolgreich ist weiter.

Gruss - Mark

Informationen fuer Neulinge in den Access-Newsgroups unter
http://www.doerbandt.de/Access/Newbie.htm

Bitte keine eMails auf Newsgroup-Beitràge senden.

Ähnliche fragen