2010-03-03 5 views
0

Je migre Access 2003 à 2007. Il y a beaucoup de tables liées provenant d'Oracle. Je crée un point ODBC à l'instance Oracle, puis dans Access je lie toute la table via ODBC. J'utilise cette connexion de code, de sorte que la boîte de dialogue « pilote ODBC Oracle Connect » ne Popup demander le mot de passe:Connexion à Access 2007 avec table liée ODBC à partir d'Oracle

strConnect = "ODBC;DATABASE=" & strFCPD & ";DSN=PBRIS;UID=xxxxx;PWD=xxxxx" 
    Dim wsp As Workspace 
    Set wsp = DBEngine.CreateWorkspace("xxx", "xxx", "xxx", dbUseODBC) 
    Set dbs = OpenDatabase("", False, True, strConnect) ' connect via regular ODBC 
    dbs.Close 

Il fonctionne très bien en 2003 mais pas en 2007. Quel est le problème ici? Que devrais-je faire?

+0

Quelle erreur obtenez-vous dans A2007? –

Répondre

0

Access 2007 utilise-t-il un pilote ODBC différent d'Access 2003? Si c'est le cas, vous devrez créer un nouveau DSN qui utilise le pilote Access 2007. Il semble que le DSN existant s'appelle "PBRIS". Accédez à l'administrateur ODBC et créez un nouveau DSN à l'aide de l'onglet DSN système de l'outil d'administration, puis spécifiez le pilote Access 2007 au lieu du pilote Access 2003. Vous aurez probablement envie de le nommer différemment - peut-être quelque chose comme "PBRIS2007". Vous devrez modifier votre code qui crée la chaîne de connexion pour spécifier le nouveau nom de la source de données.

J'espère que cela aide.

+0

Le pilote ODBC est pour Oracle et ODBC est quelque chose dont Access est agnostique. Il ne peut donc pas y avoir de différence avec le pilote ODBC entre les versions d'Access. –