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 :

Aide plus précise (que FAQ et tutoriels) sur la concaténation [AC-2003]


Sujet :

Requêtes et SQL.

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 8
    Points : 2
    Points
    2
    Par défaut Aide plus précise (que FAQ et tutoriels) sur la concaténation
    Bon aller on la refait !!

    Bonjour à tous, j'aimerais que l'on m'aide pour une requete SQL, je suis aussi bien novice en access que pour les forums, donc j'ai un peut de mal.

    Mon problème:
    j'ai une table comportant 3 champs (ELT_PERE ; ATT_LIB ; ELT_FILS)
    et je voudrais concaténer les données du champ ELT_FILS en fonction du champ 'ELT_PERE' ET du champ 'ATT_LIB'.

    sachant que j'ai déja créé ma fonction "concat" et ma requete mais lors de l'execution de celle-ci le champ 'ELT_FILS' est vide .

    Je suis peut etre une buse, mais j'ai regarder les tuto ici et les faq aussi, mais à chaque fois les tables contiennent que 2 champs dans les ex:

    SVP aidez-moi ! je galere!

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Que ce soit pour 2 ou plus de champs, le principe est le même, on utilise le caractère & pour concaténer.

    Il faudrait que tu détailles cette phrase :

    je voudrais concaténer les données du champ ELT_FILS en fonction du champ 'ELT_PERE' ET du champ 'ATT_LIB'.
    En fonction de , y a-t-il des conditions ?

    Philippe

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Oui effectivement c'est ce à quoi j'avais pensé mais le souci c'est que je ne sais pas comment l'écrire au sein de ma requête et de ma fonction!!

    Dès que j'essaie d'insérer un & ou + ou 'AND' il me fait erreur de syntaxe!

    Le mieux c'est de te montrer ma requête :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT ELT_PERE, ATT_LIB, ConcatForQuery("ELT_PERE",[ELT_PERE],"ATT_LIB",[ATT_LIB],"ELT_FILS","CE"," - ") AS ELT_FILS_C INTO CE_C
    FROM CE
    GROUP BY ELT_PERE, ATT_LIB
    ORDER BY ELT_PERE;

    si tu veux aussi peut être le code de la fonction ca sera pi être plus compréhensible je ne sais pas du tout ce dont vous avez besoin ?

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Oups j'ai oublié quelque chose ... :

    ma table de départ :
    ELT_PERE ATT_LIB ELT_FILS
    A AA 1
    A AA 2
    A AB 3
    B AB 4
    B AB 5
    C AA 6
    C AA 7

    en gros voila la table de FIN :

    ELT_PERE ATT_LIB ELT_FILS_C
    A AA 1 - 2
    A AB 3
    B AB 4 - 5
    C AA 6 - 7

    Ceci pour répondre (quelles sont les conditions? )

  5. #5
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    bonjour
    voici un exemple de ce que tu peux faire
    il faut que tu passe par un module pour concatener en ligne
    une premiere requete pour regrouper et concatener pere et lib (ce1) et une 2 eme pour regrouper en ligne (concatener)
    dans le module il faudra modifier cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SQL = "SELECT elt_fils FROM ce1 WHERE conca =" & _
              Chr(34) & Nom & Chr(34)

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    j'ai déjà fait un module pour concaténer ELT_FILS et cela fonctionne nikel uniquement si dans ma table j'ai 2 champs : ATT_LIB et ELT_FILS mais dés que je rajoute le champ ELT_PERE pouf Elt_FILS devient vide


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Public Function ConcatForQuery(strRegroup As String, fldRegroup As String, strRegroup1 As String, fldRegroup1 As String, strConcat As String, strTable As String, Optional strSep As String = ".") As String
     
    Dim db As DAO.Database
    Dim rst As DAO.Recordset
    Dim strResult As String
    Dim strRst As String
     
    Set db = CurrentDb()
    strRst = "SELECT * From [" & strTable & "] " & "WHERE ([" & strRegroup & "] = """ & fldRegroup & """[" & strRegroup1 & "] = """ & fldRegroup1 & ")""-"
     
    Set rst = db.OpenRecordset(strRst, dbOpenDynaset)
    With rst
         If Not .BOF Then
            .MoveFirst
            Do Until .EOF
              If strResult = "" Then
                strResult = .Fields(strConcat)
                Else
                strResult = strResult & strSep & .Fields(strConcat)
                End If
            .MoveNext
            Loop
        End If
    End With
     
    rst.Close: Set rst = Nothing
    db.Close: Set db = Nothing
    ConcatForQuery = strResult
     
    End Function
    ou alors j'ai pas tout compris comment ca fonctionnait ??

  7. #7
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    as tu regardé mon model ?
    correspond t'il a ton besoin?

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Oui j'ai regarder ton modèle, mais je ne veux concaténer les données QUE de "ELT_FILS", pas des 2 autres champs .. car après la concaténation je fais un traitement en analyse croisée et pour ca j'ai besoin de garder l'intégrité des données de "ELT_PERE" et de "ATT_LIB".

    Ca c'est ce que j'ai:
    ELT_PERE / ATT_LIB / ELT_FILS
    A -------/ AA --------/ 1
    A -------/ AA --------/ 2
    A -------/ AB --------/ 3
    B -------/ AB --------/ 4
    B -------/ AB --------/ 5
    C -------/ AA --------/ 6
    C -------/ AA --------/ 7

    Et ca c'est ce que je veux avoir:

    ELT_PERE/ ATT_LIB/ ELT_FILS_C
    A ------/ AA ------/ 1;2
    A ------/ AB ------/ 3
    B ------/ AB ------/ 4;5
    C ------/ AA ------/ 6;7

    Merci quand même ca me servira pour une prochaine fois en tout cas!!

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    petite Question :

    est-ce possible de faire un Double WHERE dans une requête? Cela pourrait peut-être me débloquer !! un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     SELECT * FROM CE WHERE "blabla" AND WHERE "toto" ...

  10. #10
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    je ne vois pas ou est le probleme apres quelque modification sur les requetes

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    J'avais pas pensé à faire ca en deux fois!!! je vais essayer ca de suite !! merci ...

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    OUAIS ca marche nikel !!!

    MERCI beaucoup ! je penserait plus souvent à faire ca par étapes !!

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

Discussions similaires

  1. Une localisation plus précise que la triangulation
    Par Karly dans le forum Android
    Réponses: 8
    Dernier message: 04/04/2012, 02h28
  2. Tutoriels pour WPF . . . Un peut plus poussés que le "Hello World"
    Par smyley dans le forum Windows Presentation Foundation
    Réponses: 11
    Dernier message: 06/01/2008, 12h23
  3. plus grand que sur une variable BigDecimal
    Par Bindy dans le forum Langage
    Réponses: 2
    Dernier message: 14/06/2007, 09h52
  4. aide pour créer une faq sur inno setup
    Par fsx999 dans le forum Langage
    Réponses: 3
    Dernier message: 12/06/2006, 20h16
  5. [Interface d'aide]Plus simple que Javahelp ?
    Par Baptiste Wicht dans le forum Interfaces Graphiques en Java
    Réponses: 10
    Dernier message: 05/05/2006, 16h09

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