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 :

[ETAT] Zone de texte n'affiche pas la valeur demandée [AC-2003]


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2011
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 7
    Points : 6
    Points
    6
    Par défaut [ETAT] Zone de texte n'affiche pas la valeur demandée
    Bonjour,

    Actuellement stagiaire je dois développer une petite application sous access permettant de gérer des saisies d'heures de travail.

    Pour cela j'ai créé un formulaire qui permet d'ajouter un enregistrement dans une table "heures" et qui contient le nom de l'entreprise, le nom du salarié, le nom de la manifestation sur laquelle il a travaillé, le numéro de la semaine où il a travaillé.

    Ensuite j'ai créé un second formulaire qui me permet de faire une requête SQL sur la table "HEURES".

    Cette requête récupère et sélectionne le nom de l'entreprise, le nom du salarié, les semaines travaillées, les manifestations et le nombre d'heures que chaque employé a fait pour les différentes manifestations.
    Après avoir créé la requête le formulaire créé dans le même temps un Etat ou est affiché le résultat de la requête comme ci dessous :


    Tout fonctionne bien, mais il y a juste un problème : la textbox censée faire apparaitre le nom du salarié, fait en fait apparaitre le code du salarié qui est la clé primaire de la table SALARIE.
    Je n'ai pas réussi à afficher le nom du salarié, il ne me manque que ça pour finaliser mon application et je ne comprends pas pourquoi ça fait cela.

    Voici les relations entre les tables :


    Merci d'avance ; ).

  2. #2
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut Solution
    C'est le fait d'avoir remplacé le champ zone de liste déroulante dans l'état par un champ texte qui est à l'origine de cela. Si tu remplaces ce champ par le champ Zone de liste déroulante qui est proposé dans la liste des champs disponibles en mode création, tu auras bien, dans l'état, le nom du salarié choisi dans ton formulaire et non le numéro correspondant à la clé primaire.

    Il y a sans doute moyen de faire autrement (tout cela étant dû au fait que la zone de liste au départ comporte une colonne cachée où figure la clé primaire) mais c'est tout simple à faire comme cela, alors pourquoi chercher à faire compliqué.

  3. #3
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    bonjour
    RobiPMS a bien raison; je te renvoie ta base.
    Dans la table HEURES, tu as créé nom_sal comme ceci:
    Afficher le contrôle:Zone de liste déroulante
    Origine source:Table/Requête
    Contenu:SELECT SALARIE.code_sal, SALARIE.nom_sal FROM SALARIE;
    Tu ne devrais donc pas changer de type de contrôle

    @+
    Fichiers attachés Fichiers attachés

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 154
    Points : 193
    Points
    193
    Par défaut
    Bonsoir à tous.

    Quelque chose me chiffonne.
    Puisque tu as créé un formulaire pour saisir de nouveaux enregistrements dans ta table HEURES, pourquoi ne pas mettre tes zones de listes déroulantes qui vont bien dans ce formulaire et laisser les champs de ta table déclarés en zone de texte ?

    Saisir des données directement depuis une table me semble très dangereux. Un utilisateur non-averti peu à tous moments supprimer, modifier des données par mégarde et/ou qui sait .....

    A mon avis elles doivent totalement inertes et seulement accessibles depuis des formulaires. De ce fait, déclarer des zones de liste dans une table ne me paraît pas judicieux et d'ailleurs ça complique la tâche plus loin... la preuve.

    Je me suis permis de modifier la table HEURES en supprimant les ZDL et .... ça fonctionne.

    A bientôt.
    Fichiers attachés Fichiers attachés

  5. #5
    Futur Membre du Club
    Inscrit en
    Mars 2011
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Merci à vous trois pour vos réponses,
    j'avais finalement réussi avec la méthode de Robi/keita en trifouillant un peu =).

    Dixies : Je n'avais pas pensé à ça, mais de toute façon la base ne sera pas accessible car je compte faire des enregistrements à partir d'une application java, on ne pourra pas modifier directement dans la base =).

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/01/2010, 12h33
  2. Réponses: 6
    Dernier message: 02/10/2006, 12h13
  3. Réponses: 2
    Dernier message: 20/09/2006, 08h58
  4. somme dans etat (zone de texte)
    Par milielf dans le forum Access
    Réponses: 6
    Dernier message: 28/07/2006, 10h52
  5. Réponses: 2
    Dernier message: 09/11/2005, 13h30

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