IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Concatenation de champs / export .xml


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 34
    Par défaut Concatenation de champs / export .xml
    Bonjour à tous,

    Je débute en vb...

    J'ai une table avec une dizaine de colonnes.
    L'objectif est de convertir la base en xml pour publication web.

    1. Si le champs contient des caractères : "balise xml ouvrante" & "le contenu du champ" & "balise xml fermante"
    2. Si le champ est vide, ne rien faire et passer au champ suivant.



    Après cela, je voudrai exporter la concaténation de toutes les lignes de la base dans un fichier .xml

    Il parait que c'est pas bien compliqué, mais...

    Merci d'avance de votre aide.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Bonjour,
    l'idée ici est de concaténer tout le contenu de ton fichier xml dans une chaine de caractères (type string).
    1/ lire chacun des enregistrements de la table
    2/ concaténer le contenu dans une variable string
    3/ écrire le tout dans un fichier XML

    ca donnerait un code de cet acabit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim RS as RecordSet
    Dim strSQL as String
    Dim Result as String
    Result= ""
    strSQL = "SELECT * FROM MaTable;"
    Set RS = CurrentDb.OpenrecordSet(strSQL)
    Do Until RS.EOF '1.
        If Len(RS.Fields("MonChampTexteAveclesBalises").Value) > 0 Then 'on s'assure qu'il existe du texte dans le champ (petit 2 de ta question)
              Result = Result & RS.Fields("MonChampTexteAveclesBalises").Value '2.
        End If
    Loop
    FonctiondeTonChoixPourEcrireDansUnFichier (Result, NomduFichierXML) '3.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 34
    Par défaut
    Merci bien.

    Cependant, je ne sais pas si j'ai bien tout compris.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonChampTexteAveclesBalises
    Correspond au nom de mes champs un par un, mais où dois-je rajouter les balises ?

    Dans mes différents champs, je n'ai que le contenu texte. Les balises sont ajoutées dans le programme.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <titre>Mon champ 1</titre>
    <soustitre>Mon champ 2</soustitre>
    <para>Mon paragraphe</para>
    ...
    Je ne sais pas si c'est très clair...
    Merci encore

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    peux-tu nous indiquer le nom des champs qui contiennent les informations qui doivent figurer dans le fichier xml final stp ?
    les balises y figurent-elles ou bien doit-on les rajouter par le code ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 34
    Par défaut
    Bonjour jpcheck,

    Merci d'avance pour le coup de main.

    Voici les infos.
    Nom de la table : GOLD_DICO

    Champs :

    1. RevStat
    2. CC
    3. FC
    4. MA
    5. Term
    6. POS
    7. AM
    8. AOS
    9. Notes
    10. Examples


    Les balises ne figurent pas dans les champs. Elles doivent donc être ajoutées par le code.

    Par contre, tous les champs ne sont obligatoirement renseigner à chaque fois donc quand un champs est vide, il faudrait que les balises n'apparaissent pas dans le fichier xml de sortie.

    Merci encore.

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    d'accord,
    comme je suppose que le nom du champ correspond au nom qui doit apparaître dans les balises xml, je propose ceci :
    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
    Dim RS as RecordSet
    Dim strSQL as String
    Dim Result as String
    Dim i as Integer
    Result= ""
    strSQL = "SELECT * FROM MaTable;"
    Set RS = CurrentDb.OpenrecordSet(strSQL)
    Do Until RS.EOF '1.
        For i = 1 To RS.Fields.Count
             If Len(RS.Fields(i).Value) > 0 Then 'on s'assure qu'il existe du texte dans le champ (petit 2 de ta question)
                    Result = Result & "<" & RS.Fields(i).Name & ">" & RS.Fields(i).Value & "</" & RS.Fields(i).Name &">" '2.
            End If
       Next i
    Loop
    FonctiondeTonChoixPourEcrireDansUnFichier (Result, NomduFichierXML) '3.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

Discussions similaires

  1. [interbase][SQL] concatener 2 champs dans le select
    Par Harry dans le forum Bases de données
    Réponses: 10
    Dernier message: 09/03/2006, 06h45
  2. Concatenation de champs
    Par Samish dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 15/09/2005, 19h49
  3. Concatener deux champs
    Par Neo41 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/07/2005, 16h15
  4. pb encodage lors export XML
    Par gemogof dans le forum ASP
    Réponses: 6
    Dernier message: 26/03/2005, 14h13
  5. concatener deux champs ?
    Par Nadaa dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 03/08/2004, 11h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo