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 :

Importer *.xml dans une table


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 52
    Points : 38
    Points
    38
    Par défaut Importer *.xml dans une table
    Bonjour à tous,

    je galère pour importer à l'aide d'un script VBA un fichier *.xml dans une table de ma BD Access.

    Quelqu'un a-t-il déjà écrit pareille fonction ?

    voici ce que je souhaiterai importer:
    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
     
    <Document>
        <name>M13 -- HaltePunkte</name>
        <Placemark>
            <name>Sion, poste/gare</name>
            <description>SION, P_1</description>
            <Point>
                <coordinates>7.358275000000001,46.2278133333333,0</coordinates>
            </Point>
        </Placemark>
        <Placemark>
            <name>Sion, Carrefour Ouest</name>
            <description>C.Ouest_1</description>
            <Point>
                <coordinates>7.346816666666669,46.2284883333333,0</coordinates>
            </Point>
        </Placemark>
    chaque "Placemark" est une entrée dans la table, dont les champs sont:
    - Name
    - Description
    - Point

    d'avance merci pour votre aide.
    skippy86

  2. #2
    Membre émérite
    Homme Profil pro
    tripatouilleur de code pour améliorer mon quotidien boulistique
    Inscrit en
    Février 2008
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : tripatouilleur de code pour améliorer mon quotidien boulistique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2008
    Messages : 939
    Points : 2 287
    Points
    2 287
    Par défaut
    Bonjour

    Je ne peux pas répondre, mais avez vous jeté un oeil sur le tutoriel suivant :

    Repousser les limites d'Access - récupérer un fil RSS


    Je pense qu'il peut vous aider.

    Pierre

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 52
    Points : 38
    Points
    38
    Par défaut
    Bonjour,

    voici comment j'ai résolu partiellement mon souci.

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    Private Sub Commande110_Click()
        fnFieldSplit "Point", "coordinates", "x", "y", "z", ","
    End Sub
     
    Function fnFieldSplit(sTable As String, _
                          sFieldToSplit As String, _
                          sNewField1 As String, _
                          sNewField2 As String, _
                          sNewField3 As String, _
                          sSeparator As String)
        Dim DB As DAO.Database
        Dim RS As DAO.Recordset
        Dim sC1 As String, sC2 As String, sC3 As String
        Dim Pos As Long
        Dim Pos2 As Long
     
        Set DB = CurrentDb
        'Set sTable = Point
        'Set sFieldToSplit = coordinates
        'Set sNewField1 = x
        'Set sNewField2 = y
        'Set sSeparator = ","
     
     
        'ajout des trois champs
        CurrentDb.Execute "ALTER TABLE [" & sTable & "] " _
                          & "ADD COLUMN [" & sNewField1 & "] TEXT;"
        CurrentDb.Execute "ALTER TABLE [" & sTable & "] " _
                          & "ADD COLUMN [" & sNewField2 & "] TEXT;"
        'CurrentDb.Execute "ALTER TABLE [" & sTable & "] "
                          '& "ADD COLUMN [" & sNewField3 & "] TEXT;"
        Set RS = DB.OpenRecordset(sTable)
     
        'boucle sur les enregistrements
        Do Until RS.EOF
            Pos = InStr(RS(sFieldToSplit), sSeparator)
            sC1 = Trim(Left(RS(sFieldToSplit), Pos - 1))
            sC2 = Trim(Mid(RS(sFieldToSplit), Pos + 1))
            'sC3 = Trim(Right(RS(sFieldToSplit), Pos + 1))
     
            RS.Edit
            RS(sNewField1) = sC1
            RS(sNewField2) = sC2
     
            RS.Update
            RS.MoveNext
        Loop
     
     
     
        'libérer
        RS.Close
        DB.Close
        Set RS = Nothing
        Set DB = Nothing
        MsgBox "vorgang abgeschlossen"
        Exit Function
     
    End Function
    Juste une question, je travail avec Trim(Left) et Trim(Mid) pour trier la chaine. Or dans la Trim(Mid) j'ai 46.xxxxxxxxxx,0 comment je peux virer ce ,0 ?

    Merci pour votre aide.

Discussions similaires

  1. Réponses: 0
    Dernier message: 17/11/2011, 08h44
  2. [SSIS] [2K8] importer fichier xml dans une table
    Par Tankian dans le forum SSIS
    Réponses: 1
    Dernier message: 15/04/2009, 12h34
  3. import fichier XML dans une table oracle 10g
    Par aijedelachance dans le forum Import/Export
    Réponses: 0
    Dernier message: 08/02/2009, 21h52
  4. [SimpleXML] Importer un flux XML dans une table
    Par antitrust56 dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 26/09/2008, 19h10
  5. [Oracle] Importer du xml dans une table
    Par lenoil dans le forum Oracle
    Réponses: 2
    Dernier message: 05/06/2006, 13h06

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