Les mémos

Fermer Tables

Fermer Requêtes

Fermer Formulaires

Fermer Etats

Fermer Modules

Fermer Base

Fermer Automation

Fermer Administration

Fermer Registre

Fermer String

Fermer Email CDO

Fermer Outlook

Fermer Net

Fermer Dates - Heures

Fermer Fichiers

Fermer Références

Fermer Vrac

Je débute...

Fermer La normalisation

Fermer VBA

Attention
Aucun support
par émail !

Utilisez le forum pour les questions/réponses concernant MsAccess et les codes que vous trouverez sur ce site.
Visites

   visiteurs

   visiteurs en ligne

Net - Tester connexion (2)

Test de la connexion à l'internet

Tester la connexion au réseau internet n'est pas chose facile. La plupart des codes qui proposent de tester cette connexion retourne une information erronée.

Les fonctions misent à disposition par Windows teste en réalité la connexion au réseau. Pour peu que l'on dispose de plusieurs machines connectées en réseau local, Windows nous informe que l'on est connecté. Cela même lorsque le modem ou routeur est déconnecté du réseau externe.

Le seul cas de réponse correcte avec cette méthode est lorsqu'un seul PC est directement relié au routeur. Mais cela est actuellement rarement le cas, même dans les très petites structures.

Le code ci-dessous (que l'on placera dans un module général) teste d’abord la connexion au réseau local, puis en cas de réponse positive tente un accès à une domaine librement défini. Il faut bien sûr choisir une adresse très disponible et qui réponde rapidement.

L'utilisation est donc réduite à un simple « if OnLineOK Then ... »

 

Option Compare Database
Option Explicit

'/////
'///// utilisé par WANconnection
'/////
Private Const FLAG_ICC_FORCE_CONNECTION = &H1

Private Declare Function InternetCheckConnection _
                          Lib "Wininet.dll" _
                              Alias "InternetCheckConnectionA" _
                              (ByVal lpszUrl As String, _
                               ByVal dwflags As Long, _
                               ByVal dwReserved As Long) As Long
'/////
'///// utilisé par LANconnection
'/////
Private Declare Function InternetGetConnectedState _
                          Lib "wininet" (ByRef dwflags As Long, _
                                         ByVal dwReserved As Long) As Long

Public Function LANconnection() As Boolean
    '// Teste la connexion au réseau interne
    If InternetGetConnectedState(0, 0) = 1 Then
        LANconnection = True
    Else
        LANconnection = False
    End If
End Function

Public Function WANconnection( _
       Optional sURL As String = "http://www.yahoo.com") As Boolean
    '// Teste la connexion au réseau internet
    If CheckInetConnection(sURL) Then
        WANconnection = True
    Else
        WANconnection = False
    End If
End Function

Public Function CheckInetConnection(sUrlOfInterest As String) As Boolean
    CheckInetConnection = InternetCheckConnection( _
                          sUrlOfInterest, FLAG_ICC_FORCE_CONNECTION, 0&)
End Function

Function OnLineOK() As Boolean
    '// Test de la connexion
    If LANconnection Then
        If WANconnection Then
            OnLineOK = True
        Else
            OnLineOK = False
        End If
    End If
End Function

 


Date de création : 02/08/2014 : 03:30
Dernière modification : 03/08/2014 : 01:12
Catégorie : Net
Page lue 1032 fois


Imprimer l'article Imprimer l'article

Recherche



Lettre d'information
Pour avoir des nouvelles de ce site, inscrivez-vous à notre Newsletter.
Captcha
Recopier le code :
Au sujet de l'auteur
L'auteur qui fréquente (fréquentait) le forum microsoft.public.fr.access a eu le plaisir d'être nommé MVP Office-Access de janvier 2003 à décembre 2011.

Qui sont les MVP ?

Divers ;-)
Nous contacter

Haut