Lien ODBC - Mot de Passe

Lien ODBC - Mot de Passe - VB/VBA/VBS - Programmation

Marsh Posté le 21-06-2005 à 11:23:15    

Bonjour,
 
Voici le contexte de mon problème :
 
Je suis dans le code VBA d'une base Access qu'on va nommer A.mdb et j'ouvre une connection sur une autre base Access (B.mdb) comme ceci :
 
-----------------------------------------------------------------------
Dim db_B As DAO.Database
 
Set db_B = DAO.Workspaces(0).OpenDatabase(chemin_db_B)
-----------------------------------------------------------------------
 
Jusque là : impeccable !
 
Il se trouve que dans B.mdb j'ai une table (disons "TB1" ) qui est un lien (ODBC) vers une table ORACLE protégée par mot de passe. Et le problème est que dans mon code VBA de A.mdb, je voudrai pouvoir manipuler des données de TB1 de B.mdb SANS avoir à saisir manuellement le mot de passe dans la boite de dialogue... Vous voyez ?
 
Donc, comment est-il possible d'ouvrir une TABLE (et non pas une base) protégée par mot de passe ? Tout en sachant que la protection par MDP est en fait sur l'accès à la table ORACLE, lien vers lequel pointe ma table Access.
 
Comme jusqu'à maintenant au moins une personne a gentilment répondu à mes questions, je reste confiant que quelqu'un puisse m'aider.
 
Merci

Reply

Marsh Posté le 21-06-2005 à 11:23:15   

Reply

Marsh Posté le 21-06-2005 à 12:01:11    

J'ai trouvé le code ci-dessous qui correspond à ce que je veux faire :
 
Dim ma_table As DAO.TableDef
 
Set ma_table = A.CreateTableDef("TB1" )
ma_table.Connect = "Paradox 4.x;PWD=xxxx;DATABASE=C:\BD"
ma_table.SourceTableName = "TB1#DB"
A.TableDefs.Append ma_table
 
Le truc c'est qu'il me trouve pas ma table TB1 et je ramasse l'erreur suivante :
----------------------------------------------------
Erreur d'exécution '3011':
 
Le moteur de base de données Microsoft Jet n'a pas pu trouvé l'objet 'TB1'. Assurez-vous que l'objet existe et que vous avez correctement saisi son nom et son chemin d'accès.
----------------------------------------------------
 
Si vous aviez une idée parceque là je bloque vraiement...

Reply

Marsh Posté le 22-06-2005 à 10:34:21    

Cette ligne

Citation :

ma_table.Connect = "Paradox 4.x;PWD=xxxx;DATABASE=C:\BD"


veut dire que tu te connectes sur une base au format Paradox qui est située sur C:\ et nommée BD
 
Ca ne correspond en rien à ce que tu as expliqué de ton problème; je ne vois pas comment ça pourrait marcher
 
Cependant c'est une syntaxe similaire, mais adaptée au format ODBC Oracle, qu'il te faut utiliser.
 
Sur ce forum, la question a déjà été traitée
http://forum.hardware.fr/hardwaref [...] 6879-1.htm
 
d'autres liens
http://www.prosygma.com/newsupport/odbc.htm
http://www.prosygma.com/odbc-dsn.htm

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed