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

Access Discussion :

[débutant] Importation XML automatique


Sujet :

Access

  1. #1
    Membre habitué
    Inscrit en
    Juin 2005
    Messages
    275
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 275
    Points : 186
    Points
    186
    Par défaut Importation XML automatique
    Bonjour,

    Je parviens facilement à importer un fichier XML dont le modèle est un schéma XSD, en faisant la manip à la main.

    Comment puis-je faire pour pouvoir l'automatiser ?

    Par exemple, importer tous les matins un fichier XML dans ma base de manière automatique ?

    D'avance merci

  2. #2
    Membre habitué
    Inscrit en
    Juin 2005
    Messages
    275
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 275
    Points : 186
    Points
    186
    Par défaut
    J'ai pu créer une macro exécutant le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Public Function importXMLautomatique(ByRef parametre As String)
        Application.ImportXML _
            DataSource:=parametre
    End Function
    Ca me permet de réaliser l'import du fichier qui m'interesse.
    Par contre, j'aimerais que toute les données déjà présentes dans la base soient écrasées. Or pour le moment, mon importation re-crée toutes les tables et ma base est donc pleine de doublons (par exemple, les tables toto et toto1).
    Il faudrait en fait que je puisse réinitialiser ma base, mais je ne trouve pas l'instruction qui le permet...

  3. #3
    Membre habitué
    Inscrit en
    Juin 2005
    Messages
    275
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 275
    Points : 186
    Points
    186
    Par défaut
    Voici un script VB qui, grosso modo:
    - ouvre Access
    - crée une base de données (mbd) avec un nom précis, en prenant soin d'archiver la précédente, si elle existe déjà.
    - importe un fichier XML dans cette base
    - cloture tout

    Reste plus qu'à automatiser l'exécution pour répondre entièrement à mes besoins. Je poste le code ci-dessous, des fois qu'il serve un jour à quelqu'un.

    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
     
        'Déclaration des variables pour access et pour la base de données qui sera créée
        Dim oAccess, oDb, fso
        'creation de l'objet Microsoft Access
        Set oAccess = CreateObject("Access.application")
        'laisser Access invisible
        oAccess.Visible = False
     
        Set fso = CreateObject("Scripting.FileSystemObject")
        'suppression de l'ancienne base si elle existe
        If fso.FileExists(repFic & nomBase) Then
            Dim fichierASupprimer
            Set fichierASupprimer = fso.GetFile(repFic & nomBase)
            'copie dans le repertoire de backup
            fichierASupprimer.Copy (repFic & getNomBaseSauvegarde)
            'suppression
            fichierASupprimer.Delete
            Set fichierASupprimer = Nothing
        End If
        Set fso = Nothing
        'création d'une nouvelle base de données Access
        oAccess.newCurrentDatabase (repFic & nomBase)
        'ouverture de la base de données fraichement créée
        Set oDb = oAccess.CurrentDB()
        'Lancement de la méthode d'importation du fichier XML
        oAccess.ImportXML(fichierImport)
        'Fermeture de la base de données
        oAccess.CloseCurrentDatabase
        'Fermeture d'Access
        oAccess.Quit
        'Nettoyage des variables instanciées
        Set oDb = Nothing
        Set oAccess = Nothing
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Importation de données XML automatique a l'ouverture du fichier excel
    Par kiuraaaa dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/12/2014, 20h05
  2. [Débutant] importation de flash.ocx
    Par Tymk dans le forum C++Builder
    Réponses: 2
    Dernier message: 12/05/2005, 12h26
  3. [débutant] import de table
    Par viny dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 03/03/2005, 12h24
  4. [Débutant] Lecture xml SAX
    Par Ekros dans le forum APIs
    Réponses: 6
    Dernier message: 21/06/2004, 15h14
  5. [Débutant] import dans Eclipse
    Par bonnefr dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 28/05/2004, 10h32

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