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

Requêtes et SQL. Discussion :

Calcul et export (Table ou Excel) d'un champ de plus de 255 caractères


Sujet :

Requêtes et SQL.

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 362
    Points : 132
    Points
    132
    Par défaut Calcul et export (Table ou Excel) d'un champ de plus de 255 caractères
    Bonjour à tous,

    J'ai une requête SQL qui calcule un champ d'après une formule basée sur d'autres champs (concaténations notamment).
    Le résultat de ce calcul fait plus de 255 caractères (et ne peut être abrégé...).
    Si j'affiche la requête dans Access, en mode données, je vois bien l'ensemble des caractères du champ, même ceux après 255.
    Seulement, si j'exporte ce résultat dans une table Excel, le champ est tronqué au 255e caractère.
    De même, si je créé une table depuis cette requête (SELECT ... INTO ...), le champ est là encore tronqué.
    Connaissez-vous une parade pour ce problème ?
    Est-il possible, dans un "SELECT INTO", de préciser le format du champ ? (type "Mémo" en l’occurrence)
    Merci d'avance.

    Sylvain M.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 362
    Points : 132
    Points
    132
    Par défaut
    Je viens de trouver une parade, mais peu satisfaisante dans mon cas :
    Si je créé la table de destination avant, avec un champ de type "Mémo", puis que je modifie ma requête en INSERT INTO, les >255 caractères ne sont pas perdus.
    Si il y a une méthode plus propre, je veux bien !

    Merci à vous.

    Sylvain M.

  3. #3
    Community Manager

    Avatar de Malick
    Homme Profil pro
    Community Manager
    Inscrit en
    Juillet 2012
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Community Manager
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9 134
    Points : 83 976
    Points
    83 976
    Billets dans le blog
    15
    Par défaut


    Pour exporter votre requête, vous pouvez vous intéresser à la commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     DoCmd.TransferSpreadsheet acExport, , "NomDeLaRequete", "CheminDuFichierExcel"
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 362
    Points : 132
    Points
    132
    Par défaut
    Merci Milkoseck,
    Pourquoi pas une commande en effet, mais j'espérais que cela soit possible en "simple" SQL.
    Par ailleurs, l'export Excel n'est pas la priorité (même si ce sera utile), mais c'est bien la création d'une table (SELECT INTO) qui me bloque actuellement.
    Pas d'autres pistes ?
    Sylvain M.

  5. #5
    Community Manager

    Avatar de Malick
    Homme Profil pro
    Community Manager
    Inscrit en
    Juillet 2012
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Community Manager
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9 134
    Points : 83 976
    Points
    83 976
    Billets dans le blog
    15
    Par défaut
    Pouvez-vous poster la syntaxe complète de votre code actuel ?

    Il faudra utilisez la balise code pour que ça soit plus lisible sur le forum.
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 362
    Points : 132
    Points
    132
    Par défaut
    Ok.
    Mais alors "on ne se moque pas !" (je suis certain que ma formule n'est pas optimisée...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT SYNTHESE_MAILLES_SCORES.NBESPECES, SYNTHESE_MAILLES_SCORES.NBDONNEES, SYNTHESE_MAILLE_ESPECES_TCD.IDMAILLE, IIf([Aeshna affinis] Is Not Null,"Aeshna affinis (" & [Aeshna affinis] & ")<br>","") & IIf([Aeshna cyanea] Is Not Null,"Aeshna cyanea (" & [Aeshna cyanea] & ")<br>","") & IIf([Aeshna grandis] Is Not Null,"Aeshna grandis (" & [Aeshna grandis] & ")<br>","") & IIf([Aeshna isoceles] Is Not Null,"Aeshna isoceles (" & [Aeshna isoceles] & ")<br>","") & IIf([Aeshna mixta] Is Not Null,"Aeshna mixta (" & [Aeshna mixta] & ")<br>","") & IIf([Anax imperator] Is Not Null,"Anax imperator (" & [Anax imperator] & ")<br>","") & IIf([Anax parthenope] Is Not Null,"Anax parthenope (" & [Anax parthenope] & ")<br>","") & IIf([Boyeria irene] Is Not Null,"Boyeria irene (" & [Boyeria irene] & ")<br>","") & IIf([Brachytron pratense] Is Not Null,"Brachytron pratense (" & [Brachytron pratense] & ")<br>","") & IIf([Calopteryx splendens] Is Not Null,"Calopteryx splendens (" & [Calopteryx splendens] & ")<br>","") & IIf([Calopteryx virgo] Is Not Null,"Calopteryx virgo (" & [Calopteryx virgo] & ")<br>","") & IIf([Ceriagrion tenellum] Is Not Null,"Ceriagrion tenellum (" & [Ceriagrion tenellum] & ")<br>","") & IIf([Chalcolestes viridis] Is Not Null,"Chalcolestes viridis (" & [Chalcolestes viridis] & ")<br>","") & IIf([Coenagrion mercuriale] Is Not Null,"Coenagrion mercuriale (" & [Coenagrion mercuriale] & ")<br>","") & IIf([Coenagrion puella] Is Not Null,"Coenagrion puella (" & [Coenagrion puella] & ")<br>","") & IIf([Coenagrion pulchellum] Is Not Null,"Coenagrion pulchellum (" & [Coenagrion pulchellum] & ")<br>","") & IIf([Coenagrion scitulum] Is Not Null,"Coenagrion scitulum (" & [Coenagrion scitulum] & ")<br>","") & IIf([Cordulegaster boltonii] Is Not Null,"Cordulegaster boltonii (" & [Cordulegaster boltonii] & ")<br>","") & IIf([Cordulia aenea] Is Not Null,"Cordulia aenea (" & [Cordulia aenea] & ")<br>","") & IIf([Crocothemis erythraea] Is Not Null,"Crocothemis erythraea (" & [Crocothemis erythraea] & ")<br>","") & IIf([Enallagma cyathigerum] Is Not Null,"Enallagma cyathigerum (" & [Enallagma cyathigerum] & ")<br>","") & IIf([Erythromma lindenii] Is Not Null,"Erythromma lindenii (" & [Erythromma lindenii] & ")<br>","") & IIf([Erythromma najas] Is Not Null,"Erythromma najas (" & [Erythromma najas] & ")<br>","") & IIf([Erythromma viridulum] Is Not Null,"Erythromma viridulum (" & [Erythromma viridulum] & ")<br>","") & IIf([Gomphus pulchellus] Is Not Null,"Gomphus pulchellus (" & [Gomphus pulchellus] & ")<br>","") & IIf([Gomphus simillimus] Is Not Null,"Gomphus simillimus (" & [Gomphus simillimus] & ")<br>","") & IIf([Gomphus vulgatissimus] Is Not Null,"Gomphus vulgatissimus (" & [Gomphus vulgatissimus] & ")<br>","") & IIf([Hemianax ephippiger] Is Not Null,"Hemianax ephippiger (" & [Hemianax ephippiger] & ")<br>","") & IIf([Ischnura elegans] Is Not Null,"Ischnura elegans (" & [Ischnura elegans] & ")<br>","") & IIf([Ischnura pumilio] Is Not Null,"Ischnura pumilio (" & [Ischnura pumilio] & ")<br>","") & IIf([Lestes barbarus] Is Not Null,"Lestes barbarus (" & [Lestes barbarus] & ")<br>","") & IIf([Lestes dryas] Is Not Null,"Lestes dryas (" & [Lestes dryas] & ")<br>","") & IIf([Lestes sponsa] Is Not Null,"Lestes sponsa (" & [Lestes sponsa] & ")<br>","") & IIf([Lestes virens] Is Not Null,"Lestes virens (" & [Lestes virens] & ")<br>","") & IIf([Leucorrhinia pectoralis] Is Not Null,"Leucorrhinia pectoralis (" & [Leucorrhinia pectoralis] & ")<br>","") & IIf([Libellula depressa] Is Not Null,"Libellula depressa (" & [Libellula depressa] & ")<br>","") & IIf([Libellula fulva] Is Not Null,"Libellula fulva (" & [Libellula fulva] & ")<br>","") & IIf([Libellula quadrimaculata] Is Not Null,"Libellula quadrimaculata (" & [Libellula quadrimaculata] & ")<br>","") & IIf([Onychogomphus forcipatus] Is Not Null,"Onychogomphus forcipatus (" & [Onychogomphus forcipatus] & ")<br>","") & IIf([Onychogomphus uncatus] Is Not Null,"Onychogomphus uncatus (" & [Onychogomphus uncatus] & ")<br>","") & IIf([Orthetrum albistylum] Is Not Null,"Orthetrum albistylum (" & [Orthetrum albistylum] & ")<br>","") & IIf([Orthetrum brunneum] Is Not Null,"Orthetrum brunneum (" & [Orthetrum brunneum] & ")<br>","") & IIf([Orthetrum cancellatum] Is Not Null,"Orthetrum cancellatum (" & [Orthetrum cancellatum] & ")<br>","") & IIf([Orthetrum coerulescens] Is Not Null,"Orthetrum coerulescens (" & [Orthetrum coerulescens] & ")<br>","") & IIf([Oxygastra curtisii] Is Not Null,"Oxygastra curtisii (" & [Oxygastra curtisii] & ")<br>","") & IIf([Platycnemis acutipennis] Is Not Null,"Platycnemis acutipennis (" & [Platycnemis acutipennis] & ")<br>","") & IIf([Platycnemis pennipes] Is Not Null,"Platycnemis pennipes (" & [Platycnemis pennipes] & ")<br>","") & IIf([Pyrrhosoma nymphula] Is Not Null,"Pyrrhosoma nymphula (" & [Pyrrhosoma nymphula] & ")<br>","") & IIf([Somatochlora flavomaculata] Is Not Null,"Somatochlora flavomaculata (" & [Somatochlora flavomaculata] & ")<br>","") & IIf([Somatochlora metallica] Is Not Null,"Somatochlora metallica (" & [Somatochlora metallica] & ")<br>","") & IIf([Sympecma fusca] Is Not Null,"Sympecma fusca (" & [Sympecma fusca] & ")<br>","") & IIf([Sympetrum danae] Is Not Null,"Sympetrum danae (" & [Sympetrum danae] & ")<br>","") & IIf([Sympetrum flaveolum] Is Not Null,"Sympetrum flaveolum (" & [Sympetrum flaveolum] & ")<br>","") & IIf([Sympetrum fonscolombii] Is Not Null,"Sympetrum fonscolombii (" & [Sympetrum fonscolombii] & ")<br>","") & IIf([Sympetrum meridionale] Is Not Null,"Sympetrum meridionale (" & [Sympetrum meridionale] & ")<br>","") & IIf([Sympetrum pedemontanum] Is Not Null,"Sympetrum pedemontanum (" & [Sympetrum pedemontanum] & ")<br>","") & IIf([Sympetrum sanguineum] Is Not Null,"Sympetrum sanguineum (" & [Sympetrum sanguineum] & ")<br>","") & IIf([Sympetrum striolatum] Is Not Null,"Sympetrum striolatum (" & [Sympetrum striolatum] & ")<br>","") & IIf([Sympetrum vulgatum] Is Not Null,"Sympetrum vulgatum (" & [Sympetrum vulgatum] & ")<br>","") AS SYNTHESE INTO SYNTHESE_MAILLES_TBL_2015
    FROM SYNTHESE_MAILLE_ESPECES_TCD INNER JOIN SYNTHESE_MAILLES_SCORES ON SYNTHESE_MAILLE_ESPECES_TCD.IDMAILLE = SYNTHESE_MAILLES_SCORES.IDMAILLE
    ORDER BY SYNTHESE_MAILLE_ESPECES_TCD.IDMAILLE;
    Pour expliquer : j'ai une requête avec un champ par espèce (SYNTHESE_MAILLE_ESPECES_TCD) et la date de la dernière observation en valeur, ainsi qu'une requête avec des "scores" (SYNTHESE_MAILLES_SCORES). Les nom des espèces sont tous les noms latins qui doivent vous paraître exotiques
    Je les assemble, et je créé un champ "SYNTHESE" qui liste l'ensemble des espèces de la maille, avec la dernière année d'observation. Ce champ est formaté dans le but d'être utilisé plus tard sur une page HTML, d'où les "<br>" :
    Voici le résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Calopteryx splendens (2014)<br>Calopteryx virgo (2014)<br>Cordulegaster boltonii (2006)<br>Enallagma cyathigerum (2014)

Discussions similaires

  1. [Toutes versions] Export table vers Excel
    Par macgyver44 dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/12/2011, 18h27
  2. [AC-2007] Export Table vers excell, word problème accent
    Par liberto31 dans le forum VBA Access
    Réponses: 0
    Dernier message: 22/06/2010, 17h03
  3. [VBA ACCESS]Export Table sous Excel
    Par mathieu44800 dans le forum VBA Access
    Réponses: 2
    Dernier message: 14/02/2008, 14h57
  4. [VBA Access] Export Table sous Excel avec fenetre de dialogue
    Par trihanhcie dans le forum VBA Access
    Réponses: 4
    Dernier message: 13/07/2007, 14h14
  5. Réponses: 2
    Dernier message: 12/09/2006, 13h01

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