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 :

Forms : zone de texte independante lié a zone source


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 19
    Points : 16
    Points
    16
    Par défaut Forms : zone de texte independante lié a zone source
    Ce ne doit pas etre tres compliqué (en tout cas pour vous).
    Je crée deux tables.

    1ere table: SALARIES
    champ1 : cle
    champ2 : nom
    champ3 : prenom

    2eme table : APPRECIATIONS
    champ1 : cle
    champ2 : salaries
    champ3 : appreciation1
    champ4 : appreciation 2
    .....

    Les tables 1 et 2 sont liées respectivement par les champ1 et 2.

    Dans mon formulaire, je souhaiterais afficher sous forme de tableau :
    Nom | Prenom | Appreciation1 | Appreciation2 |....

    En source de mon formulaire, j'ai la table APPRECIATIONS, donc pour les colones "Appreciation1" et "Appreciations2", pas de probleme pour afficher la valeur.
    La ou j'ai un probleme, c'est pour les champs "nom" et "prenom", je ne sais pas quoi renseigné dans Source contrôle" pour afficher la correspondance avec le reste.
    J'ai essayé des requetes du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Select nom from salaries where cle = Me.salaries"
    mais ca ne fonctionne pas.

    Pouvez vous me donner un petit coup de main s'il vous plait...

    Merci d'avance.

  2. #2
    Membre expérimenté
    Avatar de Papy Turbo
    Homme Profil pro
    Développeur Office/VBA
    Inscrit en
    Mars 2004
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Office/VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 822
    Points : 1 709
    Points
    1 709
    Par défaut
    2 choses :
    Les tables 1 et 2 sont liées respectivement par les champ1 et 2.
    Ça me paraît trop. Une seule clé suffit, si elle est unique, et que c'est la même dans les 2 tables.
    Qu'y a t'il dans le champ 'Salariés' de la table 'Appreciations' ? S'il y a le nom, identique à celui de la table Salaries, tu as une redondance : ce champ doit être supprimé.

    Sinon, tu dois
    - créer une requête
    - qui contient les deux tables
    - avec une jointure gauche sur la clé
    - qui contient tous les champs, y compris le nom et le prénom de chaque salarié.
    Tu la mets en source du formulaire et tu peux sélectionner le 'nom'... comme source de contrôle.

    Si tu as besoin d'aide pour la requête, voir cours de Maxence Hubiche sur les jointures
    Développement Office, support technique, assistance, sur place (Loire atlantique, Vendée, Maine et Loire) ou à distance.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    Les tables ne sont liées que par un champ :
    SALARIES;champ1(cle) --------------------APPRECIATIONS;champ2

    Qu'y a t'il dans le champ 'Salariés' de la table 'Appreciations' ? S'il y a le nom, identique à celui de la table Salaries, tu as une redondance : ce champ doit être supprimé.
    Je suis bien obligé de rappelé la cle de salarié dans la table APPRECIATIONS, sinon, comment puis je savoir qui est concerné par l'appreciation...

    Sinon, tu dois
    - créer une requête
    - qui contient les deux tables
    - avec une jointure gauche sur la clé
    - qui contient tous les champs, y compris le nom et le prénom de chaque salarié.
    Tu la mets en source du formulaire et tu peux sélectionner le 'nom'... comme source de contrôle.
    Je n'ai pas utiliser cette solution , car ainsi, je me prive de la possibilité de modifier les appreciations affichées sur le formulaire.

    J'aI trouver une solution a mon probleme, je sais pas si c'est la plus adequate, mais elle est opérationnelle :
    j'ai créé deux fonctions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public Function recup_name() As String
    On Error Resume Next
    recup_name = DLookup("Nom", "Salaries", "Cle = " & Forms!Accueil.Salaries)
    End Function
     
    Public Function recup_prenom() As String
    On Error Resume Next
    recup_prenom = DLookup("Prenom", "Salaries", "Cle = " & Forms!Accueil.Salaries)
    End Function
    Ensuite, source de controle de mon champ :
    _ nom : =recup_name()
    _ prenom : = recup_prenom()

    Voila, c'est ma solution, cependant, si quelqu'un en a une meilleure, je serais ravis de l'ecouter, je mets cependant le tag resolu, car j'ai UNE solution.
    Merci de ton aide papy turbo

  4. #4
    Membre expérimenté
    Avatar de Papy Turbo
    Homme Profil pro
    Développeur Office/VBA
    Inscrit en
    Mars 2004
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Office/VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 822
    Points : 1 709
    Points
    1 709
    Par défaut
    Ta solution peut marcher, mais elle sera extrêmement lente.

    Excuse moi, on s'était mal compris sur la liaison entre tables et le contenu du champ 'salaries' : c'est la clé du salarié (je croyais que c'était le nom !)

    Je n'ai pas utiliser cette solution , car ainsi, je me prive de la possibilité de modifier les appreciations affichées sur le formulaire.
    Tu ne te prives de rien : j'ai dit qu'il te faut tous les champs des 2 tables, y compris les appreciations, que tu pourras aussi modifier, bien sûr.
    Sauf : le seul champ à ne pas faire figurer 2 fois sera la clé du salarié. Tu n'en mets qu'une, bien sûr, de préférence celle de la table Salaries.
    Développement Office, support technique, assistance, sur place (Loire atlantique, Vendée, Maine et Loire) ou à distance.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 11/02/2010, 22h00
  2. Réponses: 2
    Dernier message: 09/01/2008, 14h39
  3. Réponses: 1
    Dernier message: 28/03/2007, 11h38
  4. copie d'une zone de texte vers une autre zone de texte
    Par db48752b dans le forum Access
    Réponses: 7
    Dernier message: 23/08/2006, 08h41
  5. DLookUp et zones de texte independantes
    Par Tatoine dans le forum Access
    Réponses: 10
    Dernier message: 06/07/2006, 09h20

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