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

IHM Discussion :

Afficher sous forme liste avec séparateur dans un état, les résultats de la requête


Sujet :

IHM

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2020
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Afficher sous forme liste avec séparateur dans un état, les résultats de la requête
    Bonjour,

    Voici mon problème galère :
    - j'ai créé une requête avec 3 champs : [insee] et [nom] proviennent d'une table de communes, et un autre créé champ3:[nom]&" "&[insee].
    - Dans un état existant, je voudrais intégrer un sous-état avec tous les champ3 résultant de la requête.

    Sur le principe ça ne me pose pas de difficulté ... SAUF que je veux que mon sous-état montre un affichage tel que : champ3 ; champ3 ; champ3; etc

    Je ne sais pas si c'est clair, mais mon souhait est d'afficher dans le sous-état les résultats de la requête sous une forme de zone unique avec ";" comme séparateur.

    Pouvez-vous m'aider en ce sens ?

    Merci d'avance.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Tu ne peux pas avec les outils standards.
    Il faut faire du code VBA pour faire la concaténation des données dans un seul champ dans la source et afficher ce champ.

    Idée qui ne nécessite pas de code, pourquoi ne pas faire des colonnes dans ton sous-état ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2020
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Afficher sous forme liste avec séparateur dans un état, les résultats de la requête
    Bonjour et merci de votre retour

    Pour info, il s'agit de remplir un état agrégé par d'autres organismes qui obligent à lister les communes sélectionnées sous la forme :
    Commune1 (insee1) ; Commune2 (insee2) ; etc

    Après avoir cherché toute la journée, je me doutais qu'il fallait du code VBA. Mais lequel ? Je sais pas l'écrire ; par contre je sais aller le mettre dans la fenêtre propriétés d'une zone de texte indépendante que je pourrai créer dans mon état.

    Si quelqu'un a une idée quant à l'écriture de ce code, je suis preneur.

    Merci beaucoup.

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    par contre je sais aller le mettre dans la fenêtre propriétés d'une zone de texte indépendante que je pourrai créer dans mon état.
    C'est bien mais ce n'est pas ce qu'il faut faire.
    Il faut aller modifier la source du rapport.
    si c'est une table, il faut créer une requête.
    Y mettre un champ calculé qui va te donner la liste.
    Afficher ce champ calculé dans le rapport (comme n'importe quel autre champ)

    Pour le calcul, c'est assez simple.

    Il te faut créer un module ou utiliser un module existant.
    Le code ressemble à cela (à adapter à ta réalité) :

    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
    public function Concatener(prmCritereSelCommune as variant) as string
       dim result as string
       dim db as dao.database: set db=currentdb
       dim rData as dao.recordset: set rData=db.openrecordset("NomTaSourceDonnees", dbOpenSnapshot) 'Accède à ce qui va donner la liste des communes concernées
       dim rCommune as dao.recordset: set rCommune=db.openRecordset("reqCommune", dbOpenSnapshot) 'Àccède à la liste des communes.
     
       dim critere as string : critere="[NumINSEE]=" & rdata![NumINSEE] 'Suppose le critère numérique et sur un seul champ. 
     
       call rData.FindFirst(critere)    do while not rData.eof
           'Tant qu'il y a des communes
           call rCommune.findfirst("[NumINSEE]=" & rdata![NumINSEE]) 'Cherche le numéro de la commune dans la liste des communes.
           if result<>"" then
               result=result & "; " 'Ajoute le séparateur
           end if
           result=resullt & rCommune ![Nom] & " (" & rCommune![NumINSEE] & ")"
           call rFindNext(critere) 'prochaine commune 
       loop
     
       rCommune.close: set rCommune=nothing 'ferme après usage
       rData.Close: set rData=nothing 
       db.close: set db=nothing
       Concatener=result 'retourne le texte concaténé
    end function
    dans ta requête source tu mets dans une colonne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListeCommune:Concatener([CritereSelCommune])
    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. Combiner dans un array les résultats de 2 requêtes select
    Par cediosbzh dans le forum Requêtes
    Réponses: 5
    Dernier message: 02/02/2020, 08h42
  2. Réponses: 18
    Dernier message: 14/09/2015, 19h22
  3. Afficher une liste avec photo dans un gridview
    Par peregna2007 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 05/07/2008, 16h52
  4. Réponses: 2
    Dernier message: 04/05/2008, 20h45
  5. Réponses: 2
    Dernier message: 27/06/2007, 14h18

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