Attache table sql server ODBC

capi59 Messages postés 8 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 21 octobre 2010 - 19 mai 2010 à 16:38
capi59 Messages postés 8 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 21 octobre 2010 - 19 mai 2010 à 17:11
Bonjour !
je travaille sur un pc virtuelle avec windows server 2003 ! SQL server est installé dessus. J'ai migrer Une BDD access vers sql server !

maintenant je veux attacher les tables access à sql server avec ODBC !
J'utilise ce code :

Dim nbTables As Long ' nombre de tables dans la liste
Dim i As Long ' compteur de boucle
Dim nouvelleTable As TableDef ' nouvelle table à lier
Dim nomtable As String ' nom de la table
Dim base_attache As Database


Set base_attache = DBEngine.Workspaces(0).OpenDatabase("ODBC;DSN=***;UID=toto;PWD=pass")
' compte le nombre de table
nbTables = base_attache.TableDefs.Count

' parcours la collection des tables liées dans cette BDD pour récupérer leur nom et faire les attaches

For i = nbTables - 1 To 0 Step -1 '
nomtable = CurrentDb.TableDefs(i).Name ' récupère le nom de la table
' création d'un nouveau lien
nouvelleTable.Connect = "ODBC;DSN=***;UID=toto;PWD=pass"
CurrentDb.TableDefs.Append nouvelleTable ' rattache la table à la collection
nouvelleTable.SourceTableName = "nouvelleTable"
Next i

End Sub


Je sais pas si le code est bon, mais je n'arrive pas à me connecter à la base sql server :/
Voila ce qu'il me met :
Erreur d'exécution 3024
<< ODBC;DSN=***;UID=toto;PWD=pass>> fichier introuvable !

Je tourne en rond sans trouver de solution si quelqu'un pourrait m'aider Se serait avec plaisir ;)

merci.

1 réponse

capi59 Messages postés 8 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 21 octobre 2010
19 mai 2010 à 17:11
Y'a des erreurs dans le code mais je cherche juste à réussir à me connecter avec ODBC

Quand je fais ceci :
' 1. création de variable
Dim dbs As Database, tdfTABLE1 As TableDef

' 2. Ouvrir la base de données existante:
Set dbs = OpenDatabase(CurrentDb.Name)

' 3. Créer des objets TableDef pour les tables externes:
Set tdfTABLE1 = dbs.CreateTableDef("TABLE1")

tdfTABLE1.Connect = "ODBC;DSN=REPRO;UID=Administrateur;PWD=admin;"
tdfTABLE1.SourceTableName = "clients"

' 5. Ajoutez l'objet TableDef à la collection TableDefs à l'aide de la
'méthode Append.
dbs.TableDefs.Append tdfTABLE1



J'ai bien une table "TABLE1" dans access qui correspond à la table client de la bdd sur SQL server.

donc comment sa se fait que j'arrive à me connecter à une table mais pas à la base de donnée entier :/

ps : je suis debutant :/ désolée pour le double post
Rejoignez-nous