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 :

Affichage d'un champ perso et non l'ID [AC-2010]


Sujet :

IHM

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    554
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 554
    Points : 181
    Points
    181
    Par défaut Affichage d'un champ perso et non l'ID
    Bonjour à tous,

    Je fais un report d'une table candidat qui possède les champs suivants:

    Nom
    Prénom
    Qualification
    Spécialité

    Qualification et Spécialité possède des ID d'enregistrement de la table qualification et specialite. Car les qualifications et spécialités sont fixées.

    Du coup, dans mon report, ce sont les ID qui s'affichent directement. J'aimerai en fait qu'il aille implicitement chercher dans la table qualification et specialite pour afficher la valeur correspondant à cet ID.

    J'espère que je suis clair ?

    Merci et à bientôt !

  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
    Il faut faire une jointure sur les tables qui contiennent tes infos en clairs.

    Avec l'éditeur de requête, tu fait afficher les 2 tables de décodages, tu fais les liens entre ces tables et ta source de données principale.

    Puis tu glisses les champs qui t'intressent dans les champs affichés.

    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
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    554
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 554
    Points : 181
    Points
    181
    Par défaut
    Merci !

    Mais je suis vraiment débutant... J'ai pas encore réussi. En fait je ne voit pas le rapport entre mon report et une query. En cherchant un peu plus j'ai créé des relationships entre mes tables. Mais mon report affiche toujours les IDs.

    Quand je suis en design view pour le report, après avoir sélectionné un champ, il y a un bouton avec "..." qui ouvre le "Expression builder". C'est là dedans que je dois faire quelque chose ?

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

    Il faut baser ton état sur une requête qui reprend les éléments que tu souhaites afficher et non la table.

    Philippe

  5. #5
    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
    Citation Envoyé par black is beautiful Voir le message
    Merci !

    Mais je suis vraiment débutant... J'ai pas encore réussi. En fait je ne voit pas le rapport entre mon report et une query. En cherchant un peu plus j'ai créé des relationships entre mes tables. Mais mon report affiche toujours les IDs.

    Quand je suis en design view pour le report, après avoir sélectionné un champ, il y a un bouton avec "..." qui ouvre le "Expression builder". C'est là dedans que je dois faire quelque chose ?
    La requête est la source de données de ton rapport. Les requêtes sont aussi un des moyens de rendre ta BD 'intelligente', c-à-d d'être plus qu'un simple tas de données.

    Comme l'a mentionné Philippe JOCHMANS tu as du créer ton rapport directement à partir de la table.

    Dans le rapport pour créer une requête il suffit d'aller dans la propriété Source de données et d'appuyer sur le bouton [...]. Il va te proposer de créer une requête et là tu vas te retrouver dans l'éditeur de requête que j'ai mentionné.

    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.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    554
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 554
    Points : 181
    Points
    181
    Par défaut
    Intéressant comme fonctionnalité !

    J'arrive maintenant à faire ma requête et j'ai ajouté tous les champs que je veux y afficher depuis la table candidat.

    Le problème c'est qu'il y a toujours les IDs dans les colonnes qualification 1, specialite, etc.

    J'ai donc essayé de glisser le champ qualification 1 vers le champ N de la table qualification. Un lien apparait mais ensuite si je fais un Run de ma requête, j'ai l'erreur "Type mismatch [...]" et si je le glisse vers le champ qualification, plus d'erreur mais je n'ai plus aucun enregistrement. J'ai aussi tenté de changé le champ table en dessous de qualification 1 en mettant qualification, mais au moment du Run j'ai une fenêtre "Enter parameter value" qui apparaît.

    J'avais prévenu, je suis vraiment débutant

    Qu'est-ce que j'ai mal compris ?

    Merci

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

    Tu n'as pas de liaisons entre tes tables ?

    Je pense que tu as un gros problème de conception à la vue de ta table candidat.

    Il te faut un seul champ Spécialité (de même pour le champ qualification) dans la table candidat et entre tes tables (Spécialités et qualification) des tables avec le Numéro du candidat et le numéro de spécialité pour avoir une relation plusieurs à plusieurs.

    Philippe

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    554
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 554
    Points : 181
    Points
    181
    Par défaut
    Ok je vois, je vais effectivement changé ça pour avoir ce genre de relation. C'est en fait une base faite par quelqu'un d'autre, du coup, parfois, j'ai du mal à comprendre sa logique

    Avant ça je voudrais réussir à lier un champ, par exemple qualification 1, je l'ai glissé vers la table qualification. J'ai modifié l'image, voici ce que j'ai maintenant en cliquant sur Run:

    http://www.mouveko.com/test.jpg

    Si je ne mets rien dans la fenêtre, aucun enregistrement ne s'affiche. À quoi sert cette fenêtre ?

    Merci pour tous ces conseils

  9. #9
    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
    Quand Access ne trouve pas un champ dans ses sources de données, il suppose que c'est un paramètre qui sera fourni par l'utilisateur.

    Là tu cherches à afficher un champ [Logiciel 1] supposé être dans la table [Logiciel] mais il n'y a pas de champ [Logiciel 1], du moins que je vois, donc Access te demande de compléter l'info.

    Ta requête est suspecte, tu sembles avoir coder un produit croisé (c-à-d tous les enregistrement d'une table multiplié par tous les enregistrements d'une autre table).

    Probablement que tu devrais avoir autant de tables [Qualification], [Logiciel] et [spécialité_candidat] que tu as série de champs [Qualification], [Logiciel] et [spécialité_candidat] dans la table quandidat.

    Et il faudrait sans doute aussi autant de jointure.

    Note que généralement on adopte la structure suivante :

    Table Candidat
    ClefCandidat

    Table AssCandidatQualification
    ClefCandidat
    ClefQualification

    Table AssCandidatLogiciel
    ClefCandidat
    ClefLogiciel

    Table AssCandidatSepcialite
    ClefCandidat
    ClefSpecialite

    Ce qui permet facilement de sortir toutes les qualifications, logiciels et spécialités d'un candidat.

    Cela permet aussi d'avoir autant de qualifications, logiciels et spécialités qu'on en a besoin pour un candidat SANS avoir a changer l'applictaion chaque fois qu'on ajoute un nouvel élément pour un candidat.

    Enfin prend l'habitude d'encadrer de [ ] les noms de champs qui comporte des blancs et si possible évite les carrément. On peut avantageusement remplacer les blancs par _.

    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.

  10. #10
    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
    Probablement que tu devrais avoir autant de tables [Qualification], [Logiciel] et [spécialité_candidat] que tu as série de champs [Qualification], [Logiciel] et [spécialité_candidat] dans la table quandidat.
    Pour faire cela ajouter autant de fois que nécessaire la table voulue. Access va ajouter _N à la fin de nom de la table où N est un numéro (ex [Logiciel_1], sera la 2ième occurance de la table [logiciel] dans cette requête, elle devrait être en jointure avec le champ [Logiciel 1] de la table [Candidat]).

    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.

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    554
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 554
    Points : 181
    Points
    181
    Par défaut
    Merci beaucoup, ça marche maintenant !

    Merci à tous pour votre aide.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/03/2015, 12h29
  2. Réponses: 3
    Dernier message: 13/11/2008, 23h55
  3. compter le nombre d'affichage d'un champs (XSLT)
    Par casafree dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 22/08/2005, 09h05
  4. [CR8.5] Pb affichage d'un champs paramètre
    Par Petatort dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 18/04/2005, 18h03
  5. [Quick Report] Valeur d'un champ existante mais non affichée
    Par navis84 dans le forum Bases de données
    Réponses: 1
    Dernier message: 31/03/2005, 09h15

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