Formation Office 2007 et le XML, tutoriel & guide de travaux pratiques en pdf.
Comment procéder avec plusieurs tables ?
Export des données
Dans les paragraphes précédents, nous n’avons utilisé qu’une seule table. Or il est rare de trouver des bases de données ne comportant qu’une seule table.
Access permet de transférer vers un fichier XML plusieurs tables.
Pour transférer plusieurs tables dans un même fichier XML, Access dispose d’une méthode « CreateAdditionalData » qui permet de créer un objet « AdditionalData ». Avec ces deux méthodes, nous allons pouvoir ajouter les tables liées à la table principale.
La procédure suivante permet de transférer dans une série de fichier XLM les données contenues dans plusieurs tables, pour autant qu’il existe une relation entre ces tables.
Public Sub ExportTablesXML() Dim objAD As AdditionalData
Set objAD = Application.CreateAdditionalData
objAD.Add « Voiture »
Application.ExportXML acExportTable, « Garage », _ « C:\temp\garage.xml », « c:\temp\garage.xsd », _ « c:\temp\garage.xsl », AdditionalData:=objAD
End Sub
Le fait de ne mentionner que la table « Voiture » pour l’exportation n’est pas un problème, Access va aussi exporter la table garage.
Si on ajoute une table supplémentaire, la table « chauffeur » par exemple, lors de l’export, il faut l’ajouter avec la méthode Add. Le code de notre procédure devient donc :
Public Sub ExportTablesXML() Dim objAD As AdditionalData
Set objAD = Application.CreateAdditionalData
With objAD .Add « Voiture » objAD(« Voiture »).Add « Chauffeur » End With Application.ExportXML acExportTable, « Garage », _ « C:\temp\garage.xml », « c:\temp\garage.xsd », _ « c:\temp\garage.xsl », AdditionalData:=objAD
End Sub
Pour vérifier le résultat, je vais utiliser XMLSpy et afficher le XSD obtenu.