IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Trouver le nom du(es) serveur(s) SQL disponible(s)


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2005
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 40
    Points : 37
    Points
    37
    Par défaut Trouver le nom du(es) serveur(s) SQL disponible(s)
    Bonjour,

    Quelqu'un sait-il comment trouver par code VB(A) le nom du(es) serveur(s) SQL disponible(s) à partir de l'ordinateur actuel ?

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 653
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 653
    Points : 34 370
    Points
    34 370
    Par défaut
    salut,

    tu peux lister les DSN disponibles en base de registres :
    http://support.microsoft.com/kb/178755

    les listes des DSN sont dans les registres
    HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources
    HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    Option Explicit 
     
      Private Declare Function RegOpenKeyEx Lib "advapi32.dll" _ 
          Alias "RegOpenKeyExA" _ 
          (ByVal hKey As Long, _ 
          ByVal lpSubKey As String, _ 
          ByVal ulOptions As Long, _ 
          ByVal samDesired As Long, phkResult As Long) As Long 
     
      Private Declare Function RegEnumValue Lib "advapi32.dll" _ 
          Alias "RegEnumValueA" _ 
          (ByVal hKey As Long, _ 
          ByVal dwIndex As Long, _ 
          ByVal lpValueName As String, _ 
          lpcbValueName As Long, _ 
          ByVal lpReserved As Long, _ 
          lpType As Long, _ 
          lpData As Any, _ 
          lpcbData As Long) As Long 
     
      Private Declare Function RegCloseKey Lib "advapi32.dll" _ 
          (ByVal hKey As Long) As Long 
     
      Const HKEY_CLASSES_ROOT = &H80000000 
      Const HKEY_CURRENT_USER = &H80000001 
      Const HKEY_LOCAL_MACHINE = &H80000002 
      Const HKEY_USERS = &H80000003 
     
      Const ERROR_SUCCESS = 0& 
     
      Const SYNCHRONIZE = &H100000 
      Const STANDARD_RIGHTS_READ = &H20000 
      Const STANDARD_RIGHTS_WRITE = &H20000 
      Const STANDARD_RIGHTS_EXECUTE = &H20000 
      Const STANDARD_RIGHTS_REQUIRED = &HF0000 
      Const STANDARD_RIGHTS_ALL = &H1F0000 
      Const KEY_QUERY_VALUE = &H1 
      Const KEY_SET_VALUE = &H2 
      Const KEY_CREATE_SUB_KEY = &H4 
      Const KEY_ENUMERATE_SUB_KEYS = &H8 
      Const KEY_NOTIFY = &H10 
      Const KEY_CREATE_LINK = &H20 
      Const KEY_READ = ((STANDARD_RIGHTS_READ Or _ 
                        KEY_QUERY_VALUE Or _ 
                        KEY_ENUMERATE_SUB_KEYS Or _ 
                        KEY_NOTIFY) And _ 
                        (Not SYNCHRONIZE)) 
     
      Const REG_DWORD = 4 
      Const REG_BINARY = 3 
      Const REG_SZ = 1 
     
      Private Sub Command1_Click() 
         Dim lngKeyHandle As Long 
         Dim lngResult As Long 
         Dim lngCurIdx As Long 
         Dim strValue As String 
         Dim lngValueLen As Long 
         Dim lngData As Long 
         Dim lngDataLen As Long 
         Dim strResult As String 
     
         lngResult = RegOpenKeyEx(HKEY_CURRENT_USER, _ 
                 "SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources", _ 
                  0&, _ 
                  KEY_READ, _ 
                  lngKeyHandle) 
     
         If lngResult <> ERROR_SUCCESS Then 
             MsgBox "Cannot open key" 
             Exit Sub 
         End If 
     
         lngCurIdx = 0 
         Do 
            lngValueLen = 2000 
            strValue = String(lngValueLen, 0) 
            lngDataLen = 2000 
     
            lngResult = RegEnumValue(lngKeyHandle, _ 
                                     lngCurIdx, _ 
                                     ByVal strValue, _ 
                                     lngValueLen, _ 
                                     0&, _ 
                                     REG_DWORD, _ 
                                     ByVal lngData, _ 
                                     lngDataLen) 
            lngCurIdx = lngCurIdx + 1 
     
            If lngResult = ERROR_SUCCESS Then 
               strResult = strResult & lngCurIdx & ": " & Left(strValue, lngValueLen) & vbCrLf 
            End If 
         Loop While lngResult = ERROR_SUCCESS 
         Call RegCloseKey(lngKeyHandle) 
     
         Call MsgBox(strResult, vbInformation) 
      End Sub

Discussions similaires

  1. Problème de connexion où trouver le nom de mon serveur
    Par odwibag dans le forum Administration
    Réponses: 3
    Dernier message: 03/05/2011, 16h56
  2. Réponses: 0
    Dernier message: 01/07/2010, 18h18
  3. Réponses: 0
    Dernier message: 29/01/2009, 10h43
  4. Trouver le nom du serveur SMTP de l'entreprise
    Par Patrick78 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 06/08/2008, 07h35
  5. Changement nom serveur impact SQL Server
    Par loulag07 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 03/03/2008, 17h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo