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

ASP Discussion :

Recordset ADO depuis Excel problème de champ tronqué à 255 caractères


Sujet :

ASP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 23
    Points : 27
    Points
    27
    Par défaut Recordset ADO depuis Excel problème de champ tronqué à 255 caractères
    Bonjour à tous,

    Je vais essayer d'être le plus clair possible :

    J'interroge un fichier Excel contenant une centaine de champs avec ADO et SQL : Je récupére bien les données sauf quand la longueur du champ dépasse 255 caractères et là, la donnée est tronquée.

    Je sais que c'est un comportement d'Excel qui effectue une estimation du type des données de la colonne concernée sur les X premiers enregistrements.

    J'ai entendu dire sur certains forums qu'il fallait modifier des clés de registre : ce que j'ai fais sans résultat et en plus de cela, je me vois mal passer sur tous les postes utilisateurs pour modifier la clé en question.

    Je suis un peu coincé : J'ai essayé de changer de fournisseur (OLEDB ou ODBC) mais ca ne change rien.
    Le souci, c'est que je dois absolument importer ce fichier Excel dans une bd ACCESS par le code et si les données sont tronquées, ca n'ira pas.

    J'ai aussi penser à utiliser l'objet Stream d'ADO mais je ne sais pas si le mélange ADODB.Stream / Excel fonctionnera.

    Merci par avance de votre aide.

  2. #2
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut,
    Citation Envoyé par frbona Voir le message
    J'interroge un fichier Excel contenant une centaine de champs avec ADO et SQL
    Tu peux préciser comment tu fais. Un peu de code?

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Le souci, c'est que je dois absolument importer ce fichier Excel dans une bd ACCESS par le code et si les données sont tronquées, ca n'ira pas.
    Il faut aussi regarder dans Access ,pour un champ de type TEXTE de mémoire la valeur de la propriété taille du champ doit etre compris entre 0 et 255 caractere , mais d'autre type tel que memo vont au dela.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 23
    Points : 27
    Points
    27
    Par défaut
    Voici le code utilisé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    strconnXL = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("./Excel/" & fic) & ";Extended Properties=Excel 8.0"
    cnXL.Open strconnXL
    strSheet = "Sheet1"
    rsXL.Open "select * from [" & strSheet & "$]", cnXL
     
    While Not rsXL.EOF
    <--Ici, le code SQL d'insertion dans la bd Access-->
    rsXL.Movenext
    Wend
    Merci

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 23
    Points : 27
    Points
    27
    Par défaut
    Juste une petite précision : Les données sont tronquées avant l'insertion dans la bd Access, c'est à dire dès que j'ouvre le recordset.

    Merci

  6. #6
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 23
    Points : 27
    Points
    27
    Par défaut
    J'utilise aussi comme cité plus haut, le type memo pour les champs concernés.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 23
    Points : 27
    Points
    27
    Par défaut
    Pour info, j'ai trouvé la solution : Pour enlever cette limitation, il faut passer par le registre sur le serveur : Modifier la clé suivante : "HKLM/SOFTWARE/Microsoft/Jet/4.0/Engines/Excel/TypeGuessRows" et remplacer la valeur 8 par 0.

    Voila, c'est tout.

    Merci

    @@++

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

Discussions similaires

  1. Problème de champ tronqué
    Par Marin d'Eau Douce dans le forum Access
    Réponses: 5
    Dernier message: 25/05/2018, 19h24
  2. [AC-2003] Import Classeur Excel : problème avec Champ d'abord numériques puis Alpha.
    Par Godzestla dans le forum VBA Access
    Réponses: 3
    Dernier message: 16/08/2011, 15h06
  3. [WD-2007] publipostage word/excel - problème de champs
    Par syliam dans le forum Word
    Réponses: 2
    Dernier message: 11/12/2009, 10h36
  4. Réponses: 2
    Dernier message: 02/04/2009, 09h43
  5. Réponses: 1
    Dernier message: 01/11/2005, 12h04

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