PIng sous VBA

cs_ludochristi Messages postés 6 Date d'inscription mardi 22 juillet 2003 Statut Membre Dernière intervention 23 mars 2005 - 23 mars 2005 à 11:59
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 - 23 mars 2005 à 14:48

2 réponses

cs_ludochristi Messages postés 6 Date d'inscription mardi 22 juillet 2003 Statut Membre Dernière intervention 23 mars 2005
23 mars 2005 à 12:04
Je souhiate trouver un code me permettant d'effectuer un ping à partir d'une appli access. J'en ai déjà trouvé un utilisant "command.com /cping ..." le socis c'est que si le délai de la demande et dépassé et que le micro n'est donc pas sur le réseau la fonction me renvoi quand même true, ce n'est donc pas convenable, des idées.
Ci joint mon code :
DoCmd.OpenForm "progress"


Texte1.SetFocus
adr.ad = Texte1.text ' c'est l'adresse IP a tester

[Form_progress].bar.Value = 8 / 8 ' c'est une barre de progression pour patienter durant le ping




Dim commande As String
Dim Resultat As Long
Dim Ad_a_tester As String
Dim Handle As Long
Dim Fichier As String
Dim Ligne As String
Dim EstOK As Boolean
Dim t As Long


Fichier = "C:\resultat.txt"
[Form_progress].bar.Value = 8 / 7

Ad_a_tester = Texte1.text
commande = "c:\windows\system32\command.com /cping " & Ad_a_tester & " <" & Fichier
[Form_progress].bar.Value = 8 / 6
Resultat = Shell(commande, vbMinimizedNoFocus)
[Form_progress].bar.Value = 8 / 5
t = Timer
Do
If Timer - t > 5 Then Exit Do
DoEvents
Loop
Do
DoEvents
Err = 0
On Error Resume Next
If FileLen(Fichier) <> 0 And Err = 0 Then Exit Do
Loop
EstOK = True
[Form_progress].bar.Value = 8 / 4
Handle = FreeFile
Open Fichier For Input As #Handle
While Not EOF(Handle)
Input #Handle, Ligne
If InStr(Ligne, "d'attente de la demande ") <> 0 Then
[Form_progress].bar.Value = 8 / 3
EstOK = False
End If
Wend
Close #Handle
[Form_progress].bar.Value = 8 / 2
Kill Fichier
If EstOK = True Then

resultping.resultping = True ' c'est la variable public qui stocke le résultat du ping

Else

resultping.resultping = False

End If
[Form_progress].bar.Value = 8 / 1


DoCmd.OpenForm "Résultat rechercher par IP"
DoCmd.Close acForm, "Recherche par adresse IP"
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
23 mars 2005 à 14:48
Un code de "multiping" existe sur le site (si g me trompe pas)

Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)

NH
0
Rejoignez-nous