begin process at 2010 03 22 09:02:05
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de Donnees

 > UTILISATION DE XML AVEC VB LECTURE ECRITURE DE FICHIERS XML

UTILISATION DE XML AVEC VB LECTURE ECRITURE DE FICHIERS XML


 Information sur la source

Note :
3,5 / 10 - par 2 personnes
3,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Base de Donnees Niveau :Initié Date de création :19/03/2002 Date de mise à jour :19/03/2002 15:50:27 Vu :9 363

Auteur : PascalML

Ecrire un message privé
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

 Description

Crée un fichier XML (VB) en local ,
Ouverture de ce fichier avec ADO, Mise à jour d'enregistrements.
Son utilisation est par exemple la récupération de données sur un serveur, leur mise en forme... afin d'éviter de laisser traîner ces données en collection ( liste trop longue donc mémoire dispo réduite) .
Cela évite les allez et retour sur le serveur. Les possibilités de filtrer le fichier etc.
Je mets cette source à votre dispo ( Et votre indulgence, le code est extrait d'une source et simplifié )

Source

  • Option Explicit
  • Private Const NomDirTmpXml As String = "C:\temp\XMLFichier.xml"
  • Private ObjRecClients As ADODB.Recordset
  • Private IdentIDT As Long
  • Private Sub CreerLeRec()
  • Set ObjRecClients = New ADODB.Recordset
  • With ObjRecClients.Fields
  • .Append ("NumId"), adWChar, 25, adFldRowID
  • .Append ("Nom"), adWChar, 65, adFldLong
  • .Append ("Prenom"), adWChar, 65, adFldLong
  • .Append ("Titre"), adWChar, 60, adFldLong
  • ObjRecClients.Open
  • End With
  • End Sub
  • Private Sub AjoutAuRecordSetXml(Nom As String, Prenom As String, Titre As String, Optional MiseAjour As Boolean)
  • If MiseAjour Then
  • If ObjRecClients Is Nothing Then Set ObjRecClients = OuvreXMLSeul
  • End If
  • With ObjRecClients
  • IdentIDT = IdentIDT + 1
  • .AddNew
  • .Fields("NumId").Value = CStr(IdentIDT)
  • .Fields("Nom").Value = Nom
  • .Fields("Prenom").Value = Prenom
  • .Fields("Titre").Value = Titre
  • If MiseAjour Then
  • .UpdateBatch
  • EnregistreXML ObjRecClients
  • End If
  • End With
  • End Sub
  • Private Sub EnregistreXML(LeRecordSet As ADODB.Recordset)
  • 'Le fichier étant présent dans NomDirTmpXml il est impératif en cas de
  • 'rechargement complet de supprimer ce fichier avant de le créer.
  • On Error Resume Next
  • Kill NomDirTmpXml
  • On Error GoTo 0
  • 'L'option adPersistXML est simplement à préciser
  • LeRecordSet.Save NomDirTmpXml, adPersistXML
  • LeRecordSet.Close
  • Set LeRecordSet = Nothing
  • End Sub
  • Private Function OuvreXMLSeul() As Recordset
  • Dim LeRecordSet As New ADODB.Recordset
  • 'Ouvrir tout simplement en passant en param le chemin
  • LeRecordSet.Open NomDirTmpXml
  • Set OuvreXMLSeul = LeRecordSet
  • End Function
  • Private Sub Cmdadd_Click()
  • AjoutAuRecordSetXml Me.TextNom, Me.TextPrenom, Me.TextTitre, True
  • End Sub
  • Private Sub Form_Load()
  • CreerLeRec 'En 1°)
  • EnregistreXML ObjRecClients ' en 2°) l'enregistrer en local
  • End Sub
Option Explicit

Private Const NomDirTmpXml  As String = "C:\temp\XMLFichier.xml"

Private ObjRecClients            As ADODB.Recordset

Private IdentIDT As Long

Private Sub CreerLeRec()

        Set ObjRecClients = New ADODB.Recordset

        With ObjRecClients.Fields
                .Append ("NumId"), adWChar, 25, adFldRowID
                .Append ("Nom"), adWChar, 65, adFldLong
                .Append ("Prenom"), adWChar, 65, adFldLong
                .Append ("Titre"), adWChar, 60, adFldLong
                ObjRecClients.Open
        End With
        
End Sub

Private Sub AjoutAuRecordSetXml(Nom As String, Prenom As String, Titre As String, Optional MiseAjour As Boolean)
                        
        If MiseAjour Then
                If ObjRecClients Is Nothing Then Set ObjRecClients = OuvreXMLSeul
        End If
        
        With ObjRecClients
                
                IdentIDT = IdentIDT + 1
                
                .AddNew
                .Fields("NumId").Value = CStr(IdentIDT)
                .Fields("Nom").Value = Nom
                .Fields("Prenom").Value = Prenom
                .Fields("Titre").Value = Titre
                
                If MiseAjour Then
                        .UpdateBatch
                         EnregistreXML ObjRecClients
                End If
        
        End With
        
End Sub


Private Sub EnregistreXML(LeRecordSet As ADODB.Recordset)
        
        'Le fichier étant présent dans NomDirTmpXml il est impératif en cas de
        'rechargement complet de supprimer ce fichier avant de le créer.
        
        On Error Resume Next
                Kill NomDirTmpXml
        On Error GoTo 0
        
        'L'option adPersistXML est simplement à préciser
        LeRecordSet.Save NomDirTmpXml, adPersistXML
        LeRecordSet.Close
        Set LeRecordSet = Nothing
        
End Sub

Private Function OuvreXMLSeul() As Recordset
Dim LeRecordSet As New ADODB.Recordset
        
        'Ouvrir tout simplement en passant en param le chemin
        LeRecordSet.Open NomDirTmpXml
        Set OuvreXMLSeul = LeRecordSet
             
End Function

Private Sub Cmdadd_Click()
        AjoutAuRecordSetXml Me.TextNom, Me.TextPrenom, Me.TextTitre, True
End Sub

Private Sub Form_Load()
        CreerLeRec 'En 1°)
        EnregistreXML ObjRecClients ' en 2°) l'enregistrer en local
End Sub
 

 Conclusion

ce code est extrait d'une de mes sources, il est réduit et simplifié afin d'en expliquer son fonctionnement ( ps : excusez la gesion de l'id : IdentIDT , j'avais rien d'autre en stock ).  


 Sources de la même categorie

Source avec Zip CHARGER DES DONNÉES DEPUIS UN FICHIER TXT DANS UNE BASE DE D... par ig3
Source avec Zip Source avec une capture GESTIONPMPT par mark100
Source avec Zip Source .NET (Dotnet) DATA ACCESS COMPONENT par zaimfaycal
Source avec Zip GESTION ENSEIGNANTS par Elmarzougui
Source avec Zip GESTION D'UNE BIBLIOTHÈQUE par Elmarzougui

Commentaires et avis

Commentaire de LoupBlanc le 20/03/2002 14:34:11

Marche pô !!!

plante sur :"LeRecordSet.Save NomDirTmpXml, adPersistXML"
erreur :"Le chemin d'accès spécifoé est introuvable"

Ou est le Pb ???

Commentaire de LoupBlanc le 20/03/2002 14:42:14

HE c quoi ton code, du VB ou de l'ASP ????
je ne vais pas de différence entre:
http://www.vbfrance.com/article.asp?Val=3722
et:
http://www.aspfr.com/article.asp?Val=249
est ce normal ????

Commentaire de LoupBlanc le 20/03/2002 14:58:19

bon l'erreur du dessus j'ai trouvé.

mais celle la je sais pas :

plante sur le .addnew de :

Private Sub AjoutAuRecordSetXml(Nom As String, Prenom As String, Titre As String, Optional MiseAjour As Boolean)
                                                
                If MiseAjour Then
                    If ObjRecClients Is Nothing Then Set ObjRecClients = OuvreXMLSeul
                End If
                
                With ObjRecClients
                    IdentIDT = IdentIDT + 1
                    .AddNew
                    .Fields("NumId").Value = CStr(IdentIDT)
                    .Fields("Nom").Value = Nom
                    .Fields("Prenom").Value = Prenom
                    .Fields("Titre").Value = Titre
                    If MiseAjour Then
                        .UpdateBatch
                         EnregistreXML ObjRecClients
                    End If
                End With
                
End Sub


erreur :"Variable objet ou variable bloc With non définie"

Commentaire de PascalML le 21/03/2002 10:11:32

Slt
erreur :"Variable objet ou variable bloc With non définie" ! ! !  Mettre ADO 2.1 en références ... tout est ok !
Comme je l'ai précisé, ce code est extrait d'une source et à été simplifié.
Dans son ensemble il est là pour vous rappeler les possibilités de XML .

Commentaire de sensi le 04/02/2003 10:43:41

Rien qui amrche , j'ai un datagrid a remplir avec un fichier xml ...
ADODC reconnait pas les connection s a un simple fichier xml ...

Commentaire de emouchet le 16/04/2003 16:43:47

Chez moi ca a l'air de marcher ...
Mais ce que je voudrais faire c'est lire le fichier xml avec un prog vb ... tu dois savoir faire ca ... non?

Commentaire de quickaboy le 09/05/2003 15:09:55

Je suis dans le même cas que emouchet. Et un peu dans la merde, je l'avoue. Sinon, OK pour l'ouverture. Moi, je dois ouvrir un XML, pour enregistrer dans une Base De Données. Gros problème de lecture des champs et des noeuds...

Commentaire de Neo1234567890 le 20/06/2004 00:55:14

Salut moi je voudrais lire et enregistrer dans un fichier xml c pour un logiciel de gestion bancaire mais j'avoue que je suis egalement dans la merde un peut beaucoup si tu pe me trouvé un moyen assé simple et qui marche merci d'avance

Commentaire de fouad19 le 20/06/2005 00:45:13

bonjour a tous
j'ai crée un composant dynamique en VB6.0 QUI Va lire a partir d'un fichier XML et afficher les données de ce dernier.
le fichier XML se trouve ds un serveur alors chui obliger à l'exporter au client. je cherche le code VB qui fait l'exportation des fichiers XML

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,265 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales