Lien ODBC - Mot de Passe - VB/VBA/VBS - Programmation
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...
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
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