J'ai besoin de créer une base access à partir de fichiers XML.
Pour cela, j'ai pu faire un code qui crée cette base, puis importe un fichier XML, puis referme tout proprement. Il est testé et fonctionne correctement :
A partir de là, j'ai besoin d'y apporter une légère amélioration : importer PLUSIEURS fichiers xml dans le MEME base de données. Sachant que quelque soit le nombre de fichiers à importer, ils ont tous besoin des mêmes tables.
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
17
18 Dim oAccess, oDb, fso 'creation de l'objet Microsoft Access Set oAccess = CreateObject("Access.application") 'laisser Access invisible oAccess.Visible = False 'création d'une nouvelle base de données Access oAccess.newCurrentDatabase (repFic & nomBase) 'ouverture de la base de données fraichement créée Set oDb = oAccess.CurrentDB() 'Lancement de la méthode d'importation du fichier XML oAccess.importXML(nomDuFichierXMLAImporter) 'Fermeture de la base de données oAccess.CloseCurrentDataBase 'Fermeture d'Access oAccess.Quit 'Nettoyage des variables instanciées Set oDb = Nothing Set oAccess = Nothing
J'ai donc tenté de faire :
Le problème est que chaque importation crée ses propres tables. Par exemple, si une table "Application" est nécessaire, le premier import va créer une table "Application" et la remplir correctement, le second crée une table "Application1" et la remplit à son tour avec les nouvelles données, le 3eme une table "Application2", le 4ème une table "Application3"....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 'listeFichiersAImporter est un tableau contenant tous les fichiers xml qui 'doivent être importés dans la base For indice = 0 To UBound(listeFichiersAImporter) oAccess.importXML(listeFichiersAImporter(indice)) Next
Comment puis-je procéder pour que l'import se fasse dans la même table ?
Partager