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 :

Détecter erreur import fichier excel


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 29
    Points : 15
    Points
    15
    Par défaut Détecter erreur import fichier excel
    Bonjour à tuos,

    Voila, Dans ma base de donnée Access, j'importe un fichier excel respectant une certaine syntaxe. Tout fonctionne parfaitement. Cependant, cette base va être utilisé par des utilisateur "bas niveau" et je vois arriver le coup qu'il vont tenter d'importer un fichier excel qui ne respecte pas du tout le format d'origine.
    Je souhaiterai donc savoir comment fait on pour détécter les erreur d'importation.

    Je voudrais mettre en place un code du style :
    If Importation = Ok then
    Suite code
    Else
    message d'erreur et fin du code
    Je précise également que j'ai tenter d'importer un mauvais fichier pour voir ce qu'il se passait et bien que le fichier ne respectait pas la syntaxe, aucun message d'erreur ne s'est produit et le code s'est éxécuter normalement jusque la fin bien qu'il manquait des données dans ma table !

    Voici un extrait de mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    DoCmd.RunSQL "Delete * from PPI_Backup"
                    DoCmd.RunSQL "Insert into PPI_Backup select * from PPI;"
     
                    DoCmd.RunSQL "DELETE * FROM PPI"    'Nettoyage de la table PPI
                    strPath = .FoundFiles(1)
                    DoCmd.TransferSpreadsheet acImport, , "PPI", strPath, True    'import du fichier
    Merci d'avance a ce qui voudrons bien me donner un coup de main.

    Daima

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Bonjour,

    Tu peux contrôler les champs de la table importée avant lancement du reste du code ou contrôler le fichier excel par automation.

    Pour le contrôle des champs tu peux utiliser la bibliothèque DAO (objets TableDef et Field).

    Pour l'automation la bibliothèque Excel.
    Cordialement

  3. #3
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 29
    Points : 15
    Points
    15
    Par défaut
    Bonjour Oleff,

    Merci de me repondre,

    Tester les champ me parait un peu "bancale" car je serais obligé de tester TOUT les champ de ma table.

    Sinon, peux tu préciser un peu ce qu'est l'automation Excel?

    Sinon n'existe il pas simplement une valeur système du style ImportError de type vrai/faux ou qqch comme cela qui est renseigné lors de la mise à jour ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Tu dois forcément contrôler tes champs (quel que soit le biais) ou créer une clé de contrôle.

    Une solution possible c'est d'utiliser une requête détaillé pour l'insertion. Ce qui devrait provoquer une erreur quand un champ n'est pas présent, il ne te resterait plus qu'à gérer l'erreur.

    Une autre possibilité est de créer une table qui sur une boucle de lecture des des champs de la table d'import vérifie la présence des champs obligatoire. Tu l'alimentes une fois et il ne te restes plus qu'à ajouter et enlever les champs qui bougent pour faire évoluer ton contrôle..

    L'automation c'est le pilotage d'excel par access. Ce n'est qu'un vecteur le principe du contrôle reste le même...

Discussions similaires

  1. [WD10] Importer fichier excel erreur colone heure
    Par Techys dans le forum WinDev
    Réponses: 4
    Dernier message: 31/08/2012, 08h42
  2. [AC-2003] Erreur importation fichier Excel dans une BDD
    Par Contrec dans le forum VBA Access
    Réponses: 5
    Dernier message: 27/08/2009, 14h59
  3. Erreur conversion de type - import fichier excel
    Par Greg84 dans le forum Access
    Réponses: 2
    Dernier message: 16/08/2006, 16h32
  4. import fichier excel vers mysql
    Par Groshaeny Roger dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 03/04/2006, 20h31
  5. [SQL Server 2000] erreur lors importation fichier excel
    Par Abydos Business Group dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 07/03/2006, 09h24

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