Exporter le contenu de table en XML
yg_be Messages postés 22752 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 3 mai 2024 - 20 févr. 2024 à 08:42
- Exporter le contenu de table en XML
- Table ascii - Guide
- Table des matières word - Guide
- Xml viewer - Télécharger - Édition & Programmation
- Word a trouvé du contenu illisible - Guide
- Chrome exporter favoris - Guide
6 réponses
17 févr. 2024 à 23:16
C'est moi, Bobot, votre IA préférée !
Il existe plusieurs façons d'exporter des données de Access vers XML en utilisant VB6. Mais la façon la plus simple est d'utiliser l'objet ADO:
1. Ajoutez une référence à "Microsoft ActiveX Data Objects 2.x Library" et "Microsoft XML, v2,6" dans votre projet.
2. Utilisez ce code pour exporter les données:
```vb
Option Explicit
Private Sub ExporterXML()
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim objXML As New MSXML2.DOMDocument
'Ouvrir la connexion à la base de données
cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=chemin_vers_votre_base_de_donnees.accdb"
'Ouvrir la table
rst.Open "SELECT * FROM TableInfos", cnn
'Exporter les données vers XML
rst.Save objXML, adPersistXML
'Sauvegarder le fichier XML
objXML.Save "chemin_vers_votre_fichier.xml"
'Fermer les objets
rst.Close
cnn.Close
End Sub
```
Remplacez "chemin_vers_votre_base_de_donnees.accdb" et "chemin_vers_votre_fichier.xml" avec les chemins d'accès à votre base de données Access et le fichier xml à générer respectivement.
17 févr. 2024 à 23:59
Bonjour,
C'est vrai cette réponse m'a résolu le problème, mais, la solution reste encore incomplète.
j'ai utilise deux façons
La première manuelle est directement exercée sur la table ciblée
ce procédé m'a donne une suite bien structurée, respectant l'ordre selon lequel les données sont classe par ligne, un exemple est comme suite :
<?ml version="1.0" encoding="UTF-8" ?> - <dataroot xml:od="urn:shemas-microsoft-com:officedata" xmlns:xsi="http:/www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceShemaLocation="TableInfos.xsd" generated="2024-02-16T16:04:12"> -<TableInfos> <NOrdre>1</NOrdre> <Dossier>SOUSS GREEN FRESH</Dossier> <Matricule>8</Matricule>
La deuxième manière, est faite a partir du code VB6, comme suite
Sub ExporterLesDonneesXML() Dim ObjXML as New MSXML2.DOMDocument Dim CheminXML as String 'Ouvrir la TableInfos SQL = "Select * from TableInfos where (Dossier = '" & CStr(VarDossier) & "') if RS.State = adStateOpen then RS.Close RS.Open SQLs, DB, adOpenKeySet, adLockPessimistic 'Exporter les donnees RS.Save ObjXML, adPersistXML 'Sauvegarder le fichier XML On error goto nnn: CmnDialog.Filtre = "*.xml)|*.xml CmnDialog.ShowSave CheminXML = CmnDialog.FileName ObjXML.Save CheminXML RS.Close nnn:
Ce code m'a donne une exportation structurée comme suite
- <xml xmlns=:s="uuid:BDC6E3F0-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F- 00AA00C14882" xmlns:rs="urn:shemas-microsoft-com:rowset" xmlns:z='#RowsetShema"> - <s:Shema id="RowsetShema"> - <s:ElementType name="row" content="eltOnly" rs:updatable="true">
Ce que je cherche c'est avoir la structure de la procédure manuelle, respectant l'ordre de datafield dans la ligne de la tableInfos
Merci de votre aide
18 févr. 2024 à 09:47
bonjour,
Je ne vois pas la différence entre les deux exportation.
Je pense que le plus simple, c'est d'écrire du code qui produit, pour chaque enregistrement, un texte tel que:
<NOrdre>1</NOrdre>
<Dossier>SOUSS GREEN FRESH</Dossier>
<Matricule>8</Matricule>
18 févr. 2024 à 21:20
Bonjour,
J'aimerai vous remettre directement les deux fichiers xml exportés, pour que vous puissiez comprendre mon souci. Hélas, je ne sais pas comment faire.
Un fichiers exporté directement de l'application via le code VB6 cité avant, l'autre fichier exporté par la manipulation manuelle directe de la table ciblé de la base des données.
La structure du fichier exporté manuellement et plus ordonnée et plus compréhensible. Mon objectif est d'avoir la même structure a partir d'une commande de l'application.
19 févr. 2024 à 07:08
Pourquoi ne pas simplement écrire du code qui produit, pour chaque enregistrement, le texte voulu?
Modifié le 19 févr. 2024 à 15:42
Bonjour,
Sincèrement, je ne sais pas comment faire.
Pour être plus clair,
le fichier exporte manuellement à partir de la table, la structure exportée respecte l'ordre par numéro de ligne, et affiche toute les enregistrements de la ligne selon leur suite dans la ligne.
le fichier exporte par le code à partir de l'application me renvoie , après la définition des paramétrages des datafield de chaque ligne, les données de la table classée par ordre alphabétique. ce qui donne l'impression que le contenu de la ligne est éparpillée, et rendre la vérification plus fatigante
Je sais que j'abuse de vote patience, et je m'en excuse.
Modifié le 19 févr. 2024 à 16:27
Un fichier xml contient simplement du texte.
Un programme VB peut contenir des instructions qui écrivent du texte dans un fichier.
Le plus simple, je pense, c'est d'écrire ce code VB.
Connais-tu la syntaxe VB pour écrire du texte dans un fichier?
En utilisant cette syntaxe, tu peux facilement créer un fichier contenant le texte tel que tu le souhaites.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question19 févr. 2024 à 16:14
Sincèrement, je ne sais pas
19 févr. 2024 à 16:28
Si tu ne connais pas la syntaxe VB pour écrire du texte dans un fichier, je pense que le plus utile, c'est de l'apprendre.
En utilisant cette syntaxe, tu peux facilement créer un fichier contenant le texte tel que tu le souhaites.
19 févr. 2024 à 16:40
Je veux bien l'apprendre, si vous accepteriez de m'orienter vers un tuto ou des exemples
Avec mes remerciements d'avance
20 févr. 2024 à 08:42
Je suggère de faire une recherche "VB pour écrire du texte dans un fichier".