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 :

liaison tables MySQL


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 10
    Par défaut liaison tables MySQL
    bonjour,
    je travaille actuellement avec une base access 2007 dont le tables sont liées directement par le menu access de liaison ODBC MySQL et le connector ODBC 5.1. Je desire installer cette base sur des postes ayant access et le pilote ODBC mYSQL 5.1 installé mais dont la liaison se ferait automatiquement sans configurer le pilote MySQL(adresse IP databade identifiant mot de passe) et pouvoir modifier les données de ces tables
    je me suis inspiré du tutoriel de connection ODBC de votre site mais je me retrouve face à plusieurs problèmes :
    quand je lance le module, le connecteur ODBC me redemande l'adresse IP du serveur et le nom de la Database alors que je l'ai rentré dans le module. Si je refuse de remplir ces données, la connexion est impossible
    si je rentre à nouveau ces données, la liaison avec la table se fait mais je ne peux pas modifier les données alors que je peux le faire avec ma liaison actuelle
    si quelqu un a une réponse je joins le code
    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
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
     
    Public Const ODBC_ADD_DSN As Long = 1 ' Ajoute DSN utilisateur
    Public Const ODBC_ADD_SYS_DSN As Long = 4 ' Ajoute DSN système
    Public Const ODBC_REMOVE_DSN As Long = 3 ' Supprime DSN utilisateur
    Public Const ODBC_REMOVE_SYS_DSN As Long = 6 ' Supprime DSN système
    Public Declare Function SQLConfigDataSource Lib "odbccp32.dll" _
    (ByVal hWndParent As Long, ByVal fRequest As Long, _
    ByVal lpszDriver As String, ByVal lpszAttributes As String) As Long
    Public Const SQL_SUCCESS As Long = 0
    Public Const SQL_SUCCESS_WITH_INFO As Long = 1
    Public Declare Function SQLInstallerError Lib "odbccp32.dll" _
    (ByVal iError As Integer, _
    ByRef pfErrorCode As Long, _
    ByVal lpszErrorMsg As String, _
    ByVal cbErrorMsgMax As Long, _
    ByRef pcbErrorMsg As Long) As Long
     
    Public Enum dsnTypes
    dsnUser = 0
    dsnSystem = 1
    End Enum
     
     
    ' ---------------------------------------------------------
    ' Function apiRegDB
    ' ---------------------------------------------------------
    ' Entrée:
    ' ======
    ' strDSN .............. : Nom de la source de données à créer
    ' strDriver ........... : Nom du pilote ODBC
    ' strAttributes ....... : Paramètres
    ' lngDSNtype .......... : dsnUser -> crée DSN utilisateur
    ' dsnSystem -> crée DSN système
    ' blnDeleteBeforeCreate : True -> supprime DSN avant création
    'Retourne:
    ' ========
    ' True si succès, sinon False
    ' ---------------------------------------------------------
    Function apiRegDB(strDSN As String, strDriver As String, strAttributes As String, _
    Optional lngDSNtype As dsnTypes = dsnTypes.dsnUser, _
    Optional blnDeleteBeforeCreate As Boolean = False) As Boolean
    Dim retVal As Long, strAttr As String, strErrMsg As String
    Dim Add_DSN As Long, Rmv_DSN As Long
    Dim pfErrorCode As Long, pcbErrorMsg As Long, lpszErrorMsg As String, i As Integer
    If lngDSNtype = dsnSystem Then
    ' Source de données système
    Add_DSN = ODBC_ADD_SYS_DSN
    Rmv_DSN = ODBC_REMOVE_SYS_DSN
    Else
    ' Source de données utilisateur
    Add_DSN = ODBC_ADD_DSN
    Rmv_DSN = ODBC_REMOVE_DSN
    End If
    If blnDeleteBeforeCreate Then
    ' Supprime source de données si déjà créée
    strAttr = "DSN=" & strDSN & vbNullChar & vbNullChar
    retVal = SQLConfigDataSource(0, Rmv_DSN, strDriver, strAttr)
    End If
    ' Construit chaîne d'attributs mot-clé=valeur
    ' Chaque paire mot-clé/valeur est terminée par un caractère nul
    strAttr = "DSN=" & strDSN & vbNullChar
    strAttr = strAttr & strAttributes
    ' Terminaison de la chaîne
    strAttr = strAttr & vbNullChar
    ' Crée source de données
    retVal = SQLConfigDataSource(0, Add_DSN, strDriver, strAttr)
    If retVal = 0 Then
    i = 0
    Do
    i = i + 1
    lpszErrorMsg = String(2048, vbNullChar)
    retVal = SQLInstallerError(i, pfErrorCode, lpszErrorMsg, 2047, pcbErrorMsg)
    If retVal = SQL_SUCCESS_WITH_INFO Then retVal = SQL_SUCCESS
    If retVal = SQL_SUCCESS Then
    If Len(strErrMsg) > 0 Then strErrMsg = strErrMsg & vbCrLf & vbCrLf
    strErrMsg = strErrMsg & Left(lpszErrorMsg, pcbErrorMsg)
    End If
    Loop Until (retVal <> SQL_SUCCESS Or i = 8)
    MsgBox strErrMsg, , "SQLConfigDataSource"
    apiRegDB = False
    Else
    apiRegDB = True
    End If
    End Function
     
    Sub apiRegDSN_mysql2()
    Dim strDSN As String, strAttr As String, strODBCDrv As String
    Dim blnSuccess As Boolean
    ' Nom de la source de données ODBC
    strDSN = "ESSAI MySQL"
    ' Nom du pilote ODBC
    strODBCDrv = "MySQL ODBC 5.1 Driver"
    ' Attributs
    strAttr = "SERVER=188.165.217.217" & vbNullChar & "DATABASE=vetshop2" & vbNullChar
    strAttr = strAttr & "Description=ESSAI DSN MySQL" & vbNullChar
    strAttr = strAttr & "OPTION=3" & vbNullChar
    strAttr = strAttr & "UID=aaaaa" & vbNullChar
    strAttr = strAttr & "PWD=bbbbb" & vbNullChar
     
    blnSuccess = apiRegDB(strDSN, strODBCDrv, strAttr, dsnSystem, True)
     
     
    Dim strConn As String, db As DAO.Database, td As DAO.TableDef, strIndex As String
     
    Set db = CurrentDb
    ' Chaîne de connexion
    strConn = "ODBC;" & _
    "DSN=ESSAI MySQL;" & _
    "UID=aaaaa;PWD=bbbbb"
    ' Création nouvelle définition de table
    Set td = db.CreateTableDef("vete")
    ' Optionnel : Sauver mot de passe
    td.Attributes = td.Attributes Or dbAttachSavePWD
    ' Chaîne de connexion ODBC pour DAO
    td.Connect = strConn
    ' Nom de la table source
    td.SourceTableName = "vete"
    ' Ajouter à la collection
    db.TableDefs.Append td
     
    Set td = Nothing
    Set db = Nothing
    ' Actualiser fenêtre base de données pour que la nouvelle table apparaisse
    Application.RefreshDatabaseWindow
     
    Set db = CurrentDb
    Set db = CurrentDb
    ' Ajout index clé primaire
    strIndex = "CREATE UNIQUE INDEX __uniqueindex " & _
    "ON vete ([id] ASC) WITH PRIMARY"
    db.Execute strIndex, dbFailOnError
    End Sub

  2. #2
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Par défaut
    Bonsoir,

    J'ai testé le code que tu as posté dans une nouvelle base de données,
    et chez moi (Windows XP / Access 2003 / 'MySQL ODBC 5.1 Driver' 5.01.06.00) il fonctionne.

    DSN créé
    table liée créée
    index clé primaire créé (j'ai choisi une table MySql sans clé pour mon test)

    J'ai pu reproduire une situation où le pilote MySQL affiche sa boîte de dialogue, au moment de créer la table liée.
    C'est quand la source de données (DSN) existe deux fois (DSN utilisateur et DSN système avec le même nom), et que le DSN utilisateur est incomplet (enregistré sans nom ou adresse ip de serveur).

    A+

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 10
    Par défaut liaison Access MySQL
    bonjour et merci de ta réponse.
    Je suis revenu en arrière dans ma démarche et ne cherche pour l'instant qu'a établir une source de données utilisateur grace à ton tutorial avec DAO ou API ODBC. Mes tables étant déjà liées dans la version de base, les autres utilisateurs de ma base frontale n'ayant pas à faire la liaison. J'ai supprimé toutes les sources de données indésirables, je travaille avec windows seven 64 et le pilote ODBC MySQL 5.18 . J'ai recopié ton code pour les constantes et la fonction apiRegDB dans un module et créé deux boutons dans un formulaire avec la première méthode (DAO) et la 2eme (ApiODBC)en ne changeant que le nom du connecteur et les données de la source. A chaque fois quand ça ne fonctionne pas correctement je supprime la source de données.Le souci est toujours le même :
    la source de donnée système ou utilisateur est créé et visible dans les sources de données machine, mais lorsque je veux m'en servir le connecteur ODBC n'a retenu que le DSN, le reste des infos n'étant pas stockées. J'ai même testé sur un autre ordi et j'ai aussi retesté avec la versoin MySQL 3.51 en desintallant la 5.1. Je n'arrive pas à comprendre ou se perdent les infos de strAttr
    merci encore
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés
    • Type de fichier : txt 2.txt (4,2 Ko, 168 affichages)

  4. #4
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Par défaut
    Bonjour,

    Citation Envoyé par libamar Voir le message
    ... je travaille avec windows seven 64 ...
    Je pense que la source du problème est là.
    Voir la note de cette page et http://support.microsoft.com/kb/942976

    D'après ce que j'ai pu comprendre ...
    c:\windows\sysWOW64\odbcad32.exe gère les pilotes 32 bit et utilise les clés de registre
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBC.INI
    HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\ODBC\ODBC.INI

    c:\windows\system32\odbcad32.exe gère les pilotes 64 bit et utilise la clé de registre
    HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI
    HKEY_CURRENT_USER\SOFTWARE\ODBC\ODBC.INI

    Donc a mon avis, mon code crée le DSN à un certain endroit de la base de registre, et Access le cherche à un autre endroit.
    Mais ce qui m'étonne c'est qu'il trouve le DSN et le pilote.
    Ou bien SQLConfigDataSource n'enregistre pas tous les paramètres du DSN.

    N'ayant pas à ma disposition de machine avec un OS 64 bit, je ne peux pas faire de recherches.

    Peux-tu essayer ceci ?
    1. Exécute c:\windows\system32\odbcad32.exe Supprime tous les DSN "ESSAI MySQL" (utilisateur et système)
    2. Exécute c:\windows\sysWOW64\odbcad32.exe Supprime tous les DSN "ESSAI MySQL" (utilisateur et système)

      Là, normalement on n'a plus aucun DSN "ESSAI MySQL".
      &#160;
    3. Lance le code VBA qui crée le DSN système "ESSAI MySQL".
      1. Exécute c:\windows\system32\odbcad32.exe
        Est-ce que tu vois le DSN ? Oui/Non
      2. Exécute c:\windows\sysWOW64\odbcad32.exe
        Est-ce que tu vois le DSN ? Oui/Non
      3. depuis Access tente de créer une table liée ODBC manuellement.
        Est-ce que tu vois le DSN ? Oui/Non

      &#160;
    4. Vérifier dans la base de registre.
      1. Dans l'éditeur de base de registre aller à
        HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI
        Est-ce que tu vois le DSN "ESSAI MySQL" ? Oui/Non
        Si oui, que contient-il ?
        Y a-t-il les valeurs (DATABASE, Driver, OPTION, SERVER)
      2. Dans l'éditeur de base de registre aller à
        HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBC.INI
        Est-ce que tu vois le DSN "ESSAI MySQL" ? Oui/Non
        Si oui, que contient-il ?
        Y a-t-il les valeurs (DATABASE, Driver, OPTION, SERVER)

      &#160;
    5. Vérifier où Access recherche les DSN.
      1. Exécuter Exécute c:\windows\sysWOW64\odbcad32.exe
        et créer un DSN "ESSAI MySQL 32"
      2. Exécuter Exécute c:\windows\system32\odbcad32.exe
        et créer un DSN "ESSAI MySQL 64"
      3. Depuis Access tente de créer une table liée ODBC manuellement
        Est-ce que tu vois les DSN "ESSAI MySQL 32" et "ESSAI MySQL 64" ?
        Ou bien un seul, et si oui lequel ?

      &#160;
    6. odbccp32.dll
      Il est fort probable qu'il y ait deux versions de bibliothèques, et je n'ai aucune idée de l'endroit où la déclaration
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Public Declare Function SQLConfigDataSource Lib "odbccp32.dll" ...
      va chercher le fichier odbccp32.dll.

      Est-ce que odbccp32.dll existe dans c:\windows\system32 et dans c:\windows\sysWOW64 ?
      &#160;
    7. Dernière question.
      Access est en version 32 bit ou 64 bit ?

    A+

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 10
    Par défaut
    bonsoir,
    je viens de faire toute ta procédure et j'y réponds en reprenant ta numérotation pour simplifier
    1-fait
    2-fait plus de DSN ESSAI MySQL
    3a-oui mais message d'erreur si je clique sur configurer (les routines d installation du pilote ODBC MySQL 5.1 sont introuvables la source de donnée présente une incompatibilité d'architecture entre le pilote et l'application)
    3b-oui je peux accéder à la page du connecteur mais seul le DSN est enregistré
    3c-oui même remarque
    4a-ODBC dossier défaut et vista vides pas d ESSAI MySQL
    ODBC data source defaut vide
    4b- Non dossier vide par défaut
    5a-fait
    5b- pas possible pas de pilote MySQL proposé
    6- oui il est bien dans les deux dossiers

    version access 2010 32 bits (installation complète par défaut)

    je te rappelle aussi que j'ai testé le code sous access 2007 et seven 32bits sans plus de succès, si ça peut aider
    merci

  6. #6
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Par défaut
    Bonsoir,

    J'ai résumé les tests que tu as faits dans un fichier excel.

    Si tu as bien créé des DSN systèmes, je suis surpris que les deux versions de l'administrateur de sources de données ODBC voient le DSN "ESSAI MyQL".
    C'est en contradiction avec ce qui est écrit ici.
    Idem, je ne comprends pas que tu ne voie le DSN "ESSAI MyQL" nulle part dans les deux clés de la base de registre.

    Ce qui se dégage de tout ça, c'est que
    • Le pilote MySQL est 32 bit
    • Access (32 bit) ne voit que les DSN systèmes 32 bit (HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBC.INI).
    • SQLConfigDataSource (odbccp32.dll) ne peut créer entièrement la source de données, et je ne sais pas si la dll est celle de system32 ou celle de sysWOW64.


    je te rappelle aussi que j'ai testé le code sous access 2007 et seven 32bits sans plus de succès,
    Alors là c'est vraiment étrange.


    Test 1.
    Dans les déclarations de l'api ODBC remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ... Lib "odbccp32.dll" ...
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ... Lib "c:\windows\sysWOW64\odbccp32.dll" ...
    pour forcer VBA à utiliser la supposée version 32 bit.

    Test 2.
    Créer un DSN utilisateur avec Access/DAO.

    Dernière possibilité
    Elle consiste à enregistrer la source de données ODBC en écrivant dans la base de registre.
    Pour cela il faut créer une source manuellement avec c:\windows\sysWOW64\odbcad32.exe et voir ce que l'administrateur de sources de données ODBC a créé dans
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBC.INI\ESSAI MySQL
    et dans
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBC.INI\ODBC Data Sources
    Exemple (format éditeur de registre windows 5.0)
    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
    Windows Registry Editor Version 5.00
     
    ;; Détail source de données ESSAI MySQL
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBC.INI\ESSAI MySQL]
    "Driver"="C:\\WINDOWS\\sysWOW64\\myodbc3.dll"
    "DATABASE"="NomBDDmysql"
    "DESCRIPTION"="ESSAI DSN MySQL"
    "OPTION"="3"
    "SERVER"="172.10.23.76"
     
    ;; Section listant les sources de données système créées
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBC.INI\ODBC Data Sources]
    ;;...
    "ESSAI MySQL"="MySQL ODBC 3.51 Driver"
    ;;...
     
    ;; Section du pilote ODBC pour MySQL
    ;; Créée lors de l'installation du pilote
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\MySQL ODBC 3.51 Driver]
    "UsageCount"=dword:00000001
    "Driver"="C:\\WINDOWS\\sysWOW64\\myodbc3.dll"
    "Setup"="C:\\WINDOWS\\sysWOW64\\myodbc3S.dll"
    "CPTimeout"="<non regroupé>"
     
    ;; Section listant les pilotes installés sur la machine
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\ODBC Drivers]
    "MySQL ODBC 3.51 Driver"="Installed"
    Je suis parti de ce que j'ai sur XP, j'ai inséré Wow6432Node entre SOFTWARE et ODBC, et j'ai remplacé system32 par sysWOW64 dans les chemins vers les dll.

    Si les tests 1 et 2 son infructueux, crée une source à la main et exporte la clé HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC dans fichier .reg.
    Renomme le fichier en .txt.
    Ouvre le et supprime les sous-clés sans rapport avec MySQL (comme mon exemple du dessus).
    Il doit te rester les quatre clés
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBC.INI\ESSAI MySQL]
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBC.INI\ODBC Data Sources]
    (ne conserver que la ligne pour ESSAI MySQL)
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\MySQL ODBC 5.1 Driver]
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\ODBC Drivers]
    (ne conserver que la ligne pour le pilote MySQL)
    Poste ce qui reste et j'essaierai de créer le code VBA pour recréer ces entrées dans la base de registre.

    A+
    Fichiers attachés Fichiers attachés

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 10
    Par défaut Test MySQL 5.1 Access
    bonsoir,
    j ai un peu peur de manipuler le registre, d'autant plus que :
    -mon but est de pouvoir exporter ma base access quelque soit le systeme d'exploitation et la version acces à partir de 2007
    -j'ai fait une capture d'écran et à priori mon lien Test MySQL s'est installé à un autre endroit que celui que tu m'a indiqué : peut-être une piste ?je joins la capture d'écran de mon regedit
    merci de ton aide

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 10
    Par défaut
    avec la capture d'écran c(est mieux !
    Images attachées Images attachées  

  9. #9
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Par défaut
    Bonsoir,
    Citation Envoyé par libamar Voir le message
    bonsoir,
    j ai un peu peur de manipuler le registre, d'autant plus que :
    -mon but est de pouvoir exporter ma base access quelque soit le système d'exploitation et la version acces à partir de 2007
    -j'ai fait une capture d'écran et à priori mon lien Test MySQL s'est installé à un autre endroit que celui que tu m'a indiqué : peut-être une piste ?je joins la capture d'écran de mon regedit
    merci de ton aide
    Créer une source de donnée ODBC, quelle que soit la méthode employée, consiste à enregistrer des informations dans la base de registre.
    Ce que je t'ai montré correspond à la création d'un DSN Système, créé à la main avec l'administrateur de sources de données ODBC.

    La copie d'écran correspond à un DSN utilisateur.
    Je n'ai jamais utilisé la clé HKEY_USERS.
    On utilise plutôt la clé HKEY_CURRENT_USER qui pointe vers l'entrée de HKEY_USERS (HKEY_USERS\S-x-xx-x-etc...) correspondant à l'utilisateur de la session Windows en cours.
    Tu devrais retrouver la même chose que ta copie d'écran dans HKEY_CURRENT_USER\Software\ODBC\ODBC.INI.

    Je suppose que cette source de données a été créée avec la méthode DAO (qui ne sait créer que des DSN utilisateurs).
    Si cette méthode fonctionne, je pense qu'il faut l'utiliser.

    A+

Discussions similaires

  1. [AC-2003] Liaison table MySql
    Par kheir dans le forum Access
    Réponses: 0
    Dernier message: 01/07/2012, 16h44
  2. Liaison table MySql à Flash
    Par Boysan100 dans le forum Flash
    Réponses: 0
    Dernier message: 15/06/2010, 09h52
  3. [Joomla!] [Chronos Forms] liaison avec Table Mysql
    Par skins dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 21/05/2009, 14h06
  4. Erreur 145 sur table mysql
    Par ramses83 dans le forum Requêtes
    Réponses: 1
    Dernier message: 06/09/2007, 21h09
  5. [sgbd] Backup de tables MySQL auto, qqun sait ???
    Par Joelindien dans le forum SGBD
    Réponses: 31
    Dernier message: 26/05/2003, 17h59

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