Salut, suite à la réponse de Lou Pitchoun sur un de mes précédent post j'ai un problème qui vient de survenir.
Je dois importer des tables qui viennent d'une base de donnée sélectionnée par l'utilisateur via une ouverture d'une boite de dialogue. Ceci me donne bien le nom de la base de donnée mais ma question est :
1- Comment tester les noms de tables présentes dans cette base avant de faire l'importation, car si une mauvaise base est sélectionnée (elle n'aura pas les tables voulues) alors je ne fais pas l'importation et j'envoie un msg d'erreur.
Voici une partie du code que j'utilise actuellement (access 2003):
et effectivement si la base sélectionnée ('source') n'a pas les tables 'Historique_Devis', 'Historique_Factures' et 'Acompte' alors j'ai un souci car elles ont été effacée de ma base actuelle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 ' Efface les relations de tables existante Dim Rel As Relation For Each Rel In CurrentDb.Relations Debug.Print "effacement de la relation [" & Rel.Table & "]![" & Rel.Fields(0).Name & "] -=-> [" & Rel.ForeignTable & "]![" & Rel.Fields(0).ForeignName & "]" CurrentDb.Relations.Delete Rel.Name Next Rel ' Efface les tables actuelles DoCmd.DeleteObject acTable, "Historique_Devis" DoCmd.DeleteObject acTable, "Historique_Facture" DoCmd.DeleteObject acTable, "Acompte" ' Importe les tables de la version précédente DoCmd.TransferDatabase acImport, "Microsoft Access", Source, acTable, "Historique_Devis", "Historique_Devis", False DoCmd.TransferDatabase acImport, "Microsoft Access", Source, acTable, "Historique_Facture", "Historique_Facture", False DoCmd.TransferDatabase acImport, "Microsoft Access", Source, acTable, "Acompte", "Acompte", False
Partager