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 :

Mise en forme de requêtes Access


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2008
    Messages : 7
    Points : 1
    Points
    1
    Par défaut Mise en forme de requêtes Access
    Bonjour à tous,
    bravo ;-) pour ce site plein de vie, et de réponses intéressantes.

    Je fais appel à vos connaissances, je débute acces et j'ai un soucis de mis en
    forme de donnée.


    J'ai une requette qui me sort le résultat suivant

    Jean|32ans|Poire|Fruit|
    Jean|32ans|Courgette|Légume|
    Jean|32ans|Brun|
    Paul....
    Paul...
    ...


    Je souhaite obtenir dans une nouvelle table et l'exporter vers un fichier excel
    le résultat suivant:
    Jean|32ans|Poire|Fruit|Courgette|Légume|Brun|
    Paul....

    ..

    Merci de votre aide désolé , si c'est une question bête pour certain.
    Mais là, je coince.

    Tibun1
    On passe notre vie à apprendre bien que nos capacités d'enregistrement diminuent avec le temps.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 629
    Points : 34 335
    Points
    34 335
    Par défaut
    Bonjour tibun1,
    bienvenue sur DVP
    tu as à ta disposition de nombreuses ressources, parmi lesquelles une
    dans laquelle bon nombre de "questions types" sont résolues.
    Ici, je te recommande de lire l'article suivant : http://access.developpez.com/sources...QLLigneColonne

    Si certains points restent obscurs, n'hésite pas à venir nous poser d'autres questions.

    Bon courage
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2008
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Salut,
    merci pour tes lumières, ca fonctionne à moitié,
    je voudrais maintenant créer autant de colone
    qu'il y a de participants des ton exemple de faq.

    Merci

  4. #4
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut jpcheck et bienvenu tibun1,

    regarde l'assistant requete "analyse croisée" si cela ne te conviendrait pas.

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2008
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Salut,

    avec l'analyse croisé ca ne fonctionne pas,
    je n'arrive pas a obtenir le résultat.

  6. #6
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    poste nous la structure de tes tables, stp.

  7. #7
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 629
    Points : 34 335
    Points
    34 335
    Par défaut
    et ton code actuel si celui-ci ne t'apporte pas entière satisfaction stp
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2008
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Merci,

    ci-joint ma table Tbl_Projet

    Commune Emetteur
    ABANACOURT 915005M50
    ABANACOURT 750000F60
    ABANACOURT 916500G10
    PARIS 750000F60
    PARIS 916500G10
    ROUEN 652802F50
    ROUEN 765015F40
    ROUEN 750000F60

    mon module

    Public Function RecupEmetteur(Commune As Text) As String
    Dim res As DAO.Recordset
    Dim SQL As String
    'Selectionne les participant du projet
    SQL = "SELECT Emetteur FROM Tbl_Projet WHERE Commune=" & Commune
    Set res = CurrentDb.OpenRecordset(SQL)
    'Concatene les différents enregistrement
    While Not res.EOF
    RecupEmetteur = RecupEmetteur & res.Fields(0).Value & " | "
    res.MoveNext
    Wend
    'Enleve le dernier espace
    RecupEmetteur = Left(RecupEmetteur, Len(RecupEmetteur) - 1)
    'libere la mémoire
    Set res = Nothing
    End Function

    ma requete

    SELECT DISTINCT Tbl_projet.Commune, RecupEmetteur(Commune) AS LesEmetteurs
    FROM Tbl_projet;

    Le résultat souhaité
    Commune Emetteur1 Emetteur2
    ABANACOURT 915005M50 750000F60
    PARIS 750000F60 916500G10

    en plus j'ai un problème 3464

  9. #9
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    avec une requete analyse croisée:

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    TRANSFORM First(Emetteur) AS PremierDeEmetteur
    SELECT Commune
    FROM
    Tbl_Projet
    GROUP BY Commune
    PIVOT "Emetteur " & dcount("*","Tbl_Projet","emetteur<='" & emetteur & "' and commune='" & commune & "'");

  10. #10
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2008
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup vodiem,

    J'ai une encore erreur car dans une de mes communes j'ai un apostrophe (AGEN-D'AVEYRON), comment puis-je luis dire pour passe outre?

    Sans abuser, si je ne souhaite que les 2 premiers, il y a possibilité de l'inclure dans la requete.



  11. #11
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    voilà avec le correctif de l'apostrophe avec limitation à 2 émetteurs.
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    TRANSFORM First(Emetteur) AS PremierDeEmetteur
    SELECT Commune
    FROM Tbl_Projet WHERE dcount("*","Tbl_Projet","emetteur<='" & emetteur & "' and commune='" & replace(commune,"'","''") & "'")<=2
    GROUP BY Commune
    PIVOT "Emetteur " & dcount("*","Tbl_Projet","emetteur<='" & emetteur & "' and commune='" & replace(commune,"'","''") & "'");

  12. #12
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2008
    Messages : 7
    Points : 1
    Points
    1
    Par défaut

    :Merci: vodiem

    Ta requette fonctionne super bien, y a t-il moyen de optimiser le temps de traitement. J'ai utilisé ta requete sur une table contenant 70 000 lignes, ça m'a pris 2h avec un Core2Duo de 2Ghz avec 2Go de Ram.
    merci

  13. #13
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    il est possible d'optimiser:
    la lenteur viens de dcount et replace.

    .en créant une requete insertion qui rajoute le champ <Emetteur x> (de la parti pivot) dans une nouvelle table.
    .d'effectuer une requete update pour l'apostrophe.
    .faire la requete analyse croisé par l'assistant, tu auras cette fois ci tes trois champs nécessaire pour pouvoir y arriver).

    exécuter tout cela dans une procédure.
    je ne s'aurais dire le gain de temps mais c'est reconnu que les requetes analyse croisée sont plus rapide à partir de table et que de requete.

  14. #14
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2008
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    merci
    bonne journée

Discussions similaires

  1. [AC-2002] Mise en forme de table Access sous Excel
    Par dybmans dans le forum VBA Access
    Réponses: 9
    Dernier message: 31/07/2013, 11h22
  2. Mise en forme conditionnelle sous Access 2007
    Par dsolheid dans le forum IHM
    Réponses: 8
    Dernier message: 18/12/2007, 15h26
  3. Mise en forme conditionnelle avec Access 97
    Par soso78 dans le forum IHM
    Réponses: 4
    Dernier message: 22/11/2007, 20h25
  4. [ACCESS-EXCEL] Mise en forme des tableaux
    Par mpascolo dans le forum Access
    Réponses: 4
    Dernier message: 20/10/2005, 16h03
  5. Mise en forme fichier xls à partir d'access
    Par Bigdeal dans le forum VBA Access
    Réponses: 2
    Dernier message: 27/09/2005, 15h47

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