Mise à jour d’une base Access par fichier CSV ou Excel – Episode 4

Passerelles Access CSV

Ces articles pourraient également vous intéresser...

15 réponses

  1. Ludo dit :

    Merci pour voter boulot et vos réponses avisées.
    Tout fonctionne parfaitement chez moi aprés quelques corrections apportées suite aux réponses que vous avez faites vers d’autres utilisateurs.
    Super boulot !!

  2. MQS dit :

    Bonjour,

    Tuto super intéressant et clair! Un épisode 9 est-il prévu?

    Je tombe cependant sur un message d’erreur n°6 lorsque je veux injecter un fichier xlsx.
    Quelle pourrait être la cause de ce message? Ma clé principale est une chaine de caractère composée de chiffres, lettres et le symbole -. Quand, sur la même table, je modifie la clé par un NumAuto je n’ai plus de probléme.

    Merci!

    A+

    • Hervé Inisan dit :

      Le problème vient effectivement de là : actuellement, le code VBA ne gère qu’une clef numérique (NuméroAuto, ou Numérique/Entier long, par exemple).

      • MQS dit :

        OK! Je comprends mieux :-)

        Merci pour la réponse rapide !

        Si je veux adapter le code à mon cas particulier, il faut que je modifie quelle module?

        • Hervé Inisan dit :

          A froid comme ça, il faudrait regarder du côté de la fonction InsertData(). L’instruction SQL qu’elle génère fait des comparaisons sur une clef primaire numérique (les valeurs 0 et 1). Il y a peut-être d’autres endroits du code à retoucher (j’ai pu rater quelque chose en relisant ;)).

  3. djillius dit :

    Hello
    pour l’erreur #5 pour ma part c’était un fichier xlsx mal formaté. Par contre peux-tu m’expliquer si je veux changer de table quelle partie de ton code je dois modifier ?

    D’avance merci
    djillius

    • Hervé Inisan dit :

      Ça marche. :)
      Pour modifier la table destination, il faut remplacer tous les “tbl Destinataires Newsletter” par le nom de ta table (c’est elle la table cible, dans cet article).

      • djillius dit :

        Hello,
        J’ai un autre souci.
        Avec une table différente, il m’insère 4 champs dans la table provisoire p_f10, p_f11, p_f12 et p_f13 et je n’arrive pas à trouver d’où ces champs proviennent ?
        Merci pour ton aide.

        • Hervé Inisan dit :

          Est-ce qu’il y a des colonnes vides dans le CSV d’origine ? (du genre : nom;prenom;;ville)

          • djillius dit :

            Oui il y en a

          • Hervé Inisan dit :

            Les colonnes “spéciales” doit venir de là : Access importe toutes les colonnes, y compris les vides, et les nomme automatiquement si aucun titre n’est fourni. Un nom de champ est obligatoire pour qu’une structure de table soit valide.

          • djillius dit :

            Effectivement les entêtes n’étaient pas propres ;-) Ils me créaient des colonnes supplémentaires. Par contre j’ai toujours une erreur 6#, la table tmp est bien créée. Sais-tu d’où cela peut provenir ??

          • Hervé Inisan dit :

            L’erreur 6 correspondrait à un problème d’insertion de ligne. Du coup, ça m’amène quelques pistes :
            Est-ce que la clef primaire est définie ?
            Est-ce que le champ en question donne bien des données toutes différentes ?
            (ça peut venir encore d’autre chose, bien sûr)

  4. djillius dit :

    Hello,

    Bravo pour ton site et merci pour le code. Tout fonctionne bien avec un fichier csv mais si je teste le code avec un fichier excel. Il me met une erreur #5 erreur d’importation.

    Merci pour ton aide
    djillius

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">