Jointure externe (plusieur bases access)

Résolu
Flocreate Messages postés 300 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 27 mai 2012 - 11 févr. 2011 à 13:49
Flocreate Messages postés 300 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

3 réponses

Flocreate Messages postés 300 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 27 mai 2012 3
11 févr. 2011 à 20:29
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
3
AlKatou Messages postés 95 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 28 novembre 2017
11 févr. 2011 à 16:23
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
0
Flocreate Messages postés 300 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 27 mai 2012 3
11 févr. 2011 à 17:28
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,
0
Rejoignez-nous