Jointure externe (plusieur bases access) [Résolu]

Messages postés
307
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
27 mai 2012
- - Dernière réponse : Flocreate
Messages postés
307
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
27 mai 2012
- 11 févr. 2011 à 20:29
Bonjour à tous,

Je possède deux bases access
PRODUITs.mdb
DONNEES_DE_PROD.mdb

Je souhaite faire des requêtes sur la base "données de production".
Mon problème est que je souhaite avoir des JOIN TABLE externe en "important" une ou plusieurs tables de la base PRODUITS

déja je ne sais pas si il faut faire la jointure en VB6 au niveau de ma ADODB.Database ou au niveau de ma requête SQL.
Et dans les deux cas, je ne sais pas comment mettre en oeuvre.

cordialement,

VB6, quand yen a plus yen a encore
Il y a tant a apprendre et seulement 24 heures dans une journée
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
307
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
27 mai 2012
3
3
Merci
J'ai oublié de dire que la base de données DONNEES_DE_PRODUCTION est recrée tous les jours à partir d'un fichier CSV qui évolue... (je n'ai pas le choix croyez moi bien ^^)
Le plus simple semble de rouvrire ma base datas avec adox et de lui lier les tables de la base produit.

j'ai fini par mettre la main sur un bout de code, il faut que je le revérifie.

Sub creerTableLiee()
Dim Cat As ADOX.Catalog
Dim Tbl As ADOX.Table
Dim Cn As ADODB.Connection
Dim Fichier As String

'nom de la 1ere base contenant la table à lier
Fichier = "C:\Documents and Settings\michel\dossier\dataBase.mdb"

Set Cn = New ADODB.Connection
Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Fichier
Set Cat = New ADOX.Catalog
Set Tbl = New ADOX.Table
Cat.ActiveConnection = Cn

Tbl.Name = "TableLiee" 'nom de la table à lier
Set Tbl.ParentCatalog = Cat

'Parametres de la 2eme base et la table qui vont etre liées
Tbl.Properties("Jet OLEDB:Link Datasource") = "C:\dataBase_V02.mdb"
Tbl.Properties("Jet OLEDB:Remote Table Name") = "Table1"
Tbl.Properties("Jet OLEDB:Create Link") = True

Cat.Tables.Append Tbl

Set Cat = Nothing
Cn.Close
Set Cn = Nothing
End Sub

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 208 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Flocreate
Messages postés
95
Date d'inscription
vendredi 7 février 2003
Statut
Membre
Dernière intervention
28 novembre 2017
0
Merci
salut,

une solution toute simple, tu peux "créer" dans ta base DONNEES_DE_PROD, des tables liées de ta base PRODUITS.

pour cela, fais [Fichier/Données externes/Lier les tables], tu y renseignes ta base PRODUITS et tes tables désirées.

voilà, tu n'as plus qu'à faire tes SQL normalement

Bon dév.


Alka
Commenter la réponse de AlKatou
Messages postés
307
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
27 mai 2012
3
0
Merci
merci de la réponse.
c'est bien le principe que je souhaite faire, mais je suis en VB6 intégralement, pas dans Access. Je cherche donc le moyen d"importer" les tables. copie ou juste connexion.

cordialement,
Commenter la réponse de Flocreate